记得上下班打卡 | git大法好,push需谨慎

Commit 2ddcac1b authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/dev' into dev

parents 82cd57f7 c4b1a927
......@@ -16,6 +16,7 @@ public class AdamRedisConst {
public static final String INFO_THIRD_PARTY = INFO.concat("third_party:");
public static final String INFO_ENTERS = INFO.concat("enters:");
public static final String INFO_ADDRESSES = INFO.concat("addresses:");
public static final String INFO_CERTIFICATION = INFO.concat("certification:");
public static final String INFO_MEMBER_SIMPLE = INFO.concat("member:simple");
public static final String INFO_MEMBER_CATEGORY = INFO.concat("member:category:");
......
......@@ -28,7 +28,9 @@ public interface IAdamRdmService {
AdamRealInfoVo getRealInfoVoByUid(String uid);
void delRealInfoVoByUid(String uid);
boolean setCertification(int idType, String idNo, String idName);
boolean isCertification(int idType, String idNo, String idName);
boolean setThirdPartVoListByUid(String uid, List<AdamThirdPartInfoVo> voList);
......
......@@ -46,6 +46,9 @@ public interface IKylinOrderTicketsService extends IService<KylinOrderTickets> {
//TASK 订单状态
ResponseDto<Integer> checkOrderResult(String orderId);
//TASK 订单状态
ResponseDto<Integer> orderUnPayCount();
// 下单接口(无订单->待支付->可支付)
// 删除订单
......
......@@ -7,6 +7,7 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.PerformanceVoUtils;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.dao.*;
import com.liquidnet.service.kylin.dto.param.*;
import com.liquidnet.service.kylin.dto.vo.admin.KylinPerformanceAgentVo;
......@@ -205,8 +206,20 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
try {
Map<String, Object> map = BeanUtil.convertBeanToMap(performanceAdminListParam);
List<PerformanceAdminListDao> voList = performancesMapper.misPerformanceList(map);
for (PerformanceAdminListDao item : voList) {
item.setStatus(item.getStatus());
if(item.getStatus() >=6 && item.getStatus()!=7){
if (DateUtil.compareStrDay(item.getTimeSell(), DateUtil.getNowTime()) > 0) {//未开始
item.setStatus(9);
} else if (DateUtil.compareStrDay(item.getTimeStop(), DateUtil.getNowTime()) < 0) {//已结束
item.setStatus(10);
}else{
item.setStatus(6);
}
}
newList.add(item);
}
} catch (Exception e) {
......
......@@ -93,10 +93,10 @@ public class MongoVoUtils {
ticketList.add(kylinTicketVo);
//票种 库存redis
if (!redisUtil.hHasKey(KylinRedisConst.PERFORMANCES_INVENTORY + kylinTicketVo.getTicketsId(), KylinRedisConst.SURPLUS_GENERAL)) {
dataUtils.setSurplusGeneral(kylinTicketVo.getTicketsId(), t2.getTotalGeneral());
dataUtils.setSurplusExchange(kylinTicketVo.getTicketsId(), t2.getSurplusExchange());
}
// if (!redisUtil.hasKey(KylinRedisConst.PERFORMANCES_INVENTORY + kylinTicketVo.getTicketsId() + ":" + KylinRedisConst.SURPLUS_GENERAL)) {
// dataUtils.setSurplusGeneral(kylinTicketVo.getTicketsId(), t2.getTotalGeneral());
// dataUtils.setSurplusExchange(kylinTicketVo.getTicketsId(), t2.getSurplusExchange());
// }
if (kylinTicketVo.getIsMember() == 1) {
if (kylinTicketVo.getMemberPrice().compareTo(kylinTicketVo.getPrice()) != 0) {
......
......@@ -292,6 +292,15 @@ public class PerformanceVoUtils {
ticketTimes.setStatus(1);
ticketTimesMapper.insert(ticketTimes);
ticketTimeRelationMapper.insert(ticketTimeRelation);
HashMap<String ,Object> map2 = new HashMap<>();
map2.put("status",1);
map2.put("updatedAt",map.get("updatedAt"));
BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map2));
mongoTemplate.getCollection(KylinTicketTimesPartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("ticketTimesId").is(ticketTimeRelation.getTimesId())).getQueryObject(),
objectTicketVo
);
} else {
ticketTimesMapper.update(ticketTimes, new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", ticketTimes.getTicketTimesId()));
ticketTimeRelationMapper.update(ticketTimeRelation, new UpdateWrapper<KylinTicketTimeRelation>().eq("times_id", ticketTimes.getTicketTimesId()));
......
......@@ -2,6 +2,8 @@ package com.liquidnet.service.kylin.dao;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class PerformanceAdminListDao {
......@@ -14,10 +16,12 @@ public class PerformanceAdminListDao {
private Integer status;
private String statusName;
private String auditTime;
private String timeSell;
private String timeStop;
private Integer auditStatus;
private Integer totalGeneral;
private Integer saleGeneral;
private Integer totalSalePrice;
private BigDecimal totalSalePrice;
private Integer surplusGeneral;
private Integer syncDamai;
private String rejectTxt;
......
......@@ -2,6 +2,8 @@ package com.liquidnet.service.kylin.dao;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class PerformancePartnerListDao {
......@@ -12,10 +14,12 @@ public class PerformancePartnerListDao {
private String timeEnd;
private Integer totalGeneral;
private Integer saleGeneral;
private Integer totalSalePrice;
private BigDecimal totalSalePrice;
private Integer surplusGeneral;
private Integer status;
private Integer type;
private String timeSell;
private String timeStop;
private Integer auditStatus;
private String rejectTxt;
private String createdAt;
......
......@@ -11,6 +11,7 @@ import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.SqlMapping;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import com.mongodb.client.result.DeleteResult;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
......@@ -184,25 +185,21 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
// removeVo.setDeletedAt(now);
long s = System.currentTimeMillis();
Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("addressesId").is(addressesId)).getQueryObject(),
new Document("$set", new Document("state", 2).append("isDefault", false).append("updatedAt", now).append("deletedAt", now)),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
DeleteResult deleteResult = mongoTemplate.remove(
Query.query(Criteria.where("addressesId").is(addressesId)), AdamAddressesVo.class.getSimpleName()
);
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
if (null != doc) {
List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(uid);
vos.removeIf(r -> r.getAddressesId().equals(addressesId));
s = System.currentTimeMillis();
adamRdmService.setAddressesVoByUid(uid, vos);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(uid);
vos.removeIf(r -> r.getAddressesId().equals(addressesId));
s = System.currentTimeMillis();
adamRdmService.setAddressesVoByUid(uid, vos);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
rabbitTemplate.convertAndSend(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_addresses.remove", now, now, addressesId)
);
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
}
s = System.currentTimeMillis();
rabbitTemplate.convertAndSend(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_addresses.remove", now, now, addressesId)
);
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
}
@Override
......
......@@ -11,6 +11,7 @@ import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.SqlMapping;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import com.mongodb.client.result.DeleteResult;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.bson.Document;
......@@ -19,12 +20,9 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.LinkedMultiValueMap;
......@@ -65,26 +63,8 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
if (1 == parameter.getType()) {
LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
paramsMap.add("realName", parameter.getName());
paramsMap.add("cardNo", parameter.getIdCard());
String respStr = null;
try {
long s = System.currentTimeMillis();
respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_REAL_NAME, paramsMap);
log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s);
log.debug("###PHP.API[{}].RESP:{}", PHP_API_REAL_NAME, respStr);
Map respMap = JsonUtils.fromJson(respStr, Map.class);
if (CollectionUtils.isEmpty(respMap) || !StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) {
log.warn("PHP.API实名认证失败[uid:{},name:{},idCard:{},respStr:{}]", currentUid, parameter.getName(), parameter.getIdCard(), respStr);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
} catch (Exception e) {
log.error("PHP.API实名认证异常[uid:{},name:{},idCard:{},respStr:{}]", currentUid, parameter.getName(), parameter.getIdCard(), respStr, e);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
if (!adamRdmService.isCertification(1, parameter.getIdCard(), parameter.getName())) {
identityHandler(currentUid, parameter.getName(), parameter.getIdCard());
}
}
......@@ -105,6 +85,9 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
s = System.currentTimeMillis();
adamRdmService.delEntersVoByUid(currentUid);
if (1 == parameter.getType()) {
adamRdmService.setCertification(1, parameter.getIdCard(), parameter.getName());
}
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
......@@ -178,9 +161,18 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
}
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void edit(AdamEntersParam parameter) {
LocalDateTime now = LocalDateTime.now();
String currentUid = CurrentUtil.getCurrentUid();
if (1 == parameter.getType()) {
if (!adamRdmService.isCertification(1, parameter.getIdCard(), parameter.getName())) {
identityHandler(currentUid, parameter.getName(), parameter.getIdCard());
}
}
AdamEntersVo updateVo = AdamEntersVo.getNew();
BeanUtils.copyProperties(parameter, updateVo);
......@@ -194,10 +186,12 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
if (null != doc) {
updateVo = BsonUtil.toBean(doc, AdamEntersVo.class);
String currentUid = CurrentUtil.getCurrentUid();
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(currentUid);
s = System.currentTimeMillis();
adamRdmService.setEntersVoByUid(currentUid, this.collectionProcess(vos, parameter.getEntersId(), updateVo));
if (1 == parameter.getType()) {
adamRdmService.setCertification(1, parameter.getIdCard(), parameter.getName());
}
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
......@@ -211,36 +205,25 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
}
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void remove(String uid, String entersId) {
LocalDateTime now = LocalDateTime.now();
// AdamEntersVo removeVo = AdamEntersVo.getNew();
// removeVo.setState(2);
// removeVo.setIsDefault(false);
// removeVo.setUpdatedAt(now);
// removeVo.setDeletedAt(now);
long s = System.currentTimeMillis();
Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("entersId").is(entersId)).getQueryObject(),
new Document("$set", new Document("state", 2).append("isDefault", false).append("updatedAt", now).append("deletedAt", now)),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
DeleteResult deleteResult = mongoTemplate.remove(
Query.query(Criteria.where("entersId").is(entersId)), AdamEntersVo.class.getSimpleName()
);
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
if (null != doc) {
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(uid);
vos.removeIf(r -> r.getEntersId().equals(entersId));
s = System.currentTimeMillis();
adamRdmService.setEntersVoByUid(uid, vos);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(uid);
vos.removeIf(r -> r.getEntersId().equals(entersId));
s = System.currentTimeMillis();
adamRdmService.setEntersVoByUid(uid, vos);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
rabbitTemplate.convertAndSend(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_enters.remove", now, now, entersId)
);
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
}
s = System.currentTimeMillis();
rabbitTemplate.convertAndSend(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_enters.remove", now, now, entersId)
);
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
}
@Override
......@@ -286,4 +269,28 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
log.debug("#collect.process耗时:{}ms", System.currentTimeMillis() - s);
return vos;
}
private void identityHandler(String currentUid, String name, String idCard) {
String respStr = null;
try {
LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
paramsMap.add("realName", name);
paramsMap.add("cardNo", idCard);
long s = System.currentTimeMillis();
respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_REAL_NAME, paramsMap);
log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s);
log.debug("###PHP.API[{}].RESP:{}", PHP_API_REAL_NAME, respStr);
Map respMap = JsonUtils.fromJson(respStr, Map.class);
if (CollectionUtils.isEmpty(respMap) || !StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) {
log.warn("PHP.API实名认证失败[uid:{},name:{},idCard:{},respStr:{}]", currentUid, name, idCard, respStr);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
} catch (Exception e) {
log.error("PHP.API实名认证异常[uid:{},name:{},idCard:{},respStr:{}]", currentUid, name, idCard, respStr, e);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
}
}
......@@ -232,6 +232,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
new Document("$set", new Document("expiryAt", expiryAt).append("state", 1))
);
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
existUserMemberVo.setState(1);
existUserMemberVo.setExpiryAt(expiryAt);
s = System.currentTimeMillis();
adamRdmService.setUserMemberVoByUid(handleMemberOrderVo.getUid(), existUserMemberVo);
......
......@@ -143,8 +143,14 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
}
@Override
public void delRealInfoVoByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_REAL_NAME.concat(uid));
public boolean setCertification(int idType, String idNo, String idName) {
return redisUtil.set(AdamRedisConst.INFO_CERTIFICATION + idType + idNo, idName);
}
@Override
public boolean isCertification(int idType, String idNo, String idName) {
String o = (String) redisUtil.get(AdamRedisConst.INFO_CERTIFICATION + idType + idNo);
return !StringUtils.isEmpty(o) && o.equals(idName);
}
@Override
......
......@@ -366,26 +366,27 @@ public class AdamUserServiceImpl implements IAdamUserService {
if (RedisLockUtil.tryLock(AdamRedisConst.LOCK_KEY_UIDENTITY + uid, 1, 3)) {
vo = adamRdmService.getRealInfoVoByUid(uid);
if (null == vo) {
LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
paramsMap.add("realName", name);
paramsMap.add("cardNo", idCard);
String respStr = null;
try {
long s = System.currentTimeMillis();
respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_REAL_NAME, paramsMap);
log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s);
log.debug("###PHP.API[{}].RESP:{}", PHP_API_REAL_NAME, respStr);
Map respMap = JsonUtils.fromJson(respStr, Map.class);
if (CollectionUtils.isEmpty(respMap) || !StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) {
log.warn("PHP.API实名认证失败[uid:{},name:{},idCard:{},respStr:{}]", uid, name, idCard, respStr);
if (!adamRdmService.isCertification(1, idCard, name)) {
String respStr = null;
try {
LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
paramsMap.add("realName", name);
paramsMap.add("cardNo", idCard);
long s = System.currentTimeMillis();
respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_REAL_NAME, paramsMap);
log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s);
log.debug("###PHP.API[{}].RESP:{}", PHP_API_REAL_NAME, respStr);
Map respMap = JsonUtils.fromJson(respStr, Map.class);
if (CollectionUtils.isEmpty(respMap) || !StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) {
log.warn("PHP.API实名认证失败[uid:{},name:{},idCard:{},respStr:{}]", uid, name, idCard, respStr);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
} catch (Exception e) {
log.error("PHP.API实名认证异常[uid:{},name:{},idCard:{},respStr:{}]", uid, name, idCard, respStr, e);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
} catch (Exception e) {
log.error("PHP.API实名认证异常[uid:{},name:{},idCard:{},respStr:{}]", uid, name, idCard, respStr, e);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
AdamRealName realName = new AdamRealName();
......@@ -407,6 +408,7 @@ public class AdamUserServiceImpl implements IAdamUserService {
long s = System.currentTimeMillis();
adamRdmService.setRealInfoVoByUid(uid, vo);
adamRdmService.setCertification(1, idCard, name);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
}
RedisLockUtil.unlock(AdamRedisConst.LOCK_KEY_UIDENTITY + uid);
......
......@@ -54,9 +54,9 @@ public class KylinOrderTicketsController {
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PayResultVo> payAgain(@RequestBody @Valid PayAgainParam payAgainParam) {
PayResultVo vo = orderTicketsService.payAgain(payAgainParam).getData();
if(null==vo){
if (null == vo) {
return ResponseDto.failure(ErrorMapping.get("20003"));
}else{
} else {
return ResponseDto.success(vo);
}
}
......@@ -78,11 +78,11 @@ public class KylinOrderTicketsController {
@GetMapping("details")
@ApiOperation("订单详情")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<OrderDetailsVo> orderDetails(@RequestParam(value = "orderId",required = false) @NotNull(message = "订单id不能为空") String orderId) {
public ResponseDto<OrderDetailsVo> orderDetails(@RequestParam(value = "orderId", required = false) @NotNull(message = "订单id不能为空") String orderId) {
OrderDetailsVo vo = orderTicketsService.orderDetails(orderId);
if(null==vo){
if (null == vo) {
return ResponseDto.failure(ErrorMapping.get("20003"));
}else {
} else {
return ResponseDto.success(vo);
}
}
......@@ -92,15 +92,24 @@ public class KylinOrderTicketsController {
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<HashMap> checkOrderResult(@RequestParam("orderId") @NotNull(message = "订单id不能为空") String orderId) {
Integer status = orderTicketsService.checkOrderResult(orderId).getData();
if(null==status){
if (null == status) {
return ResponseDto.failure(ErrorMapping.get("20003"));
}else {
HashMap<String,Integer> map = new HashMap<>();
map.put("status",status);
} else {
HashMap<String, Integer> map = new HashMap<>();
map.put("status", status);
return ResponseDto.success(map);
}
}
@GetMapping("orderUnPayCount")
@ApiOperation("待支付演出订单数量")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<HashMap> orderUnPayCount() {
Integer unPayCount = orderTicketsService.orderUnPayCount().getData();
HashMap<String, Integer> map = new HashMap<>();
map.put("unPayCount", unPayCount);
return ResponseDto.success(map);
}
@PostMapping("checkOrderTime")
......
......@@ -197,6 +197,12 @@ public class DataImpl {
performancePartnerVo.setDetails(performances.getDetails());
performancePartnerVo.setApprovalUrl(performances.getApprovalUrl());
performancePartnerVo.setPayCountdownMinute(5);
performancePartnerVo.setNoticeIds(new ArrayList<String>(){{
add("1");
add("3");
add("7");
add("12");
}});
performancePartnerVo.setNoticeImage(performances.getNoticeImage());
performancePartnerVo.setIsTrueName(performanceStatus.getIsTrueName());
performancePartnerVo.setLimitCount(performanceStatus.getLimitCount());
......
......@@ -17,6 +17,7 @@ import com.liquidnet.service.kylin.dto.param.PerformancePartnerListParam;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
import com.liquidnet.service.kylin.dto.vo.KylinFieldsVo;
import com.liquidnet.service.kylin.dto.vo.PerformanceOrderStatisticalVo;
import com.liquidnet.service.kylin.dto.vo.partner.*;
import com.liquidnet.service.kylin.entity.*;
......@@ -25,6 +26,8 @@ import com.liquidnet.service.kylin.service.partner.IKylinPerformancesPartnerServ
import com.liquidnet.service.kylin.timerTask.PerformanceVoTask;
import com.liquidnet.service.kylin.utils.DataUtils;
import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -201,6 +204,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
}
return performanceId;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
......@@ -368,7 +372,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
performances.setAuditTime(LocalDateTime.now());
performancesMapper.update(performances, new UpdateWrapper<KylinPerformances>().eq("performances_id", performanceId));
KylinPerformanceStatus performanceStatus = new KylinPerformanceStatus();
performanceStatus.setAuditStatus((int)map.get("auditStatus"));
performanceStatus.setAuditStatus((int) map.get("auditStatus"));
performanceStatusMapper.update(performanceStatus, new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performanceId));
//提示:票种价格、售票时间、购票限制 直接生效
......@@ -377,10 +381,10 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
List<KylinTicketPartnerVo> ticketList = timesItem.getTicket();
for (KylinTicketPartnerVo ticketItem : ticketList) {
//修改 redis库存
if (redisUtil.hHasKey(KylinRedisConst.PERFORMANCES_INVENTORY + ticketItem.getTicketsId(), KylinRedisConst.SURPLUS_GENERAL)) {
if (redisUtil.hasKey(KylinRedisConst.PERFORMANCES_INVENTORY + ticketItem.getTicketsId() + ":" + KylinRedisConst.SURPLUS_GENERAL)) {
KylinTicketStatus ticketStatus = ticketStatusMapper.selectOne(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketItem.getTicketsId()));
int changeGeneral = ticketStatus.getTotalGeneral() - ticketItem.getTotalGeneral();
int changeExchange = ticketStatus.getTotalGeneral() - ticketItem.getTotalExchange();
int changeGeneral = ticketItem.getTotalGeneral() - ticketStatus.getTotalGeneral();
int changeExchange = ticketItem.getTotalExchange() - ticketStatus.getTotalGeneral();
dataUtils.changeSurplusGeneral(ticketItem.getTicketsId(), changeGeneral);
dataUtils.changeSurplusExchange(ticketItem.getTicketsId(), changeExchange);
}
......@@ -479,6 +483,14 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
ticketStatusUpdate.setUpdatedAt(updatedAt);
ticketStatusMapper.update(ticketStatusUpdate
, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketRelationsItem.getTicketId()).eq("status", 7));
HashMap<String, Object> map = new HashMap<>();
map.put("status", 9);
map.put("updatedAt", updatedAt);
mongoTemplate.getCollection(KylinTicketPartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("ticketsId").is(ticketRelationsItem.getTicketId()).and("status").ne(7)).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(map))
);
}
}
// 判断状态
......@@ -585,6 +597,18 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
try {
PageHelper.startPage(performancePartnerListParam.getPage(), performancePartnerListParam.getSize());
List<PerformancePartnerListDao> voList = performancesMapper.partnerPerformanceList(BeanUtil.convertBeanToMap(performancePartnerListParam));
for (int i = 0; i < voList.size(); i++) {
PerformancePartnerListDao vo = voList.get(i);
if (vo.getStatus() >= 6 && vo.getStatus() != 7) {
if (DateUtil.compareStrDay(vo.getTimeSell(), DateUtil.getNowTime()) > 0) {//未开始
vo.setStatus(9);
} else if (DateUtil.compareStrDay(vo.getTimeStop(), DateUtil.getNowTime()) < 0) {//已结束
vo.setStatus(10);
} else {
vo.setStatus(6);
}
}
}
pageInfoTmp = new PageInfo(voList);
} catch (Exception e) {
e.printStackTrace();
......@@ -640,7 +664,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
List<PerformanceOrderStatisticalDao> dtoList = performancesMapper.getPerformanceOrderStatisticalList(performancesId);
dtoList.forEach(dto -> {
PerformanceOrderStatisticalVo vo = new PerformanceOrderStatisticalVo();
BeanUtil.copy(dto,vo);
BeanUtil.copy(dto, vo);
voList.add(vo);
countBean.setTotalGeneral(countBean.getTotalGeneral().add(dto.getTotalGeneral()));
......@@ -655,7 +679,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
countBean.setTotalBuyUsers(dto.getTotalBuyUsers());
});
PerformanceOrderStatisticalVo vo = new PerformanceOrderStatisticalVo();
BeanUtil.copy(countBean,vo);
BeanUtil.copy(countBean, vo);
voList.add(vo);
return voList;
}
......
......@@ -116,14 +116,14 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
kylinTicketPartnerVo.setType(kylinTicketTimesPartnerVo.getType());
kylinTicketPartnerVo.setStatus(0);
kylinTicketPartnerVo.setDefault();
if(ticketCreateParam.getIsExpress()==1){
if (ticketCreateParam.getIsExpress() == 1) {
kylinTicketPartnerVo.setDescribesExpress(ticketCreateParam.getDescribesExpress());
}else{
} else {
kylinTicketPartnerVo.setDescribesExpress("");
}
if(ticketCreateParam.getIsElectronic()==1){
if (ticketCreateParam.getIsElectronic() == 1) {
kylinTicketPartnerVo.setDescribeElectronic(ticketCreateParam.getDescribeElectronic());
}else{
} else {
kylinTicketPartnerVo.setDescribeElectronic("");
}
......@@ -166,14 +166,14 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
kylinTicketPartnerVo.setUseStart(kylinTicketTimesPartnerVo.getUseStart());
kylinTicketPartnerVo.setUseEnd(kylinTicketTimesPartnerVo.getUseEnd());
kylinTicketPartnerVo.setType(kylinTicketTimesPartnerVo.getType());
if(ticketCreateParam.getIsExpress()==1){
if (ticketCreateParam.getIsExpress() == 1) {
kylinTicketPartnerVo.setDescribesExpress(ticketCreateParam.getDescribesExpress());
}else{
} else {
kylinTicketPartnerVo.setDescribesExpress("");
}
if(ticketCreateParam.getIsElectronic()==1){
if (ticketCreateParam.getIsElectronic() == 1) {
kylinTicketPartnerVo.setDescribeElectronic(ticketCreateParam.getDescribeElectronic());
}else{
} else {
kylinTicketPartnerVo.setDescribeElectronic("");
}
......@@ -221,10 +221,10 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
kylinTicketPartnerVo.setTimeEnd(ticketCreateParam.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
kylinTicketPartnerVo.setTimesId(null);
kylinTicketPartnerVo.setStatus(null);
if(ticketCreateParam.getIsExpress()==1){
if (ticketCreateParam.getIsExpress() == 1) {
kylinTicketPartnerVo.setDescribesExpress(ticketCreateParam.getDescribesExpress());
}
if(ticketCreateParam.getIsElectronic()==1){
if (ticketCreateParam.getIsElectronic() == 1) {
kylinTicketPartnerVo.setDescribeElectronic(ticketCreateParam.getDescribeElectronic());
}
......@@ -299,13 +299,13 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
}
@Override
public ResponseDto<KylinTicketPartnerVo> copyTicket(String performanceId,String ticketsId) {
public ResponseDto<KylinTicketPartnerVo> copyTicket(String performanceId, String ticketsId) {
try {
// 获取 当前时间 -> 创建时间
LocalDateTime createdAt = LocalDateTime.now();
PerformancePartnerVo performancePartnerVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), PerformancePartnerVo.class, PerformancePartnerVo.class.getSimpleName());
if(performancePartnerVo.getAuditStatus()==0 || performancePartnerVo.getAuditStatus()==1){
if (performancePartnerVo.getAuditStatus() == 0 || performancePartnerVo.getAuditStatus() == 1) {
return ResponseDto.failure(ErrorMapping.get(20107));
}
......@@ -324,22 +324,28 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
}
@Override
public boolean submitTicketByTimes(String timesId,Integer status) {
public boolean submitTicketByTimes(String timesId, Integer status) {
LocalDateTime updatedAt = LocalDateTime.now();
HashMap<String, Object> map = new HashMap<>();
if(null==status) {
if (null == status) {
map.put("status", 1);
}else{
} else {
map.put("status", status);
}
map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
UpdateResult updateResult = mongoTemplate.getCollection(KylinTicketPartnerVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("timesId").is(timesId).and("status").ne(-2)).getQueryObject(),
mongoTemplate.getCollection(KylinTicketPartnerVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("timesId").is(timesId).and("status").nin(-2, 7)).getQueryObject(),
object
);
return updateResult.getModifiedCount() <= 0;
long count = mongoTemplate.count(
Query.query(Criteria.where("timesId").is(timesId)),
KylinTicketPartnerVo.class,
KylinTicketPartnerVo.class.getSimpleName()
);
return count <= 0;
}
@Override
......@@ -353,7 +359,7 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
}
@Override
public ResponseDto<String> onLine(String ticketsId,String performancesId) {
public ResponseDto<String> onLine(String ticketsId, String performancesId) {
try {
LocalDateTime updatedAt = LocalDateTime.now();
KylinTicketStatus ticketStatus = ticketStatusMapper.selectOne(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketsId));
......@@ -365,8 +371,8 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
ticketStatusMapper.update(changeStatus, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketsId));
HashMap<String,Object> map = new HashMap<>();
map.put("status",9);
HashMap<String, Object> map = new HashMap<>();
map.put("status", 9);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(KylinTicketPartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("ticketsId").is(ticketsId)).getQueryObject(),
......@@ -378,14 +384,14 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
} else {
return ResponseDto.failure(ErrorMapping.get(20110));
}
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
return ResponseDto.failure(ErrorMapping.get(20108));
}
}
@Override
public ResponseDto<String> outLine(String ticketsId,String performancesId) {
public ResponseDto<String> outLine(String ticketsId, String performancesId) {
try {
LocalDateTime updatedAt = LocalDateTime.now();
KylinTicketStatus ticketStatus = ticketStatusMapper.selectOne(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketsId));
......@@ -396,8 +402,8 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
changeStatus.setStatus(7);
ticketStatusMapper.update(changeStatus, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketsId));
// mongo 操作
HashMap<String,Object> map = new HashMap<>();
map.put("status",7);
HashMap<String, Object> map = new HashMap<>();
map.put("status", 7);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(KylinTicketPartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("ticketsId").is(ticketsId)).getQueryObject(),
......@@ -409,7 +415,7 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
} else {
return ResponseDto.failure(ErrorMapping.get(20111));
}
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
return ResponseDto.failure(ErrorMapping.get(20109));
}
......
......@@ -194,39 +194,44 @@ public class PerformanceVoTask {
* @return
*/
public KylinPerformanceMisVo getPerformanceMisVo(String performancesId) {
PerformancePartnerVo performanceData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performancesId)), PerformancePartnerVo.class, PerformancePartnerVo.class.getSimpleName());
List<KylinTicketTimesPartnerVo> kylinTicketTimesPartnerVos = ticketTimesPartnerService.getTimesMongoList(performancesId);
List<TicketTimesTicketCreatePartnerVo> ticketTimesTicketCreatePartnerVoList = new ArrayList<TicketTimesTicketCreatePartnerVo>();
ArrayList<BigDecimal> floatList = new ArrayList<>();
ArrayList<String> StringList = new ArrayList<>();
for (KylinTicketTimesPartnerVo ticketTimes : kylinTicketTimesPartnerVos) {
TicketTimesTicketCreatePartnerVo ticketTimesTicketCreatePartnerVo = new TicketTimesTicketCreatePartnerVo();
BeanUtils.copyProperties(ticketTimes, ticketTimesTicketCreatePartnerVo);
List<KylinTicketPartnerVo> kylinTicketPartnerVos = ticketsPartnerService.getTicketMongoList(ticketTimes.getTicketTimesId());
ticketTimesTicketCreatePartnerVo.setTicket(kylinTicketPartnerVos);
ticketTimesTicketCreatePartnerVoList.add(ticketTimesTicketCreatePartnerVo);
for (KylinTicketPartnerVo kylinTicketPartnerVoItem : kylinTicketPartnerVos) {
floatList.add(kylinTicketPartnerVoItem.getPrice());
StringList.add(kylinTicketPartnerVoItem.getTimeEnd());
try {
PerformancePartnerVo performanceData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performancesId)), PerformancePartnerVo.class, PerformancePartnerVo.class.getSimpleName());
List<KylinTicketTimesPartnerVo> kylinTicketTimesPartnerVos = ticketTimesPartnerService.getTimesMongoList(performancesId);
List<TicketTimesTicketCreatePartnerVo> ticketTimesTicketCreatePartnerVoList = new ArrayList<TicketTimesTicketCreatePartnerVo>();
ArrayList<BigDecimal> floatList = new ArrayList<>();
ArrayList<String> StringList = new ArrayList<>();
for (KylinTicketTimesPartnerVo ticketTimes : kylinTicketTimesPartnerVos) {
TicketTimesTicketCreatePartnerVo ticketTimesTicketCreatePartnerVo = new TicketTimesTicketCreatePartnerVo();
BeanUtils.copyProperties(ticketTimes, ticketTimesTicketCreatePartnerVo);
List<KylinTicketPartnerVo> kylinTicketPartnerVos = ticketsPartnerService.getTicketMongoList(ticketTimes.getTicketTimesId());
ticketTimesTicketCreatePartnerVo.setTicket(kylinTicketPartnerVos);
ticketTimesTicketCreatePartnerVoList.add(ticketTimesTicketCreatePartnerVo);
for (KylinTicketPartnerVo kylinTicketPartnerVoItem : kylinTicketPartnerVos) {
floatList.add(kylinTicketPartnerVoItem.getPrice());
StringList.add(kylinTicketPartnerVoItem.getTimeEnd());
}
}
}
KylinPerformanceMisVo kylinPerformanceMisVo = new KylinPerformanceMisVo();
BeanUtils.copyProperties(performanceData, kylinPerformanceMisVo);
KylinPerformanceMisVo kylinPerformanceMisVo = new KylinPerformanceMisVo();
BeanUtils.copyProperties(performanceData, kylinPerformanceMisVo);
floatList.sort(Comparator.naturalOrder());
StringList.sort(Comparator.naturalOrder());
floatList.sort(Comparator.naturalOrder());
StringList.sort(Comparator.naturalOrder());
kylinPerformanceMisVo.setPrice(floatList.get(0) + "起");
kylinPerformanceMisVo.setStopSellTime(StringList.get(0));
kylinPerformanceMisVo.setTicketTimes(ticketTimesTicketCreatePartnerVoList);
kylinPerformanceMisVo.setPrice(floatList.get(0) + "起");
kylinPerformanceMisVo.setStopSellTime(StringList.get(0));
kylinPerformanceMisVo.setTicketTimes(ticketTimesTicketCreatePartnerVoList);
kylinPerformanceMisVo.setIsDistribution(0);
kylinPerformanceMisVo.setSyncAgent(0);
kylinPerformanceMisVo.setAuditStatus(0);
kylinPerformanceMisVo.setIsDistribution(0);
kylinPerformanceMisVo.setSyncAgent(0);
kylinPerformanceMisVo.setAuditStatus(0);
return kylinPerformanceMisVo;
return kylinPerformanceMisVo;
}catch (Exception e){
e.printStackTrace();
return null;
}
}
/**
......
......@@ -88,6 +88,9 @@ public class MongoVoUtils {
KylinTicketRelations ticket = t3.get(y);
KylinTickets t1 = ticketsMapper.selectOne(new UpdateWrapper<KylinTickets>().eq("tickets_id", ticket.getTicketId()));
KylinTicketStatus t2 = ticketStatusMapper.selectOne(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticket.getTicketId()));
// if(t2.getStatus()==7){
// continue;
// }
KylinTicketVo kylinTicketVo = new KylinTicketVo();
kylinTicketVo.setTimeId(ticket.getTimesId());
kylinTicketVo.setTicket(t1);
......@@ -137,12 +140,14 @@ public class MongoVoUtils {
}
}
KylinTicketTimesVo kylinTicketTimesVo = new KylinTicketTimesVo();
kylinTicketTimesVo.setTicketTimes(tt1);
kylinTicketTimesVo.setPerformanceId(times.getPerformanceId());
kylinTicketTimesVo.setTimeId(times.getTimesId());
kylinTicketTimesVo.setTicketList(ticketList);
timeList.add(kylinTicketTimesVo);
// if(ticketList.size()>0) {
KylinTicketTimesVo kylinTicketTimesVo = new KylinTicketTimesVo();
kylinTicketTimesVo.setTicketTimes(tt1);
kylinTicketTimesVo.setPerformanceId(times.getPerformanceId());
kylinTicketTimesVo.setTimeId(times.getTimesId());
kylinTicketTimesVo.setTicketList(ticketList);
timeList.add(kylinTicketTimesVo);
// }
}
voData.setPerformance(p1);
......
......@@ -39,7 +39,7 @@
20112=不可修改
20113=未创建场次
20114=有场次创建票种
20114=有场次创建票种
20115=提交失败
20116=不可撤回
20117=撤回失败
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment