Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

xiari 1 gadu atpakaļ
vecāks
revīzija
16ca71df95

+ 3 - 1
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/business/payments/ThirdPayBusiness.java

@@ -191,7 +191,9 @@ public class ThirdPayBusiness {
             log.error("[更新订单状状态失败]-[收款方流水号和系统不一致]-[{}]", JSONUtil.toJsonStr(bo));
             return R.fail("[更新订单状状态失败]-[收款方流水号和系统不一致]");
         }
-        bo.setBackUrl(vo.getBackUrl() + bo.getOrderId() + "/" + bo.getPaySn());
+        if (ObjectUtil.notEqual(vo.getPayStatus(), PayStatusEnum.SUCCESS.code().toString())) {
+            bo.setBackUrl(vo.getBackUrl() + bo.getOrderId() + "/" + bo.getPaySn());
+        }
         vo = payOrderService.updateOrderStatus(bo);
         if (ObjectUtil.isEmpty(vo)) {
             log.error("[更新订单支付状态失败]-[{}]", JSONUtil.toJsonStr(bo));

+ 3 - 3
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/consumption/service/impl/XfTermServiceImpl.java

@@ -188,7 +188,7 @@ public class XfTermServiceImpl implements IXfTermService {
      * @param bo 消费设备
      * @return 是否修改成功
      */
-    @CacheEvict(cacheNames = CacheNames.PT_PARAMETER, allEntries = true)
+    @CacheEvict(cacheNames = CacheNames.PT_TERM, allEntries = true)
     @Override
     public Boolean updateByBo(XfTermBo bo) {
         XfTerm update = MapstructUtils.convert(bo, XfTerm.class);
@@ -196,7 +196,7 @@ public class XfTermServiceImpl implements IXfTermService {
         return baseMapper.updateById(update) > 0;
     }
 
-    @CacheEvict(cacheNames = CacheNames.PT_PARAMETER, allEntries = true)
+    @CacheEvict(cacheNames = CacheNames.PT_TERM, allEntries = true)
     public Boolean updateParamByBo(XfTermParamBo bo){
         XfTerm update = MapstructUtils.convert(bo, XfTerm.class);
         return baseMapper.updateById(update) > 0;
@@ -231,7 +231,7 @@ public class XfTermServiceImpl implements IXfTermService {
      * @return 是否删除成功
      */
     @Override
-    @CacheEvict(cacheNames = CacheNames.PT_PARAMETER, allEntries = true)
+    @CacheEvict(cacheNames = CacheNames.PT_TERM, allEntries = true)
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
         if(isValid){
             //可以删除

+ 9 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/controller/ThirdPayController.java

@@ -55,7 +55,16 @@ public class ThirdPayController extends BaseController {
 
         return thirdPayBusiness.payCallBackHandler(bo);
     }
+    @RequestMapping("/back/{orderSn}/{paySn}")
+    public R<PayOrderVo> callBackThirdPay(@PathVariable("orderSn") String orderSn, @PathVariable("paySn") String paySn){
+        PayOrderBo bo = new PayOrderBo();
+        bo.setOrderId(Long.valueOf(orderSn));
+        bo.setPaySn(paySn);
+        bo.setPayStatus(PayStatusEnum.SUCCESS.code().toString());
+        bo.setCreditTime(DateUtil.date());
 
+        return thirdPayBusiness.payCallBackHandler(bo);
+    }
     /**
      * 查询充值订单支付状态
      * @param orderSn 充值订单

+ 6 - 7
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/business/BaseBusiness.java

@@ -160,10 +160,6 @@ public class BaseBusiness {
         }
 
         // 5.发送一条消费记录到kafka(教务就餐打卡)
-        //String pushConsume = remotePtParameterService.getPtParameterByKey("PUSH_CONSUME_MQ");
-        //if(ObjectUtil.equals(pushConsume, "1")){
-        //    this.sendConsumeToKafka(detailVos,userAccountVo);
-        //}
         if (ObjectUtil.equals(defaultConfig.getLocationFlag(), DefaultConstants.LOCAL_FLAG)) {
             this.sendConsumeToKafka(detailVos,userAccountVo);
         }
@@ -282,8 +278,8 @@ public class BaseBusiness {
         // 设置消费信息
         consumeDetailBo.setConsumeDate(bo.getConsumeDate());
         consumeDetailBo.setConsumeMoney(bo.getConsumeMoney());
-        consumeDetailBo.setConsumeBalance(bagVo.getBalance());
-        consumeDetailBo.setCardValue(bagVo.getBalance());
+        consumeDetailBo.setConsumeBalance(bo.getBalance());
+        //consumeDetailBo.setCardValue(bagVo.getBalance());
         // 设置卡片信息
         consumeDetailBo.setCardNo(cardVo.getCardNo());
         consumeDetailBo.setFactoryId(cardVo.getFactoryId());
@@ -304,6 +300,9 @@ public class BaseBusiness {
         consumeDetailBo.setRecordId(bo.getRecordId());
         consumeDetailBo.setRemark(remark);
 
+        consumeDetailBo.setCreateTime(DateUtil.date());
+        consumeDetailBo.setUpdateTime(DateUtil.date());
+
         return consumeDetailService.createConsumeDetailRecord(consumeDetailBo);
     }
 
@@ -326,7 +325,7 @@ public class BaseBusiness {
             ycSendConsumeInfo.setCardNo(vo.getCardNo().toString());
             ycSendConsumeInfo.setFactoryFixId(vo.getFactoryId().toString());
             ycSendConsumeInfo.setConsumeValue(vo.getConsumeMoney().toString());
-            ycSendConsumeInfo.setCardValue(DateUtil.format(vo.getConsumeDate(),DefaultConstants.DATE_TIME_FORMAT));
+            ycSendConsumeInfo.setCardValue(String.valueOf(vo.getConsumeBalance()));
             ycSendConsumeInfo.setConsumeDate(vo.getConsumeDate().toString());
             ycSendConsumeInfo.setMealTypeId(vo.getMealType().toString());
             ycSendConsumeInfo.setMealName(vo.getMealName());

+ 1 - 1
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/controller/v1/ConsumeController.java

@@ -145,11 +145,11 @@ public class ConsumeController {
             return new ResponseEntity<Object>(result, null, HttpStatus.FORBIDDEN);
         }
         ConsumptionBo bo = recordConvertStrategy.convert(record, "YC");
+        ConsumptionBo cloudConsumeBo = BeanUtil.copyProperties(bo, ConsumptionBo.class);
         bo.setStatusFlag(4);
         bo.setUseType(SystemUseTypeEnum.CONSUME);
         bo.setCreditType(CreditTypeEnum.TERM_CONSUME);
 
-        ConsumptionBo cloudConsumeBo = BeanUtil.copyProperties(bo, ConsumptionBo.class);
         R<ErrorInfo> errorInfo;
         if (Objects.equals(type, "requestConsume")) {
             errorInfo = consumeBusiness.createOrder(bo, mac, xfPwd);

+ 6 - 2
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/cloud/ConsumeEventStrategyImpl.java

@@ -6,6 +6,8 @@ import cn.hutool.json.JSONUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
+import org.dromara.common.core.enums.CreditTypeEnum;
+import org.dromara.common.core.enums.SystemUseTypeEnum;
 import org.dromara.common.message.kafka.constant.EventSenderConstants;
 import org.dromara.common.message.kafka.constant.EventTypeConstants;
 import org.dromara.consume.api.RemoteConsumeService;
@@ -32,8 +34,10 @@ public class ConsumeEventStrategyImpl implements IYktEventStrategy {
     @Override
     public void doMsgHandle(String eventType, Object msg) throws Exception {
         if (ObjectUtil.equals(eventType, EventTypeConstants.CONSUME)) {
-            ConsumptionBo consumptionBo = JSONUtil.toBean(JSONUtil.parseObj(msg), ConsumptionBo.class);
-            RemoteConsumeBo recordBo = BeanUtil.copyProperties(consumptionBo, RemoteConsumeBo.class);
+            RemoteConsumeBo recordBo = JSONUtil.toBean(JSONUtil.parseObj(msg), RemoteConsumeBo.class);
+            recordBo.setStatusFlag(4);
+            recordBo.setUseType(SystemUseTypeEnum.CONSUME);
+            recordBo.setCreditType(CreditTypeEnum.TERM_CONSUME);
             log.info("[处理本地->云端消费请求]-[消费信息:{}]", JSONUtil.toJsonStr(recordBo));
             remoteConsumeService.dealKafkaConsumeData(recordBo);
         }