From 4406bf965a39cf9af71ed822abfce76f64be04f9 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 16 七月 2025 18:17:24 +0800
Subject: [PATCH] 111

---
 server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java |  662 ++++++++++++++++++++++++++++++++----------------------
 1 files changed, 394 insertions(+), 268 deletions(-)

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 8887d58..8bd112f 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
@@ -27,7 +27,9 @@
 import com.wechat.pay.java.service.partnerpayments.jsapi.model.Payer;
 import com.wechat.pay.java.service.partnerpayments.jsapi.model.PrepayRequest;
 import com.wechat.pay.java.service.partnerpayments.jsapi.model.PrepayWithRequestPaymentResponse;
+import com.wechat.pay.java.service.refund.model.RefundNotification;
 import jodd.util.StringUtil;
+import lombok.With;
 import nonapi.io.github.classgraph.json.Id;
 import org.apache.poi.sl.image.ImageHeaderEMF;
 import org.checkerframework.checker.units.qual.A;
@@ -38,11 +40,13 @@
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
+import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 import java.util.UUID;
+import java.util.concurrent.TimeUnit;
 
 /**
  * 璁㈠崟淇℃伅璁板綍Service瀹炵幇
@@ -77,7 +81,13 @@
     private IdentityInfoMapper identityInfoMapper;
 
     @Autowired
+    private WithdrawalOrdersMapper withdrawalOrdersMapper;
+
+    @Autowired
     private WxMiniUtilService wxMiniUtilService;
+
+    @Resource
+    private RedisTemplate<String,Object> redisTemplate;
 
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
@@ -85,7 +95,16 @@
         Object objects = null;
         this.initVerification(orders);
         orders.setCreateTime(new Date());
+        orders.setUpdateTime(orders.getUpdateTime());
         orders.setPayStatus(Constants.ZERO);
+        orders.setDeleted(Constants.ZERO);
+        orders.setReleaseMemberId(orders.getMember().getId());
+        //鏌ヨ鎵嬬画璐�
+        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)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈缃钩鍙伴厤缃俊鎭�");
+        }
+        orders.setPlatformRata(new BigDecimal(platformCategory.getDetail()).divide(new BigDecimal("100")));
         //璁㈠崟缂栧彿
         orders.setCode(this.getNextCode(orders.getType()));
         Category category = categoryMapper.selectOne(new QueryWrapper<Category>().lambda()
@@ -98,11 +117,11 @@
         }
         //鐢ㄩ璁㈠崟
         if(Constants.equalsInteger(orders.getType(),Constants.TWO)){
-            orders.setStatus(Constants.ZERO);
+            orders.setStatus(Constants.ordersStatus.waitPay.getKey());
             //鍞よ捣鏀粯涓氬姟
             objects = this.getWxPayResponse(orders,orders.getMember().getOpenid());
         }else{
-            orders.setStatus(Constants.ONE);
+            orders.setStatus(Constants.ordersStatus.wait.getKey());
         }
         ordersMapper.insert(orders);
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(orders.getMultifileList())){
@@ -122,7 +141,7 @@
             multifileMapper.insert(multifileList);
         }
         //鏇存柊鐢ㄦ埛鍙戝崟閲�
-        memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getReceiveNum," (receive_num + 1 )").eq(Member::getId,orders.getMember().getId()));
+        memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" receive_num =  ( receive_num + 1 )").eq(Member::getId,orders.getMember().getId()));
 
         //鍒涘缓鎿嶄綔鏃ュ織
         Constants.OrdersLog ordersLog = Constants.OrdersLog.UPLOAD;
@@ -201,10 +220,10 @@
                 || Objects.isNull(orders.getEndDate())
                 || StringUtil.isBlank(orders.getLocation())
                 || StringUtil.isBlank(orders.getLocationRemark())
+                || StringUtil.isBlank(orders.getLinkPhone())
                 || Objects.isNull(orders.getLat())
                 || Objects.isNull(orders.getLgt())
                 || Objects.isNull(orders.getCategoryId())
-                || Objects.isNull(orders.getTotalDays())
                 || (Constants.equalsInteger(orders.getType(),Constants.ZERO) && Objects.isNull(orders.getWorkType()))
                 || Objects.isNull(orders.getPriceNum1())
                 || Objects.isNull(orders.getEstimatedAccount())
@@ -212,19 +231,20 @@
         ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
-        if((Constants.equalsInteger(orders.getType(),Constants.ZERO) && Constants.equalsInteger(orders.getWorkType(),Constants.ZERO ))
-                || (Constants.equalsInteger(orders.getType(),Constants.ZERO) && Constants.equalsInteger(orders.getWorkType(),Constants.TWO)
-                        &&Constants.equalsInteger(orders.getCarType(),Constants.TWO))
-                || Constants.equalsInteger(orders.getType(),Constants.ONE)
+        if( (Constants.equalsInteger(orders.getType(),Constants.ZERO) && Constants.equalsInteger(orders.getWorkType(),Constants.TWO) &&
+            ( Constants.equalsInteger(orders.getCarType(),Constants.ZERO) || Constants.equalsInteger(orders.getCarType(),Constants.ONE) ))
+            || (Constants.equalsInteger(orders.getType(),Constants.ZERO) && Constants.equalsInteger(orders.getWorkType(),Constants.ONE))
         ){
+            if(Objects.isNull(orders.getPriceNum2())){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST);
+            }
+        }else{
             orders.setPriceNum2(Constants.ONE);
         }
-        if(Objects.isNull(orders.getPriceNum2())){
-            throw new BusinessException(ResponseStatus.BAD_REQUEST);
-        }
+        orders.setTotalDays(DateUtil.daysBetweenDates(orders.getEndDate(),orders.getStartDate())+1);
         if(Constants.equalsInteger(orders.getType(),Constants.ZERO)){
             if(Constants.equalsInteger(orders.getWorkType(),Constants.TWO)
-            && Objects.isNull(orders.getCarType())){
+            && ( Objects.isNull(orders.getCarType())  ) ){
                 throw new BusinessException(ResponseStatus.BAD_REQUEST);
             }
         }else if(Constants.equalsInteger(orders.getType(),Constants.ONE)){
@@ -233,6 +253,7 @@
                     || Objects.isNull(orders.getTransportNum())
                     || StringUtils.isEmpty(orders.getTransportUnit())
                     || StringUtils.isEmpty(orders.getLocationEnd())
+                    || StringUtils.isEmpty(orders.getCarUnit())
                     || Objects.isNull(orders.getLatEnd())
                     || Objects.isNull(orders.getLgtEnd())
                     || CollectionUtils.isEmpty(orders.getWayInfoDTOList())
@@ -357,7 +378,76 @@
 
     @Override
     public Orders findById(Integer id) {
-        return ordersMapper.selectById(id);
+        Orders orders = ordersMapper.selectJoinOne(Orders.class,new MPJLambdaWrapper<Orders>()
+                        .selectAll(Orders.class)
+                        .select(" m1.name " , Orders::getReleaseName)
+                        .select(" m1.telephone " , Orders::getReleasePhone)
+                        .select(" case when i.AUTH_TYPE = 0 then i.LINK_NAME else i.COMPANY_NAME end " , Orders::getAcceptName)
+                        .select(" i.TELEPHONE " , Orders::getAcceptPhone)
+                        .select("c1.name",Orders::getCategoryName)
+                        .select("c2.name",Orders::getTransportTypeName)
+                        .leftJoin(" category c1 on t.category_id = c1.id  ")
+                        .leftJoin(" category c2 on t.TRANSPORT_TYPE_ID = c2.id  ")
+                        .leftJoin("member m1 on t.RELEASE_MEMBER_ID = m1.id ")
+                        .leftJoin("member m2 on t.ACCEPT_MEMBER_ID = m2.id ")
+                        .leftJoin("identity_info i on m2.id = i.MEMBER_ID and i.TYPE = t.type and i.AUDIT_STATUS = 2  ")
+                        .eq(Orders::getDeleted,Constants.ZERO)
+                        .eq(Orders::getId,id)
+                        .orderByDesc(Orders::getId));
+        if(Objects.isNull(orders)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        orders.setStatusName(Constants.ordersStatus.getName(orders.getStatus()));
+
+        if(Constants.equalsInteger(orders.getType(),Constants.ZERO)){
+            if(Constants.equalsInteger(orders.getWorkType(),Constants.ZERO)){
+                orders.setPriceUnit("鍏�/鏂�");
+            }else if(Constants.equalsInteger(orders.getWorkType(),Constants.ONE)){
+                orders.setPriceUnit("鍏�/浜�/澶�");
+            }else{
+                if(Constants.equalsInteger(orders.getCarType(),Constants.ZERO)){
+                    orders.setPriceUnit("鍏�/浜�/澶�");
+                }else if(Constants.equalsInteger(orders.getCarType(),Constants.ONE)){
+                    orders.setPriceUnit("鍏�/浜�/灏忔椂");
+                }else{
+                    orders.setPriceUnit("鍏�/鏂�");
+                }
+            }
+        }else if(Constants.equalsInteger(orders.getType(),Constants.ONE)){
+            if(Constants.equalsInteger(orders.getCarType(),Constants.ZERO)){
+                orders.setPriceUnit("鍏�/澶�");
+            }else if(Constants.equalsInteger(orders.getCarType(),Constants.ONE)){
+                orders.setPriceUnit("鍏�/娆�");
+            }
+        }
+        //闄勪欢淇℃伅
+        List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda().eq(Multifile::getObjId,orders.getId())
+                .eq(Multifile::getIsdeleted,Constants.ZERO).eq(Multifile::getObjType,Constants.ONE).orderByAsc(Multifile::getId));
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
+            String path  = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode()
+                    +systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ORDERS_FILES).getCode();
+            for (Multifile multifile:multifileList) {
+                multifile.setFileurlFull(path + multifile.getFileurl());
+            }
+            orders.setMultifileList(multifileList);
+        }
+        //璁㈠崟娴佽浆璁板綍
+        List<OrderLog> orderLogList = orderLogMapper.selectList(new QueryWrapper<OrderLog>().lambda()
+                .eq(OrderLog::getDeleted,Constants.ZERO)
+                .eq(OrderLog::getOrderId,orders.getId())
+                .orderByAsc(OrderLog::getCreateTime)
+        );
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(orderLogList)){
+            for (OrderLog orderLog:orderLogList) {
+                if(Constants.equalsInteger(orderLog.getOptUserType(),Constants.ZERO)){
+                    orderLog.setLogInfo(orderLog.getLogInfo().replace("{userName}",orders.getReleaseName()));
+                }else if(Constants.equalsInteger(orderLog.getOptUserType(),Constants.ONE)){
+                    orderLog.setLogInfo(orderLog.getLogInfo().replace("{userName}",orders.getAcceptName()));
+                }
+            }
+            orders.setOrderLogList(orderLogList);
+        }
+        return orders;
     }
 
     @Override
@@ -375,176 +465,102 @@
     @Override
     public PageData<Orders> findPage(PageWrap<Orders> pageWrap) {
         IPage<Orders> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<Orders> queryWrapper = new QueryWrapper<>();
+        MPJLambdaWrapper<Orders> queryWrapper = new MPJLambdaWrapper<Orders>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        if (pageWrap.getModel().getId() != null) {
-            queryWrapper.lambda().eq(Orders::getId, pageWrap.getModel().getId());
+        Orders model  = pageWrap.getModel();
+        queryWrapper.selectAll(Orders.class)
+                .select(" m1.name " , Orders::getReleaseName)
+                .select(" m1.telephone " , Orders::getReleasePhone)
+                .select(" case when i.AUTH_TYPE = 0 then i.LINK_NAME else i.COMPANY_NAME end " , Orders::getAcceptName)
+                .select(" i.TELEPHONE " , Orders::getAcceptPhone)
+                .select("c1.name",Orders::getCategoryName)
+                .select("c2.name",Orders::getTransportTypeName)
+                .leftJoin(" category c1 on t.category_id = c1.id  ")
+                .leftJoin(" category c2 on t.TRANSPORT_TYPE_ID = c2.id  ")
+                .leftJoin("member m1 on t.RELEASE_MEMBER_ID = m1.id ")
+                .leftJoin("member m2 on t.ACCEPT_MEMBER_ID = m2.id ")
+                .leftJoin("identity_info i on m2.id = i.MEMBER_ID and i.TYPE = t.type and i.AUDIT_STATUS = 2  ")
+                .eq(Orders::getDeleted,Constants.ZERO)
+                .orderByDesc(Orders::getId)
+        ;
+        queryWrapper.ge(Objects.nonNull(model.getCreateTimeStart()),Orders::getCreateTime, Utils.Date.getStart(model.getCreateTimeStart()));
+        queryWrapper.le(Objects.nonNull(model.getCreateTimeEnd()),Orders::getCreateTime, Utils.Date.getEnd(model.getCreateTimeEnd()));
+        queryWrapper.ge(Objects.nonNull(model.getAcceptTimeStart()),Orders::getAcceptTime, Utils.Date.getStart(model.getAcceptTimeStart()));
+        queryWrapper.le(Objects.nonNull(model.getAcceptTimeEnd()),Orders::getAcceptTime, Utils.Date.getEnd(model.getAcceptTimeEnd()));
+        queryWrapper.ge(Objects.nonNull(model.getDoneTimeStart()),Orders::getFinishTime, Utils.Date.getStart(model.getDoneTimeStart()));
+        queryWrapper.le(Objects.nonNull(model.getDoneTimeEnd()),Orders::getFinishTime, Utils.Date.getEnd(model.getDoneTimeEnd()));
+        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.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()+"%' ) ");
+        IPage<Orders> iPage = ordersMapper.selectJoinPage(page,Orders.class,queryWrapper);
+        for (Orders orders:iPage.getRecords()) {
+           this.getOrderContent(orders);
+           orders.setStatusName(Constants.ordersStatus.getName(orders.getStatus()));
+           orders.setEstimatedAccountYuan(Objects.nonNull(orders.getEstimatedAccount())&&orders.getEstimatedAccount()>0?orders.getEstimatedAccount()/100:0L);
+           orders.setPayAccountYuan(Objects.nonNull(orders.getPayAccount())&&orders.getPayAccount()>0?orders.getPayAccount()/100:0L);
         }
-        if (pageWrap.getModel().getDeleted() != null) {
-            queryWrapper.lambda().eq(Orders::getDeleted, pageWrap.getModel().getDeleted());
-        }
-        if (pageWrap.getModel().getCreateUser() != null) {
-            queryWrapper.lambda().eq(Orders::getCreateUser, pageWrap.getModel().getCreateUser());
-        }
-        if (pageWrap.getModel().getCreateTime() != null) {
-            queryWrapper.lambda().ge(Orders::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime()));
-            queryWrapper.lambda().le(Orders::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime()));
-        }
-        if (pageWrap.getModel().getUpdateUser() != null) {
-            queryWrapper.lambda().eq(Orders::getUpdateUser, pageWrap.getModel().getUpdateUser());
-        }
-        if (pageWrap.getModel().getUpdateTime() != null) {
-            queryWrapper.lambda().ge(Orders::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime()));
-            queryWrapper.lambda().le(Orders::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()));
-        }
-        if (pageWrap.getModel().getRemark() != null) {
-            queryWrapper.lambda().eq(Orders::getRemark, pageWrap.getModel().getRemark());
-        }
-        if (pageWrap.getModel().getReleaseMemberId() != null) {
-            queryWrapper.lambda().eq(Orders::getReleaseMemberId, pageWrap.getModel().getReleaseMemberId());
-        }
-        if (pageWrap.getModel().getType() != null) {
-            queryWrapper.lambda().eq(Orders::getType, pageWrap.getModel().getType());
-        }
-        if (pageWrap.getModel().getStartDate() != null) {
-            queryWrapper.lambda().ge(Orders::getStartDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()));
-            queryWrapper.lambda().le(Orders::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getStartDate()));
-        }
-        if (pageWrap.getModel().getEndDate() != null) {
-            queryWrapper.lambda().ge(Orders::getEndDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()));
-            queryWrapper.lambda().le(Orders::getEndDate, Utils.Date.getEnd(pageWrap.getModel().getEndDate()));
-        }
-        if (pageWrap.getModel().getLocation() != null) {
-            queryWrapper.lambda().eq(Orders::getLocation, pageWrap.getModel().getLocation());
-        }
-        if (pageWrap.getModel().getLocationRemark() != null) {
-            queryWrapper.lambda().eq(Orders::getLocationRemark, pageWrap.getModel().getLocationRemark());
-        }
-        if (pageWrap.getModel().getLat() != null) {
-            queryWrapper.lambda().eq(Orders::getLat, pageWrap.getModel().getLat());
-        }
-        if (pageWrap.getModel().getProvince() != null) {
-            queryWrapper.lambda().eq(Orders::getProvince, pageWrap.getModel().getProvince());
-        }
-        if (pageWrap.getModel().getCity() != null) {
-            queryWrapper.lambda().eq(Orders::getCity, pageWrap.getModel().getCity());
-        }
-        if (pageWrap.getModel().getArea() != null) {
-            queryWrapper.lambda().eq(Orders::getArea, pageWrap.getModel().getArea());
-        }
-        if (pageWrap.getModel().getLgt() != null) {
-            queryWrapper.lambda().eq(Orders::getLgt, pageWrap.getModel().getLgt());
-        }
-        if (pageWrap.getModel().getCategoryId() != null) {
-            queryWrapper.lambda().eq(Orders::getCategoryId, pageWrap.getModel().getCategoryId());
-        }
-        if (pageWrap.getModel().getWorkType() != null) {
-            queryWrapper.lambda().eq(Orders::getWorkType, pageWrap.getModel().getWorkType());
-        }
-        if (pageWrap.getModel().getPriceNum1() != null) {
-            queryWrapper.lambda().eq(Orders::getPriceNum1, pageWrap.getModel().getPriceNum1());
-        }
-        if (pageWrap.getModel().getPriceNum2() != null) {
-            queryWrapper.lambda().eq(Orders::getPriceNum2, pageWrap.getModel().getPriceNum2());
-        }
-        if (pageWrap.getModel().getSupplement() != null) {
-            queryWrapper.lambda().eq(Orders::getSupplement, pageWrap.getModel().getSupplement());
-        }
-        if (pageWrap.getModel().getPrice() != null) {
-            queryWrapper.lambda().eq(Orders::getPrice, pageWrap.getModel().getPrice());
-        }
-        if (pageWrap.getModel().getEstimatedAccount() != null) {
-            queryWrapper.lambda().eq(Orders::getEstimatedAccount, pageWrap.getModel().getEstimatedAccount());
-        }
-        if (pageWrap.getModel().getPayAccount() != null) {
-            queryWrapper.lambda().eq(Orders::getPayAccount, pageWrap.getModel().getPayAccount());
-        }
-        if (pageWrap.getModel().getCarType() != null) {
-            queryWrapper.lambda().eq(Orders::getCarType, pageWrap.getModel().getCarType());
-        }
-        if (pageWrap.getModel().getTransportTypeId() != null) {
-            queryWrapper.lambda().eq(Orders::getTransportTypeId, pageWrap.getModel().getTransportTypeId());
-        }
-        if (pageWrap.getModel().getTransportNum() != null) {
-            queryWrapper.lambda().eq(Orders::getTransportNum, pageWrap.getModel().getTransportNum());
-        }
-        if (pageWrap.getModel().getTransportUnit() != null) {
-            queryWrapper.lambda().eq(Orders::getTransportUnit, pageWrap.getModel().getTransportUnit());
-        }
-        if (pageWrap.getModel().getLocationEnd() != null) {
-            queryWrapper.lambda().eq(Orders::getLocationEnd, pageWrap.getModel().getLocationEnd());
-        }
-        if (pageWrap.getModel().getLatEnd() != null) {
-            queryWrapper.lambda().eq(Orders::getLatEnd, pageWrap.getModel().getLatEnd());
-        }
-        if (pageWrap.getModel().getLgtEnd() != null) {
-            queryWrapper.lambda().eq(Orders::getLgtEnd, pageWrap.getModel().getLgtEnd());
-        }
-        if (pageWrap.getModel().getWayInfo() != null) {
-            queryWrapper.lambda().eq(Orders::getWayInfo, pageWrap.getModel().getWayInfo());
-        }
-        if (pageWrap.getModel().getCode() != null) {
-            queryWrapper.lambda().eq(Orders::getCode, pageWrap.getModel().getCode());
-        }
-        if (pageWrap.getModel().getStatus() != null) {
-            queryWrapper.lambda().eq(Orders::getStatus, pageWrap.getModel().getStatus());
-        }
-        if (pageWrap.getModel().getAcceptTime() != null) {
-            queryWrapper.lambda().ge(Orders::getAcceptTime, Utils.Date.getStart(pageWrap.getModel().getAcceptTime()));
-            queryWrapper.lambda().le(Orders::getAcceptTime, Utils.Date.getEnd(pageWrap.getModel().getAcceptTime()));
-        }
-        if (pageWrap.getModel().getAcceptMemberId() != null) {
-            queryWrapper.lambda().eq(Orders::getAcceptMemberId, pageWrap.getModel().getAcceptMemberId());
-        }
-        if (pageWrap.getModel().getAcceptType() != null) {
-            queryWrapper.lambda().eq(Orders::getAcceptType, pageWrap.getModel().getAcceptType());
-        }
-        if (pageWrap.getModel().getWorkStartTime() != null) {
-            queryWrapper.lambda().ge(Orders::getWorkStartTime, Utils.Date.getStart(pageWrap.getModel().getWorkStartTime()));
-            queryWrapper.lambda().le(Orders::getWorkStartTime, Utils.Date.getEnd(pageWrap.getModel().getWorkStartTime()));
-        }
-        if (pageWrap.getModel().getFinishTime() != null) {
-            queryWrapper.lambda().ge(Orders::getFinishTime, Utils.Date.getStart(pageWrap.getModel().getFinishTime()));
-            queryWrapper.lambda().le(Orders::getFinishTime, Utils.Date.getEnd(pageWrap.getModel().getFinishTime()));
-        }
-        if (pageWrap.getModel().getPlatformRata() != null) {
-            queryWrapper.lambda().eq(Orders::getPlatformRata, pageWrap.getModel().getPlatformRata());
-        }
-        if (pageWrap.getModel().getWxExternalNo() != null) {
-            queryWrapper.lambda().eq(Orders::getWxExternalNo, pageWrap.getModel().getWxExternalNo());
-        }
-        if (pageWrap.getModel().getCommentStatus() != null) {
-            queryWrapper.lambda().eq(Orders::getCommentStatus, pageWrap.getModel().getCommentStatus());
-        }
-        if (pageWrap.getModel().getCommentInfo() != null) {
-            queryWrapper.lambda().eq(Orders::getCommentInfo, pageWrap.getModel().getCommentInfo());
-        }
-        if (pageWrap.getModel().getCommentLevel() != null) {
-            queryWrapper.lambda().eq(Orders::getCommentLevel, pageWrap.getModel().getCommentLevel());
-        }
-        if (pageWrap.getModel().getCommentTime() != null) {
-            queryWrapper.lambda().ge(Orders::getCommentTime, Utils.Date.getStart(pageWrap.getModel().getCommentTime()));
-            queryWrapper.lambda().le(Orders::getCommentTime, Utils.Date.getEnd(pageWrap.getModel().getCommentTime()));
-        }
-        if (pageWrap.getModel().getCommentType() != null) {
-            queryWrapper.lambda().eq(Orders::getCommentType, pageWrap.getModel().getCommentType());
-        }
-        if (pageWrap.getModel().getCancelTime() != null) {
-            queryWrapper.lambda().ge(Orders::getCancelTime, Utils.Date.getStart(pageWrap.getModel().getCancelTime()));
-            queryWrapper.lambda().le(Orders::getCancelTime, Utils.Date.getEnd(pageWrap.getModel().getCancelTime()));
-        }
-        if (pageWrap.getModel().getIsUpdate() != null) {
-            queryWrapper.lambda().eq(Orders::getIsUpdate, pageWrap.getModel().getIsUpdate());
-        }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
+        return PageData.from(iPage);
+    }
+
+    public void getOrderContent(Orders orders){
+        if(Constants.equalsInteger(orders.getType(),Constants.ZERO)){
+            orders.setOrderContent(Constants.workType.getName(orders.getWorkType()) +" | " + orders.getCategoryName());
+            if(Constants.equalsInteger(orders.getWorkType(),Constants.ZERO)){
+                if(Objects.nonNull(orders.getPriceNum1())){
+                    orders.setOrderContent(orders.getOrderContent()+" | " +orders.getPriceNum1()+"鏂�");
+                }
+            }else if(Constants.equalsInteger(orders.getWorkType(),Constants.ONE)){
+                if(Objects.nonNull(orders.getPriceNum2())) {
+                    orders.setOrderContent(orders.getOrderContent() + " | " + orders.getPriceNum2() + "浜�");
+                }
+            }else{
+                if(Constants.equalsInteger(orders.getCarType(),Constants.ZERO)||Constants.equalsInteger(orders.getCarType(),Constants.ONE)){
+                    if(Objects.nonNull(orders.getPriceNum2())) {
+                        orders.setOrderContent(orders.getOrderContent() + " | " + orders.getPriceNum2() + "浜�");
+                    }
+                }else{
+                    if(Objects.nonNull(orders.getPriceNum1())) {
+                        orders.setOrderContent(orders.getOrderContent() + " | " + orders.getPriceNum1() + "鏂�");
+                    }
+                }
+            }
+        }else if(Constants.equalsInteger(orders.getType(),Constants.ONE)){
+            if(org.apache.commons.lang3.StringUtils.isNotBlank(orders.getCategoryName())){
+                orders.setOrderContent(  orders.getCategoryName() +
+                        (StringUtils.isEmpty(orders.getTransportTypeName())?"":" | " + orders.getTransportTypeName() ) +
+                        (Objects.isNull(orders.getTransportNum())?null:" | " + orders.getTransportNum() +"鏂�"));
+            }
+
+            if(Constants.equalsInteger(orders.getCarType(),Constants.ZERO)){
+                if(Objects.nonNull(orders.getPriceNum2())) {
+                    orders.setOrderContent(orders.getOrderContent() + " | 鐢ㄨ溅" + orders.getPriceNum1() + "澶�");
+                }
+            }else{
+                if(Objects.nonNull(orders.getPriceNum2())) {
+                    orders.setOrderContent(orders.getOrderContent() + " | 鐢ㄨ溅" + orders.getPriceNum1() + "娆�");
+                }
+            }
+        }else{
+            if(org.apache.commons.lang3.StringUtils.isNotBlank(orders.getWayInfo())){
+                List<CateringDTO> cateringDTOList = JSONArray.parseArray(orders.getWayInfo(),CateringDTO.class);
+                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(cateringDTOList)){
+                    for (CateringDTO cateringDTO:cateringDTOList) {
+                        if(StringUtils.isEmpty(orders.getOrderContent())){
+                            orders.setOrderContent(cateringDTO.getName()+cateringDTO.getPrice()+" 闇�"+cateringDTO.getNum()+"浠�");
+                        }else{
+                            orders.setOrderContent(orders.getOrderContent()+" | "+cateringDTO.getName()+cateringDTO.getPrice()+" 闇�"+cateringDTO.getNum()+"浠�");
+                        }
+                    }
+                }
             }
         }
-        return PageData.from(ordersMapper.selectPage(page, queryWrapper));
+
     }
+
+
 
     @Override
     public long count(Orders orders) {
@@ -564,7 +580,7 @@
         if(Objects.isNull(orders)||Constants.equalsInteger(orders.getDeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        if(!Constants.equalsInteger(orders.getStatus(),Constants.ONE)){
+        if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.wait.getKey())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜璇ユ搷浣�");
         }
         if(Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){
@@ -588,10 +604,10 @@
         orders.setAcceptType(Constants.ZERO);
         orders.setAcceptTime(new Date());
         orders.setAcceptMemberId(member.getId());
-        orders.setStatus(Constants.TWO);
+        orders.setStatus(Constants.ordersStatus.accept.getKey());
         ordersMapper.updateById(orders);
         //鏇存柊鎺ュ崟閲�
-        memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getPublishNum," (publish_num + 1 )").eq(Member::getId,member.getId()));
+        memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" publish_num = (publish_num + 1 )").eq(Member::getId,member.getId()));
 
         //鍒涘缓鎿嶄綔鏃ュ織
         Constants.OrdersLog ordersLog = Constants.OrdersLog.RECEIVE;
@@ -617,17 +633,17 @@
         if(Objects.isNull(orders)||Constants.equalsInteger(orders.getDeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        if(!Constants.equalsInteger(orders.getStatus(),Constants.TWO)){
+        if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜璇ユ搷浣�");
         }
-        if(Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){
+        if(!Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔");
         }
         if(Constants.equalsInteger(orders.getIsUpdate(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟淇敼寰呯‘璁わ紝鏃犳硶杩涜璇ユ搷浣�");
         }
         orders.setUpdateTime(new Date());
-        orders.setStatus(Constants.THREE);
+        orders.setStatus(Constants.ordersStatus.doing.getKey());
         orders.setWorkStartTime(new Date());
         ordersMapper.updateById(orders);
 
@@ -648,18 +664,17 @@
         if(Objects.isNull(updOrderDataDTO)
             || Objects.isNull(updOrderDataDTO.getOrderId())
             || Objects.isNull(updOrderDataDTO.getStartDate())
-            || Objects.isNull(updOrderDataDTO.getEndDate())
-            || Objects.isNull(updOrderDataDTO.getTotalDays())){
+            || Objects.isNull(updOrderDataDTO.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.TWO)){
+        if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜璇ユ搷浣�");
         }
-        if(Constants.equalsInteger(orders.getReleaseMemberId(),updOrderDataDTO.getMember().getId())){
+        if(!Constants.equalsInteger(orders.getReleaseMemberId(),updOrderDataDTO.getMember().getId())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔");
         }
         if(Constants.equalsInteger(orders.getIsUpdate(),Constants.ONE)){
@@ -686,6 +701,7 @@
                 .set(Orders::getEndDate,updOrderDataDTO.getEndDate())
                 .set(Orders::getTotalDays,updOrderDataDTO.getTotalDays())
                 .set(Orders::getIsUpdate,Constants.ONE)
+                .set(Orders::getIsUpdateTime,"now()")
                 .set(Orders::getUpdateTime,"now()")
                 .set(Orders::getEstimatedAccount,total)
                 .eq(Orders::getId,orders.getId())
@@ -701,9 +717,7 @@
 
     public Long getTotal(Orders orders){
         if(
-            (Constants.equalsInteger(orders.getType(),Constants.ZERO) && Constants.equalsInteger(orders.getWorkType(),Constants.ZERO )) ||
-                    (Constants.equalsInteger(orders.getType(),Constants.ZERO) && Constants.equalsInteger(orders.getWorkType(),Constants.TWO)
-                            &&Constants.equalsInteger(orders.getCarType(),Constants.TWO))
+            (Constants.equalsInteger(orders.getType(),Constants.ZERO) && Constants.equalsInteger(orders.getWorkType(),Constants.ZERO ))
             || Constants.equalsInteger(orders.getType(),Constants.ONE)
         ){
             orders.setPriceNum2(Constants.ONE);
@@ -731,13 +745,13 @@
         if(Objects.isNull(orders)||Constants.equalsInteger(orders.getDeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        if(!Constants.equalsInteger(orders.getStatus(),Constants.TWO)){
+        if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜璇ユ搷浣�");
         }
         if(!Constants.equalsInteger(orders.getIsUpdate(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟淇敼鐘舵�佸凡娴佽浆锛屾棤娉曡繘琛岃鎿嶄綔");
         }
-        if(Constants.equalsInteger(orders.getAcceptMemberId(),confirmUpdOrderDTO.getMember().getId())){
+        if(!Constants.equalsInteger(orders.getAcceptMemberId(),confirmUpdOrderDTO.getMember().getId())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔");
         }
         if( Constants.equalsInteger(confirmUpdOrderDTO.getStatus(),Constants.ONE)){
@@ -754,7 +768,7 @@
             ordersMapper.update(new UpdateWrapper<Orders>().lambda()
                     .set(Orders::getIsUpdate,Constants.TWO)
                     .set(Orders::getUpdateTime,"now()")
-                    .set(Orders::getStatus,Constants.ONE)
+                    .set(Orders::getStatus,Constants.ordersStatus.wait.getKey())
                     .set(Orders::getAcceptMemberId,null)
                     .set(Orders::getAcceptType,null)
                     .eq(Orders::getId,orders.getId())
@@ -785,12 +799,12 @@
         if(Objects.isNull(orders)||Constants.equalsInteger(orders.getDeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        if(!(Constants.equalsInteger(orders.getStatus(),Constants.ONE)
-                ||Constants.equalsInteger(orders.getStatus(),Constants.ZERO)
-        || Constants.equalsInteger(orders.getStatus(),Constants.TWO))){
+        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()))){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜鍙栨秷");
         }
-        if(Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){
+        if(!Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔");
         }
         //寰呮敮浠樼敤椁愯鍗�/寰呮帴鍗曡鍗曡繘琛屽彇娑�
@@ -802,15 +816,14 @@
                 withdrawalOrders.setCreateTime(new Date());
                 withdrawalOrders.setMemberId(orders.getReleaseMemberId());
                 withdrawalOrders.setAmount(orders.getPayAccount());
-                withdrawalOrders.setWxExternalNo("refund_"+orders.getCode());
-                withdrawalOrders.setStatus(Constants.ONE);
+                withdrawalOrders.setStatus(Constants.ZERO);
                 withdrawalOrders.setDoneTime(new Date());
                 withdrawalOrders.setType(Constants.ONE);
                 withdrawalOrders.setObjId(orders.getId());
                 wxMiniUtilService.wxRefund(withdrawalOrders,orders);
             }
             ordersMapper.update(new UpdateWrapper<Orders>().lambda()
-                    .set(Orders::getStatus,99)
+                    .set(Orders::getStatus,Constants.ordersStatus.cancel.getKey())
                     .set(Orders::getUpdateTime,"now()")
                     .set(Orders::getCancelTime,"now()")
                     .set(Orders::getCancelType,Constants.ZERO)
@@ -821,7 +834,7 @@
             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,99)
+                    .eq(Orders::getStatus,Constants.ordersStatus.cancel.getKey())
                     .eq(Orders::getReleaseMemberId,orders.getReleaseMemberId()));
             //鏌ヨ鍙栨秷娆℃暟
             if(totalCancelTimes<=cancelTimes){
@@ -848,7 +861,7 @@
                 wxMiniUtilService.wxRefund(withdrawalOrders,orders);
             }
             ordersMapper.update(new UpdateWrapper<Orders>().lambda()
-                    .set(Orders::getStatus,99)
+                    .set(Orders::getStatus,Constants.ordersStatus.cancel.getKey())
                     .set(Orders::getUpdateTime,"now()")
                     .set(Orders::getCancelTime,"now()")
                     .set(Orders::getCancelType,Constants.ONE)
@@ -881,10 +894,10 @@
         if(Objects.isNull(orders)||Constants.equalsInteger(orders.getDeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        if(!Constants.equalsInteger(orders.getStatus(),Constants.TWO)){
+        if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜鍙栨秷");
         }
-        if(Constants.equalsInteger(orders.getAcceptMemberId(),member.getId())){
+        if(!Constants.equalsInteger(orders.getAcceptMemberId(),member.getId())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔");
         }
         //鍒ゆ柇鏄惁鍙慨鏀� 宸插彇娑堟鏁� 涓� 鏃堕棿闄愬埗
@@ -905,7 +918,7 @@
         }
         ordersMapper.update(new UpdateWrapper<Orders>().lambda()
                 .set(Orders::getUpdateTime,"now()")
-                .set(Orders::getStatus,Constants.ONE)
+                .set(Orders::getStatus,Constants.ordersStatus.wait.getKey())
                 .set(Orders::getAcceptMemberId,null)
                 .set(Orders::getAcceptType,null)
                 .eq(Orders::getId,orders.getId())
@@ -940,12 +953,13 @@
         if(Objects.isNull(orders)||Constants.equalsInteger(orders.getDeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        if(!Constants.equalsInteger(orders.getStatus(),Constants.THREE)){
+        if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.doing.getKey())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜鍙栨秷");
         }
-        if(Constants.equalsInteger(orders.getReleaseMemberId(),doneOrderDTO.getMember().getId())){
+        if(!Constants.equalsInteger(orders.getReleaseMemberId(),doneOrderDTO.getMember().getId())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔");
         }
+        orders.setPayAccount(doneOrderDTO.getAmount());
         Object object = null;
         //鐢ㄩ璁㈠崟
         if(!Constants.equalsInteger(orders.getType(),Constants.TWO)){
@@ -957,7 +971,7 @@
             //鍞よ捣鏀粯涓氬姟
             object = this.getWxPayResponse(orders,orders.getMember().getOpenid());
         }else{
-            orders.setStatus(Constants.FOUR);
+            orders.setStatus(Constants.ordersStatus.done.getKey());
             //鏃ュ織瀛樺偍
             Constants.OrdersLog ordersLog = Constants.OrdersLog.DONE;
             this.saveOrderLog(orders,ordersLog,
@@ -976,8 +990,8 @@
         if(Objects.isNull(orders)||Constants.equalsInteger(orders.getDeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        if(!(Constants.equalsInteger(orders.getStatus(),Constants.ONE)||Constants.equalsInteger(orders.getStatus(),Constants.TWO)
-            ||Constants.equalsInteger(orders.getStatus(),Constants.THREE))){
+        if(!(Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.wait.getKey())||Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey())
+                ||Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.doing.getKey())||Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.waitPay.getKey()))){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜鍙栨秷");
         }
         //濡傛灉宸叉敮浠� 鍒欓渶瑕佽繘琛岄��娆�
@@ -995,17 +1009,21 @@
         }
 
         //鍑忓皯鍙戝崟閲�
-        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 = ifnull(publish_num,0) - 1")
+                .eq(Member::getId,orders.getReleaseMemberId()));
 
         if(Constants.equalsInteger(orders.getStatus(),Constants.TWO)||Constants.equalsInteger(orders.getStatus(),Constants.THREE)){
             //鍑忓皯鎺ュ崟閲�
-            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 = ifnull(receive_num,0) - 1")
+                    .eq(Member::getId,orders.getAcceptMemberId()));
         }
-
+        Date date = new Date();
         ordersMapper.update(new UpdateWrapper<Orders>().lambda()
-                .set(Orders::getStatus,99)
-                .set(Orders::getUpdateTime,"now()")
-                .set(Orders::getCancelTime,"now()")
+                .set(Orders::getStatus,Constants.ordersStatus.cancel.getKey())
+                .set(Orders::getUpdateTime,date)
+                .set(Orders::getCancelTime,date)
                 .set(Orders::getCancelType,Constants.TWO)
                 .eq(Orders::getId,orders.getId())
         );
@@ -1032,7 +1050,7 @@
                 ||Constants.equalsInteger(orders.getDeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        if(!Constants.equalsInteger(orders.getStatus(),Constants.FOUR)){
+        if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.done.getKey())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜璇勪环");
         }
         if(Constants.equalsInteger(orders.getCommentStatus(),Constants.ONE)){
@@ -1081,8 +1099,10 @@
                 //澶勭悊鏀粯瀹屾垚閫昏緫
                 ordersMapper.update(new UpdateWrapper<Orders>().lambda()
                         .set(Orders::getUpdateTime,"now()")
-                        .set(Orders::getStatus,Constants.ONE)
+                        .set(Orders::getStatus,Constants.ordersStatus.wait)
                         .set(Orders::getPayStatus,Constants.ONE)
+                        .set(Orders::getPayTime,"now()")
+                        .set(Orders::getPayMethod,Constants.ZERO)
                         .set(Orders::getWxExternalNo,paymentNo)
                         .eq(Orders::getId,orders.getId())
                 );
@@ -1102,6 +1122,8 @@
                         .set(Orders::getUpdateTime,"now()")
                         .set(Orders::getStatus,Constants.FOUR)
                         .set(Orders::getPayStatus,Constants.ONE)
+                        .set(Orders::getPayTime,"now()")
+                        .set(Orders::getPayMethod,Constants.ZERO)
                         .set(Orders::getWxExternalNo,paymentNo)
                         .set(Orders::getFinishTime,"now()")
                         .eq(Orders::getId,orders.getId())
@@ -1160,15 +1182,19 @@
                 //鎺ュ崟鏂� 鎴戠殑璁㈠崟
                 queryWrapper.eq(Orders::getAcceptMemberId,model.getMember().getId());
             }else{
+                queryWrapper.eq(Orders::getStatus,Constants.ordersStatus.wait.getKey());
                 //鎺ュ崟澶у巺
-                queryWrapper.and(i->
+                queryWrapper.and(Constants.equalsInteger(model.getMember().getWorkerIdentity(),Constants.TWO)||Constants.equalsInteger(model.getMember().getDriverIdentity(),Constants.TWO)||Constants.equalsInteger(model.getMember().getChefIdentity(),Constants.TWO),i->
                         i.eq(Constants.equalsInteger(model.getMember().getWorkerIdentity(),Constants.TWO),Orders::getType,Constants.ZERO)
                                 .or()
                                 .eq(Constants.equalsInteger(model.getMember().getDriverIdentity(),Constants.TWO),Orders::getType,Constants.ONE)
                                 .or()
                                 .eq(Constants.equalsInteger(model.getMember().getChefIdentity(),Constants.TWO),Orders::getType,Constants.TWO)
                 );
-                queryWrapper.eq(Orders::getStatus,Constants.ONE);
+
+                queryWrapper.apply(!(Constants.equalsInteger(model.getMember().getWorkerIdentity(),Constants.TWO)||Constants.equalsInteger(model.getMember().getDriverIdentity(),Constants.TWO)||Constants.equalsInteger(model.getMember().getChefIdentity(),Constants.TWO))," 1 = 2 "
+                );
+
             }
         }
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
@@ -1218,41 +1244,44 @@
 
     //瀹氫綅璺濈
     public void getDistance(Member member,Orders orders){
+        try{
+            if(Constants.equalsInteger(orders.getType(),Constants.ZERO)){
+                if(Objects.nonNull(member.getWorkerIdentityModel())&&Objects.nonNull(member.getWorkerIdentityModel().getLgt())
+                        &&Objects.nonNull(member.getWorkerIdentityModel().getLat())){
+                    orders.setDistance(
+                            GeoUtils.haversineDistance(
+                                    orders.getLgt().doubleValue(),orders.getLat().doubleValue(),
+                                    member.getWorkerIdentityModel().getLgt().doubleValue(),
+                                    member.getWorkerIdentityModel().getLat().doubleValue()
+                            )
+                    );
+                }
 
-        if(Constants.equalsInteger(orders.getType(),Constants.ZERO)){
-            if(Objects.nonNull(member.getWorkerIdentityModel())&&Objects.nonNull(member.getWorkerIdentityModel().getLgt())
-                    &&Objects.nonNull(member.getWorkerIdentityModel().getLat())){
-                orders.setDistance(
-                        GeoUtils.haversineDistance(
-                                orders.getLgt().doubleValue(),orders.getLat().doubleValue(),
-                                member.getWorkerIdentityModel().getLgt().doubleValue(),
-                                member.getWorkerIdentityModel().getLat().doubleValue()
-                        )
-                );
+            }else if(Constants.equalsInteger(orders.getType(),Constants.ONE)){
+                if(Objects.nonNull(member.getDriverIdentityModel())&&Objects.nonNull(member.getDriverIdentityModel().getLgt())
+                        &&Objects.nonNull(member.getDriverIdentityModel().getLat())) {
+                    orders.setDistance(
+                            GeoUtils.haversineDistance(
+                                    orders.getLgt().doubleValue(), orders.getLat().doubleValue(),
+                                    member.getDriverIdentityModel().getLgt().doubleValue(),
+                                    member.getDriverIdentityModel().getLat().doubleValue()
+                            )
+                    );
+                }
+            }else{
+                if(Objects.nonNull(member.getChefIdentityModel())&&Objects.nonNull(member.getChefIdentityModel().getLgt())
+                        &&Objects.nonNull(member.getChefIdentityModel().getLat())) {
+                    orders.setDistance(
+                            GeoUtils.haversineDistance(
+                                    orders.getLgt().doubleValue(),orders.getLat().doubleValue(),
+                                    member.getChefIdentityModel().getLgt().doubleValue(),
+                                    member.getChefIdentityModel().getLat().doubleValue()
+                            )
+                    );
+                }
             }
-
-        }else if(Constants.equalsInteger(orders.getType(),Constants.ONE)){
-            if(Objects.nonNull(member.getDriverIdentityModel())&&Objects.nonNull(member.getDriverIdentityModel().getLgt())
-                    &&Objects.nonNull(member.getDriverIdentityModel().getLat())) {
-                orders.setDistance(
-                        GeoUtils.haversineDistance(
-                                orders.getLgt().doubleValue(), orders.getLat().doubleValue(),
-                                member.getDriverIdentityModel().getLgt().doubleValue(),
-                                member.getDriverIdentityModel().getLat().doubleValue()
-                        )
-                );
-            }
-        }else{
-            if(Objects.nonNull(member.getChefIdentityModel())&&Objects.nonNull(member.getChefIdentityModel().getLgt())
-                    &&Objects.nonNull(member.getChefIdentityModel().getLat())) {
-                orders.setDistance(
-                        GeoUtils.haversineDistance(
-                                orders.getLgt().doubleValue(),orders.getLat().doubleValue(),
-                                member.getChefIdentityModel().getLgt().doubleValue(),
-                                member.getChefIdentityModel().getLat().doubleValue()
-                        )
-                );
-            }
+        }catch (Exception e){
+            orders.setDistance(0L);
         }
     }
 
@@ -1301,22 +1330,119 @@
     }
 
 
-
-
     public synchronized String  getNextCode(Integer type){
-//        String prefix = "YG";
-//        if(!Constants.equalsInteger(type,Constants.ZERO)){
-//            prefix = (Constants.equalsInteger(type,Constants.ONE)?"YC-":"SC-");
-//        }
-//        prefix =  DateUtil.getDate(new Date(),"yyyyMMdd") +"-";
-//        Integer countNum  = RedisUtil.getObject(redisTemplate, Constants.RedisKeys.ORDER_CODE, Integer.class);
-//        countNum = Constants.formatIntegerNum(countNum)+1;
-//        //鏇存柊缂撳瓨
-//        RedisUtil.addObject(redisTemplate,Constants.RedisKeys.ORDER_CODE,countNum);
-//        String nextIndex =Integer.toString( countNum );
-//        return prefix + org.apache.commons.lang3.StringUtils.leftPad(nextIndex,3,"0");
-        return null;
+        String prefix = "YG";
+        if(!Constants.equalsInteger(type,Constants.ZERO)){
+            prefix = (Constants.equalsInteger(type,Constants.ONE)?"YH-":"DC-");
+        }
+        prefix =  prefix + DateUtil.getCurrDateTimeShort() +"-";
+
+        Integer countNum  = (Integer) redisTemplate.opsForValue().get(Constants.RedisKeys.ORDER_CODE);//RedisUtil.getObject(redisTemplate, Constants.RedisKeys.ORDER_CODE, Integer.class);
+        countNum = Constants.formatIntegerNum(countNum)+1;
+        //鏇存柊缂撳瓨
+        redisTemplate.opsForValue().set(Constants.RedisKeys.ORDER_CODE,countNum);
+        String nextIndex =Integer.toString( countNum );
+        return prefix + org.apache.commons.lang3.StringUtils.leftPad(nextIndex,3,"0");
     }
 
 
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public void refundCallback(RefundNotification refundNotification){
+        WithdrawalOrders withdrawalOrders = withdrawalOrdersMapper.selectById(refundNotification.getOutRefundNo());
+        if(Objects.isNull(withdrawalOrders)||!Constants.equalsInteger(withdrawalOrders.getStatus(),Constants.ZERO)){
+            return;
+        }
+        withdrawalOrders.setWxExternalNo(refundNotification.getTransactionId());
+        withdrawalOrders.setUpdateTime(new Date());
+        withdrawalOrders.setDoneTime(withdrawalOrders.getUpdateTime());
+        if (!"SUCCESS".equals(refundNotification.getRefundStatus().name())) {
+            // 濡傛灉閫�娆剧姸鎬佷笉姝g‘锛屼慨鏀归��娆惧崟鐘舵��
+            withdrawalOrders.setStatus(Constants.TWO);
+        }else{
+            withdrawalOrders.setStatus(Constants.ONE);
+        }
+        //鏇存柊閫�娆惧崟鐘舵��
+        withdrawalOrdersMapper.updateById(withdrawalOrders);
+    }
+
+
+
+    //todo 鑷姩娲惧崟
+    public void autoGrabOrders(){
+//        String autoConfirmTime = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.AUTO_DISPATCH_DISTANCE).getCode();
+//        List<Orders> ordersList = ordersMapper.selectList(new QueryWrapper<Orders>().lambda()
+//                .eq(Orders::getStatus,Constants.FOUR).eq(Orders::getCommentStatus,Constants.ZERO)
+//                .apply(" DATE_ADD(finish_time, INTERVAL 7 DAY) < now() ")
+//                .last("limit 100")
+//        );
+
+
+
+
+    }
+
+    //鑷姩璇勪环 璁㈠崟瀹屾垚7澶╁悗鑷姩璇勪环4鏄�
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public void autoComment(){
+        List<Orders> ordersList = ordersMapper.selectList(new QueryWrapper<Orders>().lambda()
+                .eq(Orders::getStatus,Constants.FOUR).eq(Orders::getCommentStatus,Constants.ZERO)
+                .apply(" DATE_ADD(finish_time, INTERVAL 7 DAY) < now() ")
+                .last("limit 100")
+        );
+
+        for (Orders orders:ordersList) {
+            ordersMapper.update(new UpdateWrapper<Orders>().lambda()
+                    .set(Orders::getCommentStatus,Constants.ONE)
+                    .set(Orders::getUpdateTime,"now()")
+                    .set(Orders::getCommentTime,"now()")
+                    .set(Orders::getCommentLevel,Constants.FOUR)
+                    .set(Orders::getCommentType,Constants.ZERO)
+                    .eq(Orders::getId,orders.getId())
+            );
+
+            memberMapper.update(new UpdateWrapper<Member>().lambda()
+                    .setSql(" score = ( ( total_score +" + Constants.FOUR + " ) / (score_order_num + 1 ) ) ")
+                    .setSql(" total_score = ( total_score +" + Constants.FOUR + ")")
+                    .setSql(" score_order_num = ( score_order_num + 1 ) " ).eq(Member::getId,orders.getAcceptMemberId())
+            );
+
+            //鏃ュ織瀛樺偍
+            Constants.OrdersLog ordersLog = Constants.OrdersLog.AUTO_COMMENT;
+            this.saveOrderLog(orders,ordersLog,
+                    ordersLog.getInfo(),orders.getAcceptMemberId(),null);
+        }
+    }
+
+
+    //鑷姩纭 璁㈠崟淇敼鍚庤嫢鏈鐞� 鏍规嵁閰嶇疆鑷姩澶勭悊
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public void autoConfirm(){
+        String autoConfirmTime = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.AUTO_CONFIRM).getCode();
+        List<Orders> ordersList = ordersMapper.selectList(new QueryWrapper<Orders>().lambda()
+                .eq(Orders::getStatus,Constants.ordersStatus.accept).eq(Orders::getIsUpdate,Constants.ONE)
+                .apply(" DATE_ADD(IS_UPDATE_TIME, INTERVAL "+autoConfirmTime+" MINUTE) < now() ")
+                .last("limit 100")
+        );
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ordersList)){
+            for (Orders orders:ordersList) {
+                ordersMapper.update(new UpdateWrapper<Orders>().lambda()
+                        .set(Orders::getIsUpdate,Constants.TWO)
+                        .set(Orders::getUpdateTime,"now()")
+                        .eq(Orders::getId,orders.getId())
+                );
+                //璁板綍鍚屾剰淇敼鐨勬棩蹇�
+                Constants.OrdersLog ordersLog = Constants.OrdersLog.AUTO_AGREE;
+                this.saveOrderLog(orders,ordersLog,
+                        ordersLog.getInfo(),orders.getAcceptMemberId(),null);
+            }
+        }
+    }
+
+
+
+
+
 }

--
Gitblit v1.9.3