From d9ac23d230291d737b67a5bf23ac41dea20778c0 Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期三, 18 十月 2023 11:37:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java                        |    4 +
 server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java     |   29 +++++++-------
 server/services/src/main/java/com/doumee/service/business/impl/DeviceSubscribeServiceImpl.java |    4 +
 server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java       |   18 +++++++--
 server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java                     |    2 
 server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java      |   44 ++++++++++++----------
 server/services/src/main/java/com/doumee/dao/business/model/MqttLog.java                       |    1 
 server/services/src/main/java/com/doumee/dao/business/web/request/RefundDTO.java               |    4 ++
 server/services/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java          |    1 
 9 files changed, 64 insertions(+), 43 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java b/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
index 04acbcb..a99eba4 100644
--- a/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
+++ b/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
@@ -38,7 +38,7 @@
     private TransactionsMapper transactionsMapper;
 
 
-    @Transactional(rollbackFor = Exception.class)
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public Refund wxRefund(RefundDTO refundDTO) {
         try {
             // 鍙戦�侀��娆捐姹�
@@ -62,7 +62,9 @@
                 refund.setMoney(refundDTO.getRefundAmount());
                 refund.setOnlineOrderid(refNum);
                 refund.setPayWay(Constants.ZERO);
+                refund.setStatus(Constants.TWO);
                 refund.setDoneDate(new Date());
+                refund.setCreator(refundDTO.getCreator());
                 refund.setType(refundDTO.getType());
                 refund.setObjId(refundDTO.getOrderId());
                 refund.setReason(refundDTO.getReason());
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java b/server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java
index d240853..f0cf8dd 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java
@@ -48,7 +48,7 @@
 
     @ApiModelProperty(value = "鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�", example = "1")
     @ExcelColumn(name="鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�")
-    @TableLogic
+//    @TableLogic
     private Integer isdeleted;
 
     @ApiModelProperty(value = "鍚嶇О")
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/MqttLog.java b/server/services/src/main/java/com/doumee/dao/business/model/MqttLog.java
index 2bc4425..e528ef3 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/MqttLog.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/MqttLog.java
@@ -45,7 +45,6 @@
 
     @ApiModelProperty(value = "鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�", example = "1")
     @ExcelColumn(name="鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�")
-    @TableLogic
     private Integer isdeleted;
 
     @ApiModelProperty(value = "澶囨敞")
diff --git a/server/services/src/main/java/com/doumee/dao/business/web/request/RefundDTO.java b/server/services/src/main/java/com/doumee/dao/business/web/request/RefundDTO.java
index 97260fd..2bfb812 100644
--- a/server/services/src/main/java/com/doumee/dao/business/web/request/RefundDTO.java
+++ b/server/services/src/main/java/com/doumee/dao/business/web/request/RefundDTO.java
@@ -41,4 +41,8 @@
     private String reason;
 
 
+    @ApiModelProperty(value = "鍒涘缓浜�")
+    private String creator;
+
+
 }
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java
index 9819c50..710465c 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java
@@ -16,6 +16,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
+import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -72,13 +73,18 @@
 
     @Override
     public void deleteById(String id) {
-        baseParamMapper.deleteById(id);
+        BaseParam baseParam = new BaseParam();
+        baseParam.setId(id);
+        baseParam.setEditDate(new Date());
+        baseParam.setIsdeleted(Constants.ONE);
+        baseParamMapper.updateById(baseParam);
     }
 
     @Override
     public void delete(BaseParam baseParam) {
-        UpdateWrapper<BaseParam> deleteWrapper = new UpdateWrapper<>(baseParam);
-        baseParamMapper.delete(deleteWrapper);
+//      UpdateWrapper<BaseParam> deleteWrapper = new UpdateWrapper<>(baseParam);
+        baseParam.setIsdeleted(Constants.ONE);
+        baseParamMapper.updateById(baseParam);
     }
 
     @Override
@@ -87,7 +93,9 @@
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
-        baseParamMapper.deleteBatchIds(ids);
+       for(String id :ids){
+           deleteById(id);
+       }
     }
 
     @Override
@@ -138,6 +146,7 @@
     @Override
     public List<BaseParam> findList(BaseParam baseParam) {
         QueryWrapper<BaseParam> wrapper = new QueryWrapper<>(baseParam);
+        baseParam.setIsdeleted(Constants.ZERO);
         wrapper.orderByAsc("sortnum");
         return baseParamMapper.selectList(wrapper);
     }
@@ -193,6 +202,7 @@
     @Override
     public long count(BaseParam baseParam) {
         QueryWrapper<BaseParam> wrapper = new QueryWrapper<>(baseParam);
+        baseParam.setIsdeleted(Constants.ZERO);
         return baseParamMapper.selectCount(wrapper);
     }
 }
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
index 1383d8a..53e8af3 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -69,6 +69,7 @@
         log.setType(Constants.ONE);
         log.setMsg("");
         log.setInfo(info);
+        log.setIsdeleted(Constants.ZERO);
         mqttLogMapper.insert(log);
         return  log;
     }
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/DeviceSubscribeServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/DeviceSubscribeServiceImpl.java
index ef6b9f6..1538fa1 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/DeviceSubscribeServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/DeviceSubscribeServiceImpl.java
@@ -59,7 +59,8 @@
         }
         MqttLog mqttLog = new MqttLog();
         mqttLog.setMsgId(msgId);
-        if(mqttLogMapper.selectCount(new QueryWrapper<MqttLog>().lambda().eq(MqttLog::getMsgId, msgId)) >0){
+        int msgCount  =mqttLogMapper.selectCount(new QueryWrapper<MqttLog>().lambda().eq(MqttLog::getMsgId, msgId));
+        if(msgCount>0){
             log.error("mqtt娑堟伅璁㈤槄==============宸叉秷璐规暟鎹�====="+param);
             return;
         }
@@ -112,6 +113,7 @@
         log.setType(Constants.ZERO);
         log.setMsg(param);
         log.setInfo(info);
+        log.setIsdeleted(Constants.ZERO);
         log.setMsgId(msgId);
         mqttLogMapper.insert(log);
     }
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index 0b87604..d080e2d 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -44,6 +44,7 @@
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.checkerframework.checker.units.qual.A;
+import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -494,28 +495,34 @@
     public void backGoodsorder(String orderId, BigDecimal money,String reason) {
         LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         Goodsorder goodsorder = goodsorderMapper.selectById(orderId);
+        if(goodsorder == null){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "瀵逛笉璧凤紝璁㈠崟淇℃伅涓嶅瓨鍦紝璇峰埛鏂伴〉闈㈤噸璇曪紒");
+        }
+         if (Constants.formatIntegerNum(goodsorder.getStatus()) != Constants.GOODSORDER_STATUS.CLOSE.getKey()){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇ヨ鍗曡缁撶畻鍚庡啀閫�娆緙");
+        }
         QueryWrapper<Refund> wrapper = new QueryWrapper<>();
         wrapper.lambda()
                 .eq(Refund::getObjId,orderId)
-                .orderByDesc(Refund::getCreateDate)
-                .last("limit 1");
-        Refund lastRefund = refundMapper.selectOne(wrapper);
-        if (Objects.isNull(lastRefund)){
-            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏀硅鍗曡缁撶畻鍚庡湪閫�娆�");
-        }
-        BigDecimal canBalance = lastRefund.getCanBalance();
+                .eq(Refund::getStatus,Constants.TWO)
+                .eq(Refund::getIsdeleted,Constants.ZERO) ;
+        wrapper.select("sum(money) as money").last(" limit 1");
+        Refund total = refundMapper.selectOne(wrapper);
+        BigDecimal refundMoney = total == null?new BigDecimal(0):Constants.formatDecimalNum(total.getMoney());
+        BigDecimal canBalance =Constants.formatDecimalNum(goodsorder.getMoney()).subtract(money);
         if(canBalance.compareTo(money) > Constants.ZERO){
             RefundDTO refundDTO = new RefundDTO();
             refundDTO.setOrderId(orderId);
-            refundDTO.setCanBalance(lastRefund.getCanBalance().subtract(lastRefund.getMoney()));
+            refundDTO.setCanBalance(canBalance);
             refundDTO.setRefundAmount(money);
             refundDTO.setTotalAmount(goodsorder.getMoney());
             refundDTO.setMemberId(goodsorder.getMemberId());
+            refundDTO.setCreator(principal.getId());
             refundDTO.setReason(reason);
             refundDTO.setType(Constants.REFUND_TYPE.BACK.getKey());
             Refund refund = wxMiniUtilService.wxRefund(refundDTO);
         }else {
-            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"閫�娆鹃噾棰濅笉鍏佽瓒呰繃"+canBalance);
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝閫�娆鹃噾棰濅笉鍏佽瓒呰繃"+canBalance);
         }
     }
 
@@ -529,20 +536,16 @@
         QueryWrapper<Refund> wrapper = new QueryWrapper<>();
         wrapper.lambda()
                 .eq(Refund::getObjId,orderId)
-                .orderByDesc(Refund::getCreateDate);
-        List<Refund> refunds = refundMapper.selectList(wrapper);
+                .eq(Refund::getStatus,Constants.TWO)
+                .eq(Refund::getIsdeleted,Constants.ZERO) ;
+        wrapper.select("sum(money) as money").last(" limit 1");
+        Refund total = refundMapper.selectOne(wrapper);
         GoodsorderCanBanlanceDTO goodsorderCanBanlanceDTO = new GoodsorderCanBanlanceDTO();
         goodsorderCanBanlanceDTO.setGoodsorderMoney(goodsorder.getMoney());
         goodsorderCanBanlanceDTO.setCloseMoney(goodsorder.getCloseMoney());
-        if (!CollectionUtils.isEmpty(refunds)){
-            BigDecimal reduce = refunds.stream().map(s -> s.getMoney()).reduce(new BigDecimal("0"), (a, b) -> b.add(a));
-            Refund refund = refunds.stream().findFirst().orElse(null);
-            goodsorderCanBanlanceDTO.setHasRefundMoney(reduce);
-            goodsorderCanBanlanceDTO.setCanBanlanceMoney(refund.getCanBalance().subtract(refund.getMoney()));
-        }else {
-            goodsorderCanBanlanceDTO.setHasRefundMoney(new BigDecimal("0"));
-            goodsorderCanBanlanceDTO.setCanBanlanceMoney(goodsorder.getMoney());
-        }
+        BigDecimal reduce =  total!=null?Constants.formatDecimalNum(total.getMoney()):new BigDecimal(0);
+        goodsorderCanBanlanceDTO.setHasRefundMoney(reduce);
+        goodsorderCanBanlanceDTO.setCanBanlanceMoney(Constants.formatDecimalNum(goodsorder.getMoney()).subtract(goodsorderCanBanlanceDTO.getHasRefundMoney()));
         return goodsorderCanBanlanceDTO;
     }
 
@@ -673,6 +676,7 @@
         goodsorder.setId(Constants.getUUID());
         goodsorder.setCreateDate(new Date());
         goodsorder.setIsdeleted(Constants.ZERO);
+        goodsorder.setCode(goodsorder.getId());
         goodsorder.setMemberId(memberId);
         goodsorder.setMoney(new BigDecimal(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.RENT_DEPOSIT).getCode()));
         goodsorder.setStatus(Constants.goodsorderStatus.waitPay);
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
index eaeb724..2ebd8ab 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -476,7 +476,6 @@
             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), " 璇ヨ溅鍨嬫殏鏃朵笉鑳藉�熻溅鎿嶄綔鍝︼紝璇锋洿鎹㈠叾浠栬溅鍨嬮噸璇曪紒");
         }
         Date date =new Date();
-
         QueryWrapper<PricingParam> param = new QueryWrapper<>();
         param.lambda().eq(PricingParam::getStatus,Constants.ZERO);
         param.lambda().eq(PricingParam::getIsdeleted,Constants.ZERO);
@@ -577,30 +576,31 @@
     }
 
     private Bikes dealBikesByParam(Locks model) {
+        if(StringUtils.isNotBlank(model.getBikeCode())){
+            UpdateWrapper<Bikes> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.lambda().set(Bikes::getCode, null );
+            updateWrapper.lambda().set(Bikes::getParamId, null );
+            updateWrapper.lambda().set(Bikes::getEditDate, new Date() );
+            updateWrapper.lambda().eq(Bikes::getCode, model.getBikeCode() );
+            //娓呯┖鍘熸潵鐨勮嚜琛岃溅缁戝畾鍏崇郴
+            bikesMapper.update(null, updateWrapper);
+        }
+
         QueryWrapper<Bikes> wrapper = new QueryWrapper<>();
         wrapper.lambda().eq(Bikes::getLockId, model.getCode());
         wrapper.lambda().eq(Bikes::getSiteId, model.getSiteId());
         Bikes bikes = bikesMapper.selectOne(wrapper.last("limit 1"));
         if(bikes != null ) {
-            if (  StringUtils.equals(model.getBikeCode(), bikes.getCode())){
+            if ( !StringUtils.equals(model.getBikeCode(), bikes.getCode())){
                 //濡傛灉缁戝畾杞﹁締淇℃伅鍙戠敓缂栧彿锛屾洿鎹㈢粦瀹氬叧绯�
                 UpdateWrapper<Bikes> updateWrapper = new UpdateWrapper<>();
-                updateWrapper.lambda().set(Bikes::getId, bikes.getId());
+                updateWrapper.lambda().eq(Bikes::getId, bikes.getId());
                 updateWrapper.lambda().set(Bikes::getCode,model.getBikeCode());
                 updateWrapper.lambda().set(Bikes::getParamId,getBileTypeByCode(model.getBikeCode()));
                 //鏇存柊鑷绔欑偣閿佸ご缁戝畾鑷杞︿俊鎭�
-                bikesMapper.updateById(bikes);
+                bikesMapper.update(null,updateWrapper);
             }
         }else{
-            if(StringUtils.isNotBlank(model.getBikeCode())){
-                UpdateWrapper<Bikes> updateWrapper = new UpdateWrapper<>();
-                updateWrapper.lambda().set(Bikes::getCode, null );
-                updateWrapper.lambda().set(Bikes::getParamId, null );
-                updateWrapper.lambda().set(Bikes::getEditDate, new Date() );
-                updateWrapper.lambda().eq(Bikes::getCode, model.getCode() );
-                //娓呯┖鍘熸潵鐨勮嚜琛岃溅缁戝畾鍏崇郴
-                bikesMapper.update(null, updateWrapper);
-            }
             bikes = new Bikes();
             bikes.setId(Constants.getUUID());
             bikes.setIsdeleted(Constants.ZERO);
@@ -625,7 +625,7 @@
             return  null;
         }
         String type = bikeCode.substring(0,1);
-        if(Constants.BIKE_TYPE.contains(type)){
+        if(!Constants.BIKE_TYPE.contains(type)){
             return null;
         }
         BaseParam param = new BaseParam();
@@ -679,7 +679,6 @@
             updateWrapper.lambda().set(Locks::getStatus, locks.getStatus() );
             updateWrapper.lambda().set(Locks::getEditDate, new Date() );
             updateWrapper.lambda().set(Locks::getIsdeleted, Constants.ZERO);
-
             locksMapper.update(null,updateWrapper);
         }
         model.setSites(sites);

--
Gitblit v1.9.3