From 99b600d34ee5e2d82eecc4df233c33ecd0e18841 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期六, 19 七月 2025 16:14:20 +0800
Subject: [PATCH] 111

---
 server/web/src/main/java/com/doumee/api/web/OrdersApi.java                                      |   45 +++----
 server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java     |   16 ++
 server/services/src/main/java/com/doumee/dao/business/model/Orders.java                         |    5 
 server/services/src/main/java/com/doumee/service/business/OrdersService.java                    |   13 +-
 server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java           |  219 ++++++++++++++++++++++++------------
 server/admin/src/main/java/com/doumee/api/business/OrdersController.java                        |   14 +-
 server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java |    2 
 7 files changed, 196 insertions(+), 118 deletions(-)

diff --git a/server/admin/src/main/java/com/doumee/api/business/OrdersController.java b/server/admin/src/main/java/com/doumee/api/business/OrdersController.java
index 05784c8..29b719c 100644
--- a/server/admin/src/main/java/com/doumee/api/business/OrdersController.java
+++ b/server/admin/src/main/java/com/doumee/api/business/OrdersController.java
@@ -62,13 +62,13 @@
         return ApiResponse.success(null);
     }
 
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:orders:update")
-    public ApiResponse updateById(@RequestBody Orders orders) {
-        ordersService.updateById(orders);
-        return ApiResponse.success(null);
-    }
+//    @ApiOperation("鏍规嵁ID淇敼")
+//    @PostMapping("/updateById")
+//    @RequiresPermissions("business:orders:update")
+//    public ApiResponse updateById(@RequestBody Orders orders) {
+//        ordersService.updateById(orders);
+//        return ApiResponse.success(null);
+//    }
 
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/Orders.java b/server/services/src/main/java/com/doumee/dao/business/model/Orders.java
index cd3435a..197b04e 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/Orders.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/Orders.java
@@ -193,7 +193,7 @@
     private Integer isUpdate;
 
     @ApiModelProperty(value = "淇敼鏃堕棿", example = "1")
-    private Integer isUpdateTime;
+    private Date isUpdateTime;
 
     @ApiModelProperty(value = "鎺ュ崟鏂归粦鍚嶅崟member:id 澶氫釜浠�,鍒嗗壊")
     private String blackReceive;
@@ -364,6 +364,9 @@
     @TableField(exist = false)
     private BigDecimal queryLgt;
 
+    @ApiModelProperty(value = "鏄惁鍙彇娑堬細0=鍙互锛�1=涓嶅彲浠�", example = "1")
+    @TableField(exist = false)
+    private Integer cancelStatus;
 
 }
 
diff --git a/server/services/src/main/java/com/doumee/service/business/OrdersService.java b/server/services/src/main/java/com/doumee/service/business/OrdersService.java
index 0da39ec..0b0e568 100644
--- a/server/services/src/main/java/com/doumee/service/business/OrdersService.java
+++ b/server/services/src/main/java/com/doumee/service/business/OrdersService.java
@@ -52,8 +52,9 @@
      *
      * @param orders 瀹炰綋瀵硅薄
      */
-    void updateById(Orders orders);
+//    void updateById(Orders orders);
 
+    void update(Orders orders);
     /**
      * 鎵归噺涓婚敭鏇存柊
      *
@@ -105,13 +106,11 @@
 
     void begin(Integer orderId,Member member);
 
-    void updOrderData(UpdOrderDataDTO updOrderDataDTO);
-
+//    void updOrderData(UpdOrderDataDTO updOrderDataDTO);
+//
     void confirmUpd(ConfirmUpdOrderDTO confirmUpdOrderDTO);
 
-    void releaseCancelOrder(Integer orderId,Member member);
-
-    void receiveCancelOrder(Integer orderId,Member member);
+    void cancelOrder(Integer orderId,Member member);
 
     OrderReleaseVO doneOrder(DoneOrderDTO doneOrderDTO);
 
@@ -128,7 +127,7 @@
 
     PageData<Orders> findPageForMini(PageWrap<Orders> pageWrap);
 
-    Orders getDetail(Integer id,Integer userType);
+    Orders getDetail(Integer id,Member member);
 
     void refundCallback(RefundNotification refundNotification);
 
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java
index fb5d5b4..dfa044c 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java
@@ -73,9 +73,18 @@
         ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
-        if(Objects.nonNull(identityInfo.getId())){
-            this.updateById(identityInfo);
-        }else{
+            IdentityInfo model = identityInfoMapper.selectOne(new QueryWrapper<IdentityInfo>().lambda()
+                    .eq(IdentityInfo::getMemberId,identityInfo.getMemberId())
+                    .eq(IdentityInfo::getType,identityInfo.getType())
+                    .last("limit 1")
+            );
+            if(Objects.nonNull(model)){
+                identityInfo.setId(model.getId());
+                this.updateById(identityInfo);
+                return identityInfo.getId();
+            }
+
+
             //鏌ヨ鐢ㄦ埛鏄惁宸插瓨鍦ㄥ綋鍓嶈韩浠�
             if(identityInfoMapper.selectCount(new QueryWrapper<IdentityInfo>().lambda()
                     .eq(IdentityInfo::getDeleted,Constants.ZERO)
@@ -94,7 +103,6 @@
                     .set(Constants.equalsInteger(identityInfo.getType(),Constants.ONE),Member::getDriverIdentity,Constants.ONE)
                     .set(Constants.equalsInteger(identityInfo.getType(),Constants.TWO),Member::getChefIdentity,Constants.ONE)
                     .eq(Member::getId,identityInfo.getMemberId()));
-        }
         return identityInfo.getId();
     }
 
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java
index 8b094d9..86b0e61 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java
@@ -101,6 +101,7 @@
         orders.setPayStatus(Constants.ZERO);
         orders.setDeleted(Constants.ZERO);
         orders.setReleaseMemberId(orders.getMember().getId());
+        orders.setCommentStatus(Constants.ZERO);
         //鏌ヨ鎵嬬画璐�
         Category platformCategory = categoryMapper.selectOne(new QueryWrapper<Category>().lambda().eq(Category::getType,Constants.THREE).eq(Category::getName,orders.getType()).eq(Category::getDeleted,Constants.ZERO).last("limit 1 "));
         if(Objects.isNull(platformCategory)){
@@ -121,6 +122,7 @@
         if(Constants.equalsInteger(orders.getType(),Constants.TWO)){
             orders.setStatus(Constants.ordersStatus.waitPay.getKey());
             orders.setOutTradeNo(UUID.randomUUID().toString().replace("-",""));
+            orders.setPayAccount(orders.getEstimatedAccount());
             //鍞よ捣鏀粯涓氬姟
             objects = this.getWxPayResponse(orders,orders.getMember().getOpenid());
             orderReleaseVO.setObject(objects);
@@ -182,7 +184,7 @@
         request.setOutTradeNo(orders.getOutTradeNo());
         request.setNotifyUrl(WxMiniConfig.wxProperties.getNotifyUrl());//杩欎釜鍥炶皟url蹇呴』鏄痟ttps寮�澶寸殑
         Amount amount = new Amount();
-        amount.setTotal(1);//orders.getEstimatedAccount().intValue());
+        amount.setTotal(1);//orders.getPayAccount().intValue());
         request.setAmount(amount);
 //        PrepayResponse res = WxMiniConfig.wxPayService.prepay(request);
         // 璺熶箣鍓嶄笅鍗曠ず渚嬩竴鏍凤紝濉厖棰勪笅鍗曞弬鏁�
@@ -328,12 +330,40 @@
     }
 
     @Override
-    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
-    public void updateById(Orders orders) {
+    public void update(Orders orders){
         if(Objects.isNull(orders)
-        || Objects.isNull(orders.getId())){
+                || Objects.isNull(orders.getId())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
+        Orders model = ordersMapper.selectById(orders.getId());
+        if(!Constants.equalsInteger(model.getReleaseMemberId(),orders.getMember().getId())){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔");
+        }
+        if(Constants.equalsInteger(model.getIsUpdate(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟宸蹭慨鏀癸紝寰呮帴鍗曟柟纭锛屾棤娉曡繘琛岃鎿嶄綔");
+        }
+        if(!Constants.equalsInteger(model.getType(),Constants.TWO)){
+            if(Constants.equalsInteger(model.getStatus(),Constants.ZERO)||Constants.equalsInteger(model.getStatus(),Constants.ONE)){
+                this.updateById(orders);
+            }else if(Constants.equalsInteger(model.getStatus(),Constants.TWO)){
+                this.updOrderData(orders,model);
+            }else{
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED);
+            }
+        }else{
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED);
+        }
+
+
+
+    }
+
+
+
+//    @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+    public void updateById(Orders orders) {
+
         Orders model = ordersMapper.selectById(orders.getId());
         if(Constants.equalsInteger(model.getType(),Constants.TWO)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"姝ょ被璁㈠崟鏃犳硶杩涜淇敼");
@@ -362,6 +392,7 @@
                         || StringUtils.isEmpty(multifile.getName())){
                     throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢淇℃伅閿欒");
                 }
+                multifile.setId(null);
                 multifile.setIsdeleted(Constants.ZERO);
                 multifile.setCreateDate(new Date());
                 multifile.setObjId(orders.getId());
@@ -378,7 +409,7 @@
             return;
         }
         for (Orders orders: orderss) {
-            this.updateById(orders);
+            //this.updateById(orders);
         }
     }
 
@@ -501,6 +532,9 @@
         queryWrapper.like(org.apache.commons.lang3.StringUtils.isNotBlank(model.getCode()),Orders::getCode, model.getCode());
         queryWrapper.eq(Objects.nonNull(model.getType()),Orders::getType, model.getType());
         queryWrapper.eq(Objects.nonNull(model.getStatus()),Orders::getStatus, model.getStatus());
+        queryWrapper.eq(Objects.nonNull(model.getCommentStatus()),Orders::getCommentStatus, model.getCommentStatus());
+        queryWrapper.eq(Objects.nonNull(model.getReleaseMemberId()),Orders::getReleaseMemberId, model.getReleaseMemberId());
+        queryWrapper.eq(Objects.nonNull(model.getAcceptMemberId()),Orders::getAcceptMemberId, model.getAcceptMemberId());
         queryWrapper.eq(Objects.nonNull(model.getAcceptType()),Orders::getAcceptType, model.getAcceptType());
         queryWrapper.apply(org.apache.commons.lang3.StringUtils.isNotBlank(model.getReleaseName()),"m1.name", model.getReleaseName());
         queryWrapper.apply(org.apache.commons.lang3.StringUtils.isNotBlank(model.getAcceptName()),"( i.LINK_NAME like '%"+model.getAcceptName()+"%' or i.company_name like '%"+model.getAcceptName()+"%' or i.TELEPHONE like '%"+model.getAcceptName()+"%' ) ");
@@ -595,22 +629,23 @@
         if(Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎮ㄨ嚜宸辩殑璁㈠崟鏃犳硶杩涜璇ユ搷浣�");
         }
+         member = memberMapper.selectById(member.getId());
         //鏌ヨ鐢ㄦ埛鏄惁鏈夊搴旇韩浠�
         if(Constants.equalsInteger(orders.getType(),Constants.ZERO)){
             if(!Constants.equalsInteger(member.getWorkerIdentity(),Constants.TWO)){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"韬唤淇℃伅寮傚父锛岃鑱旂郴绠$悊鍛�");
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"韬唤淇℃伅寮傚父锛岃鍓嶅線涓汉涓績杩涜韬唤璁よ瘉!");
             }
         }else if(Constants.equalsInteger(orders.getType(),Constants.ONE)){
             if(!Constants.equalsInteger(member.getDriverIdentity(),Constants.TWO)){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"韬唤淇℃伅寮傚父锛岃鑱旂郴绠$悊鍛�");
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"韬唤淇℃伅寮傚父锛岃鍓嶅線涓汉涓績杩涜韬唤璁よ瘉!");
             }
         }else{
             if(!Constants.equalsInteger(member.getChefIdentity(),Constants.TWO)){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"韬唤淇℃伅寮傚父锛岃鑱旂郴绠$悊鍛�");
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"韬唤淇℃伅寮傚父锛岃鍓嶅線涓汉涓績杩涜韬唤璁よ瘉!");
             }
         }
 
-        ordersMapper.update(new UpdateWrapper<Orders>().lambda().eq(Orders::getId,orders.getId())
+         ordersMapper.update(new UpdateWrapper<Orders>().lambda().eq(Orders::getId,orders.getId())
                 .set(Orders::getUpdateTime,new Date())
                 .set(Orders::getAcceptType,Constants.ZERO)
                 .set(Orders::getAcceptTime,new Date())
@@ -670,50 +705,36 @@
 
     /**
      * 鍙戝崟鏂逛慨鏀硅鍗� - 宸叉帴鍗曠姸鎬�
-     * @param updOrderDataDTO
      */
-    @Override
+//    @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
-    public void updOrderData(UpdOrderDataDTO updOrderDataDTO){
-        if(Objects.isNull(updOrderDataDTO)
-            || Objects.isNull(updOrderDataDTO.getOrderId())
-            || Objects.isNull(updOrderDataDTO.getStartDate())
-            || Objects.isNull(updOrderDataDTO.getEndDate())){
+    public void updOrderData(Orders orders,Orders model){
+        if(Objects.isNull(orders)
+            || Objects.isNull(orders.getStartDate())
+            || Objects.isNull(orders.getEndDate())){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        Orders orders = ordersMapper.selectById(updOrderDataDTO.getOrderId());
-        if(Objects.isNull(orders)||Constants.equalsInteger(orders.getDeleted(),Constants.ONE)){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY);
-        }
-        if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey())){
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜璇ユ搷浣�");
-        }
-        if(!Constants.equalsInteger(orders.getReleaseMemberId(),updOrderDataDTO.getMember().getId())){
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔");
-        }
-        if(Constants.equalsInteger(orders.getIsUpdate(),Constants.ONE)){
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟宸蹭慨鏀癸紝寰呮帴鍗曟柟纭锛屾棤娉曡繘琛岃鎿嶄綔");
-        }
-        orders.setStartDate(updOrderDataDTO.getStartDate());
-        orders.setEndDate(updOrderDataDTO.getEndDate());
-        orders.setTotalDays(updOrderDataDTO.getTotalDays());
+        model.setTotalDays(DateUtil.daysBetweenDates(orders.getEndDate(),orders.getStartDate())+1);
+        model.setStartDate(orders.getStartDate());
+        model.setEndDate(orders.getEndDate());
         //鐢ㄨ溅绫诲瀷
-        if(Constants.equalsInteger(orders.getType(),Constants.ONE)){
-            if(Constants.equalsInteger(orders.getCarType(),Constants.ZERO)) {
-                orders.setPriceNum1(updOrderDataDTO.getTotalDays());
+        if(Constants.equalsInteger(model.getType(),Constants.ONE)){
+            if(Constants.equalsInteger(model.getCarType(),Constants.ZERO)) {
+                model.setPriceNum1(orders.getTotalDays());
             }
-        }else if(Constants.equalsInteger(orders.getType(),Constants.ZERO)){
-            if(Constants.equalsInteger(orders.getWorkType(),Constants.ONE)||(Constants.equalsInteger(orders.getWorkType(),Constants.TWO)&&Constants.equalsInteger(orders.getCarType(),Constants.ZERO))){
-                orders.setPriceNum1(updOrderDataDTO.getTotalDays());
+        }else if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
+            if(Constants.equalsInteger(model.getWorkType(),Constants.ONE)||
+                    (Constants.equalsInteger(model.getWorkType(),Constants.TWO)&&Constants.equalsInteger(model.getCarType(),Constants.ZERO))){
+                model.setPriceNum1(orders.getTotalDays());
             }
         }else{
-            orders.setPriceNum1(updOrderDataDTO.getTotalDays());
+            model.setPriceNum1(orders.getTotalDays());
         }
         Long total = this.getTotal(orders);
         ordersMapper.update(new UpdateWrapper<Orders>().lambda()
-                .set(Orders::getStartDate,updOrderDataDTO.getStartDate())
-                .set(Orders::getEndDate,updOrderDataDTO.getEndDate())
-                .set(Orders::getTotalDays,updOrderDataDTO.getTotalDays())
+                .set(Orders::getStartDate,model.getStartDate())
+                .set(Orders::getEndDate,model.getEndDate())
+                .set(Orders::getTotalDays,model.getTotalDays())
                 .set(Orders::getIsUpdate,Constants.ONE)
                 .set(Orders::getIsUpdateTime,new Date())
                 .set(Orders::getUpdateTime,new Date())
@@ -722,8 +743,8 @@
         );
         //鍒涘缓鎿嶄綔鏃ュ織
         Constants.OrdersLog ordersLog = Constants.OrdersLog.UPD_ORDER;
-        this.saveOrderLog(orders,ordersLog,
-                ordersLog.getInfo(),updOrderDataDTO.getMember().getId(),null);
+        this.saveOrderLog(model,ordersLog,
+                ordersLog.getInfo(),orders.getMember().getId(),null);
 
         //TODO 閫氱煡鎺ュ崟浜� 璁㈠崟鍙戠敓鍙樻洿
     }
@@ -779,7 +800,7 @@
         if(!Constants.equalsInteger(orders.getAcceptMemberId(),confirmUpdOrderDTO.getMember().getId())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔");
         }
-        if( Constants.equalsInteger(confirmUpdOrderDTO.getStatus(),Constants.ONE)){
+        if(!Constants.equalsInteger(confirmUpdOrderDTO.getStatus(),Constants.ONE)){
             ordersMapper.update(new UpdateWrapper<Orders>().lambda()
                     .set(Orders::getIsUpdate,Constants.TWO)
                     .set(Orders::getUpdateTime,new Date())
@@ -799,7 +820,7 @@
                     .eq(Orders::getId,orders.getId())
             );
 
-            memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getReceiveNum,"receive_num - 1").eq(Member::getId,confirmUpdOrderDTO.getMember().getId()));
+            memberMapper.update(new UpdateWrapper<Member>().lambda().setSql("receive_num = receive_num - 1").eq(Member::getId,confirmUpdOrderDTO.getMember().getId()));
 
             //璁板綍涓嶅悓鎰忎慨鏀圭殑鏃ュ織
             Constants.OrdersLog ordersLog = Constants.OrdersLog.UPD_DISAGREE;
@@ -810,18 +831,30 @@
     }
 
 
-    /**
-     * 鍙戝崟鏂瑰彇娑堣鍗�
-     * @param orderId
-     * @param member
-     */
     @Override
-    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
-    public void releaseCancelOrder(Integer orderId,Member member){
+    public void cancelOrder(Integer orderId,Member member){
         Orders orders = ordersMapper.selectById(orderId);
         if(Objects.isNull(orders)||Constants.equalsInteger(orders.getDeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
+        if(Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){
+            this.releaseCancelOrder(orders,member);
+        }else if(Constants.equalsInteger(orders.getAcceptMemberId(),member.getId())){
+            this.receiveCancelOrder(orders,member);
+        }else{
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔");
+        }
+
+    }
+
+
+
+    /**
+     * 鍙戝崟鏂瑰彇娑堣鍗�
+     * @param member
+     */
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+    public void releaseCancelOrder(Orders orders,Member member){
         if(!(Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.wait.getKey())
                 ||Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.waitPay.getKey())
         || Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey()))){
@@ -893,10 +926,10 @@
             //TODO 鍙戝崟鏂瑰彇娑堣鍗曢�氱煡鎺ュ崟鏂�
 
             //鍑忓皯鎺ュ崟閲�
-            memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getReceiveNum,"receive_num - 1").eq(Member::getId,orders.getAcceptMemberId()));
+            memberMapper.update(new UpdateWrapper<Member>().lambda().setSql("receive_num = (receive_num - 1) ").eq(Member::getId,orders.getAcceptMemberId()));
         }
         //鍑忓皯鍙戝崟閲�
-        memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getPublishNum,"publish_num - 1").eq(Member::getId,orders.getReleaseMemberId()));
+        memberMapper.update(new UpdateWrapper<Member>().lambda().setSql("publish_num = (publish_num - 1)").eq(Member::getId,orders.getReleaseMemberId()));
 
         //鏃ュ織瀛樺偍
         Constants.OrdersLog ordersLog = Constants.OrdersLog.RELEASE_CANCEL;
@@ -907,16 +940,10 @@
 
     /**
      * 鎺ュ崟鏂瑰彇娑堟帴鍗�
-     * @param orderId
      * @param member
      */
-    @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
-    public void receiveCancelOrder(Integer orderId,Member member){
-        Orders orders = ordersMapper.selectById(orderId);
-        if(Objects.isNull(orders)||Constants.equalsInteger(orders.getDeleted(),Constants.ONE)){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY);
-        }
+    public void receiveCancelOrder(Orders orders,Member member){
         if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜鍙栨秷");
         }
@@ -948,7 +975,7 @@
         );
 
         //鍑忓皯鎺ュ崟閲�
-        memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getReceiveNum,"receive_num - 1").eq(Member::getId,orders.getAcceptMemberId()));
+        memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" receive_num = receive_num - 1 ").eq(Member::getId,orders.getAcceptMemberId()));
         //鏃ュ織瀛樺偍
         Constants.OrdersLog ordersLog = Constants.OrdersLog.CANCEL;
         this.saveOrderLog(orders,ordersLog,
@@ -994,7 +1021,7 @@
             orders.setOutTradeNo(UUID.randomUUID().toString().replace("-",""));
             ordersMapper.updateById(orders);
             //鍞よ捣鏀粯涓氬姟
-            object = this.getWxPayResponse(orders,orders.getMember().getOpenid());
+            object = this.getWxPayResponse(orders,doneOrderDTO.getMember().getOpenid());
             orderReleaseVO.setObject(object);
         }else{
             orders.setStatus(Constants.ordersStatus.done.getKey());
@@ -1147,13 +1174,14 @@
                 .set(Orders::getUpdateTime,new Date())
                 .set(Orders::getCommentTime,new Date())
                 .set(Orders::getCommentLevel,commentDTO.getLevel())
+                .set(org.apache.commons.lang3.StringUtils.isNotBlank(commentDTO.getInfo()),Orders::getCommentInfo,commentDTO.getInfo())
                 .set(Orders::getCommentType,Constants.ZERO)
                 .eq(Orders::getId,orders.getId())
         );
         memberMapper.update(new UpdateWrapper<Member>().lambda()
-                .set(Member::getScore," ( total_score +" + commentDTO.getLevel() + " ) / (score_order_num + 1 )")
-                .set(Member::getTotalScore," total_score +" + commentDTO.getLevel())
-                .set(Member::getScoreOrderNum," score_order_num + 1 " ).eq(Member::getId,orders.getAcceptMemberId())
+                .setSql(" score =  ( total_score +" + commentDTO.getLevel() + " ) / (score_order_num + 1 )")
+                .setSql(" total_score =  total_score +" + commentDTO.getLevel())
+                .setSql(" score_order_num = score_order_num + 1 " ).eq(Member::getId,orders.getAcceptMemberId())
         );
         //鏃ュ織瀛樺偍
         Constants.OrdersLog ordersLog = Constants.OrdersLog.COMMENT;
@@ -1171,7 +1199,7 @@
     @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public String payNotify(String preOrderId,String paymentNo){
-        Orders orders = ordersMapper.selectOne(new QueryWrapper<Orders>().lambda().eq(Orders::getCode,preOrderId).last("limit 1"));
+        Orders orders = ordersMapper.selectOne(new QueryWrapper<Orders>().lambda().eq(Orders::getOutTradeNo,preOrderId).last("limit 1"));
         if(Constants.equalsInteger(orders.getType(),Constants.TWO)){
             //鐢ㄩ璁㈠崟  濡傛灉宸茬粡娴佽浆鍒板凡鏀粯  鍒欑洿鎺ヨ繑鍥�
             if(!Constants.equalsInteger(orders.getStatus(),Constants.ZERO)){
@@ -1214,6 +1242,8 @@
                 //瀛樺偍娴佹按璁板綍
                 MemberRevenue memberRevenue = new MemberRevenue();
                 memberRevenue.setCreateTime(new Date());
+                memberRevenue.setDeleted(Constants.ZERO);
+                memberRevenue.setTransactionNo(orders.getCode());
                 memberRevenue.setMemberId(orders.getAcceptMemberId());
                 memberRevenue.setType(orders.getType());
                 memberRevenue.setOptType(Constants.ONE);
@@ -1233,8 +1263,8 @@
 
                 //鏇存柊鎺ュ崟鐢ㄦ埛鐨勪綑棰濅笌鍘嗗彶鎬婚噾棰�
                 memberMapper.update(new UpdateWrapper<Member>().lambda()
-                        .set(Member::getAmount,"amount + " + orders.getReceiveAccount() )
-                        .set(Member::getTotalAmount,"amount + " + orders.getReceiveAccount() )
+                        .setSql(" amount = ( amount + " + orders.getReceiveAccount() +")" )
+                        .setSql(" total_amount = ( amount + " + orders.getReceiveAccount() + ")" )
                         .eq(Member::getId,member.getId())
                 );
 
@@ -1320,7 +1350,7 @@
                 //鎺ュ崟鏂� 鎴戠殑璁㈠崟
                 queryWrapper.eq(Orders::getAcceptMemberId,model.getMember().getId());
                 queryWrapper.eq(Objects.nonNull(model.getStatus()),Orders::getStatus,model.getStatus());
-                queryWrapper.orderByDesc(Orders::getCreateTime);
+                queryWrapper.orderByDesc(Orders::getAcceptTime);
             }else{
                 //鏌ヨ鐢ㄦ埛鐨勬帴鍗曟潈閲�
                 ReceiveWeight receiveWeight = receiveWeightMapper.selectOne(new QueryWrapper<ReceiveWeight>().lambda().eq(ReceiveWeight::getDeleted,Constants.ZERO).apply(" RECEIVE_MIN < "+model.getMember().getReceiveNum()+" and RECEIVE_MAX > " + model.getMember().getReceiveNum()).last(" limit 1 "));
@@ -1427,7 +1457,7 @@
 
 
     @Override
-    public Orders getDetail(Integer id,Integer userType) {
+    public Orders getDetail(Integer id,Member member) {
         Orders orders = ordersMapper.selectJoinOne(Orders.class,new MPJLambdaWrapper<Orders>()
                         .selectAll(Orders.class)
                         .select(" m1.name " , Orders::getReleaseName)
@@ -1472,11 +1502,56 @@
             orders.setMultifileList(multifileList);
         }
         orders.setStatusName(Constants.ordersStatus.getName(orders.getStatus()));
+        orders.setCancelStatus(Constants.ZERO);
+        this.getPriceUnit(orders);
+        if(orders.getStatus() <= Constants.ordersStatus.accept.getKey()){
+            if(Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){
+                //鍒ゆ柇鏄惁鍙慨鏀� 宸插彇娑堟鏁� 涓� 鏃堕棿闄愬埗
+                Integer totalCancelTimes = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RELEASE_CANCEL_TIMES).getCode());
+                Long cancelTimes = ordersMapper.selectCount(new QueryWrapper<Orders>().lambda()
+                        .apply(" DATE(cancel_time) = DATE(NOW()) ")
+                        .eq(Orders::getStatus,Constants.ordersStatus.cancel.getKey())
+                        .eq(Orders::getReleaseMemberId,orders.getReleaseMemberId()));
+                //鏌ヨ鍙栨秷娆℃暟
+                if(totalCancelTimes<=cancelTimes){
+                    orders.setCancelStatus(Constants.ONE);
+                    return orders;
+                }
+                Integer cancelTimeHour = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RELEASE_CANCEL_TIME).getCode());
+                Long hours = DateUtil.getBetweenHours(new Date(),orders.getStartDate());
+                if(hours < cancelTimeHour){
+                    orders.setCancelStatus(Constants.ONE);
+                    return orders;
+                }
+            }else if(Constants.equalsInteger(orders.getAcceptMemberId(),member.getId())){
+                //鍒ゆ柇鏄惁鍙慨鏀� 宸插彇娑堟鏁� 涓� 鏃堕棿闄愬埗
+                Integer totalCancelTimes = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RECEIVE_CANCEL_TIMES).getCode());
+                Long cancelTimes = orderLogMapper.selectCount(new QueryWrapper<OrderLog>().lambda()
+                        .apply(" DATE(create_time) = DATE(NOW()) ")
+                        .eq(OrderLog::getObjType,Constants.OrdersLog.CANCEL.getKey())
+                        .eq(OrderLog::getMemberId,member.getId()));
+                //鏌ヨ鍙栨秷娆℃暟
+                if(totalCancelTimes<=cancelTimes){
+                    orders.setCancelStatus(Constants.ONE);
+                    return orders;
+                }
 
+                Integer cancelTimeHour = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RECEIVE_CANCEL_TIME).getCode());
+                Long hours = DateUtil.getBetweenHours(new Date(),orders.getStartDate());
+                if(hours < cancelTimeHour){
+                    orders.setCancelStatus(Constants.ONE);
+                    return orders;
+                }
+            }
+        } else{
+            orders.setCancelStatus(Constants.ONE);
+        }
         return orders;
     }
 
 
+
+
     public synchronized String  getNextCode(Integer type){
         String prefix = "YG";
         if(!Constants.equalsInteger(type,Constants.ZERO)){
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java
index ef8c562..facfcc1 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java
@@ -222,6 +222,8 @@
             //瀛樺偍娴佹按璁板綍
             MemberRevenue memberRevenue = new MemberRevenue();
             memberRevenue.setCreateTime(new Date());
+            memberRevenue.setTransactionNo(withdrawalOrders.getOutBillNo());
+            memberRevenue.setDeleted(Constants.ZERO);
             memberRevenue.setMemberId(member.getId());
             memberRevenue.setType(Constants.THREE);
             memberRevenue.setOptType(-Constants.ONE);
diff --git a/server/web/src/main/java/com/doumee/api/web/OrdersApi.java b/server/web/src/main/java/com/doumee/api/web/OrdersApi.java
index fe942c1..3bfc6c4 100644
--- a/server/web/src/main/java/com/doumee/api/web/OrdersApi.java
+++ b/server/web/src/main/java/com/doumee/api/web/OrdersApi.java
@@ -62,9 +62,22 @@
     })
     public ApiResponse updateOrder(@RequestBody Orders orders) {
         orders.setMember(this.getMemberResponse());
-        ordersService.updateById(orders);
+        ordersService.update(orders);
         return  ApiResponse.success("鎿嶄綔鎴愬姛");
     }
+
+
+//    @LoginRequired
+//    @ApiOperation(value = "淇敼璁㈠崟鏃ユ湡 - 鍙戝崟鏂�", notes = "灏忕▼搴忕")
+//    @PostMapping("/updOrderData")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+//    })
+//    public ApiResponse updOrderData(@RequestBody UpdOrderDataDTO updOrderDataDTO) {
+//        updOrderDataDTO.setMember(this.getMemberResponse());
+//        ordersService.updOrderData(updOrderDataDTO);
+//        return  ApiResponse.success("鎿嶄綔鎴愬姛");
+//    }
 
     @LoginRequired
     @ApiOperation(value = "鎵嬪姩鎺ュ崟 - 鎺ュ崟鏂�", notes = "灏忕▼搴忕")
@@ -90,39 +103,17 @@
 
     @LoginRequired
     @ApiOperation(value = "鍙栨秷璁㈠崟 - 鍙戝崟鏂�", notes = "灏忕▼搴忕")
-    @GetMapping("/releaseCancelOrder")
+    @GetMapping("/cancelOrder")
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
     })
-    public ApiResponse releaseCancelOrder(@RequestParam Integer orderId) {
-        ordersService.releaseCancelOrder(orderId,this.getMemberResponse());
+    public ApiResponse cancelOrder(@RequestParam Integer orderId) {
+        ordersService.cancelOrder(orderId,this.getMemberResponse());
         return  ApiResponse.success("鎿嶄綔鎴愬姛");
     }
 
 
-    @LoginRequired
-    @ApiOperation(value = "鍙栨秷鎺ュ崟 - 鎺ュ崟鏂�", notes = "灏忕▼搴忕")
-    @GetMapping("/receiveCancelOrder")
-    @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
-    })
-    public ApiResponse receiveCancelOrder(@RequestParam Integer orderId) {
-        ordersService.receiveCancelOrder(orderId,this.getMemberResponse());
-        return  ApiResponse.success("鎿嶄綔鎴愬姛");
-    }
 
-
-    @LoginRequired
-    @ApiOperation(value = "淇敼璁㈠崟鏃ユ湡 - 鍙戝崟鏂�", notes = "灏忕▼搴忕")
-    @PostMapping("/updOrderData")
-    @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
-    })
-    public ApiResponse updOrderData(@RequestBody UpdOrderDataDTO updOrderDataDTO) {
-        updOrderDataDTO.setMember(this.getMemberResponse());
-        ordersService.updOrderData(updOrderDataDTO);
-        return  ApiResponse.success("鎿嶄綔鎴愬姛");
-    }
 
     @LoginRequired
     @ApiOperation(value = "纭璁㈠崟淇敼 - 鎺ュ崟鏂�", notes = "灏忕▼搴忕")
@@ -191,7 +182,7 @@
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
     })
     public ApiResponse<Orders> getDetail(@RequestParam Integer orderId) {
-        return  ApiResponse.success("鎿嶄綔鎴愬姛",ordersService.getDetail(orderId,this.getMemberResponse().getUseIdentity()));
+        return  ApiResponse.success("鎿嶄綔鎴愬姛",ordersService.getDetail(orderId,this.getMemberResponse()));
     }
 
     @LoginRequired

--
Gitblit v1.9.3