浏览代码

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

FengChaoYu 9 月之前
父节点
当前提交
ffa0c2a4ff

+ 3 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/user/UserLogic.java

@@ -104,6 +104,9 @@ public class UserLogic {
 
     @Autowired
     UserLogService userLogService;
+
+    @Autowired
+    PgOrderWorkerService pgOrderWorkerService;
     /**
      * 微信小程序授权
      *

+ 3 - 3
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/workorder/ChangeOrderLogic.java

@@ -125,10 +125,10 @@ public class ChangeOrderLogic {
                 .set(PgOrderBase::getLastOperatorAppointmentTime,new Date())
                 .update();
 
-        this.addLog(id);
+        this.addLog(id,remark);
     }
 
-    private void addLog(String id) {
+    private void addLog(String id,String remark) {
         PgOrderBase pgOrderBase = pgOrderBaseService.getById(id);
 
         PgOrderOperatorLog pgOrderOperatorLog = new PgOrderOperatorLog();
@@ -136,7 +136,7 @@ public class ChangeOrderLogic {
         pgOrderOperatorLog.setType(OrderOperatorLogTypeEnum.GAIYUE.getRemark());
         pgOrderOperatorLog.setTypeText(OrderOperatorLogTypeEnum.GAIYUE.getRemark());
         pgOrderOperatorLog.setAppointmentTime(pgOrderBase.getAppointmentTime());
-        pgOrderOperatorLog.setContent(pgOrderBase.getChangeRemark());
+        pgOrderOperatorLog.setContent(remark);
         orderLogLogic.addLog(pgOrderOperatorLog);
     }
 

+ 6 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/workorder/OrderBaseLogic.java

@@ -195,6 +195,12 @@ public class OrderBaseLogic {
             orderStatusList.add(orderStatus);
         }
 
+        if(StringUtils.equals(orderStatus, OrderBaseStatusEnum.FWZ.getKey())){
+            orderStatusList.add(OrderBaseStatusEnum.FWZ.getKey());
+            orderStatusList.add(OrderBaseStatusEnum.GCSZT.getKey());
+            orderStatusList.add(OrderBaseStatusEnum.BFWG.getKey());
+        }
+
         Page page = pgOrderBaseService.lambdaQuery()
                 .eq(PgOrderBase::getCompanyWechatId,currentCompanyWechat.getCompanyWechatId())
                 .ne(PgOrderBase::getOrderStatus,OrderBaseStatusEnum.YQX.getKey())

+ 11 - 2
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/workorder/OrderLogLogic.java

@@ -75,6 +75,7 @@ public class OrderLogLogic {
 
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         SimpleDateFormat sdf2 = new SimpleDateFormat("HH");
+        SimpleDateFormat sdf3 = new SimpleDateFormat("HH:mm");
 
         //预约
         if(pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.YUYUE.getRemark())){
@@ -89,7 +90,11 @@ public class OrderLogLogic {
             String s = hour >= 12 ? "下午" : "上午";
             String text = StringUtil.isEmpty(pgOrderOperatorLog.getContent())?"":(pgOrderOperatorLog.getContent()+",");
 
-            pgOrderOperatorLog.setContent(text+"预约时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime()));
+            String format = sdf3.format(pgOrderBase.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
+
+            pgOrderOperatorLog.setContent(text+"预约时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+" "+format+"-"+format1);
+
         }
         //改约
         if(pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.GAIYUE.getRemark())){
@@ -104,7 +109,11 @@ public class OrderLogLogic {
 
             String text = StringUtil.isEmpty(pgOrderOperatorLog.getContent())?"":(pgOrderOperatorLog.getContent()+",");
 
-            pgOrderOperatorLog.setContent(text+"预约时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime()));
+            String format = sdf3.format(pgOrderBase.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
+
+
+            pgOrderOperatorLog.setContent(text+"预约时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+" "+format+"-"+format1);
         }
         //异常
         if(pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.YCFK.getRemark())){

+ 46 - 1
mall-server-api/src/main/java/com/gree/mall/manager/bean/listvo/workorder/OrderBaseVO.java

@@ -4,6 +4,7 @@ import com.gree.mall.manager.annotation.ZfireField;
 import com.gree.mall.manager.enums.OrderStatusEnum;
 import com.gree.mall.manager.enums.workorder.OrderBaseStatusEnum;
 import com.gree.mall.manager.enums.workorder.SaleTypeEnum;
+import com.gree.mall.manager.plus.entity.PgOrderBase;
 import com.gree.mall.manager.plus.entity.PgOrderFlag;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -15,7 +16,7 @@ import java.util.List;
 
 @ZfireField(tbName = "a")
 @Data
-public class OrderBaseVO {
+public class OrderBaseVO   {
 
     @ZfireField(sortNum = 1,isQuery = false, ignoreSelect = true)
     @ApiModelProperty(value="服务单标识")
@@ -140,4 +141,48 @@ public class OrderBaseVO {
     private BigDecimal workerPrice;
 
 
+    @ApiModelProperty(value = "服务状态")
+    private String serviceStatus;
+
+    @ApiModelProperty(value = "投诉等级")
+    private String complaint;
+
+    @ApiModelProperty(value = "紧急程度")
+    private String urgent;
+
+    @ApiModelProperty(value = "评价结果")
+    private String evaluate;
+
+    @ApiModelProperty(value = "销售平台")
+    private String salesPlatform;
+
+    @ApiModelProperty(value = "所属销司")
+    private String buyName;
+
+    @ApiModelProperty(value = "销售类型")
+    private String salesTypeName;
+
+    @ApiModelProperty(value = "要求状态")
+    private String reqStatus;
+
+    @ApiModelProperty(value = "要求类型")
+    private String reqType;
+
+    @ApiModelProperty(value = "要求内容")
+    private String reqText;
+
+    @ApiModelProperty(value = "服务单号")
+    private String serviceOrderId;
+
+    @ApiModelProperty(value = "销售单号")
+    private String salesOrderId;
+
+    @ApiModelProperty(value = "管理组织")
+    private String managerName;
+
+    @ApiModelProperty(value = "运营主体")
+    private String operateEntity;
+
+
+
 }

+ 14 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/user/UserLogic.java

@@ -32,6 +32,7 @@ import com.gree.mall.manager.plus.entity.*;
 import com.gree.mall.manager.plus.service.*;
 import com.gree.mall.manager.utils.CommonUtils;
 import com.gree.mall.manager.utils.RedisUtil;
+import com.gree.mall.manager.utils.StringUtil;
 import com.gree.mall.manager.utils.excel.ExcelUtils;
 import com.gree.mall.manager.zfire.bean.ZfireParamBean;
 import com.gree.mall.manager.zfire.util.FieldUtils;
@@ -83,6 +84,8 @@ public class UserLogic {
     private final PromotionGroupLogic promotionGroupLogic;
     private final CommonLogic commonLogic;
     private final AdminCompanyWechatService adminCompanyWechatService;
+    private final PgOrderBaseService pgOrderBaseService;
+    private final PgOrderWorkerService pgOrderWorkerService;
     private final SettleDailyBankAccountService settleDailyBankAccountService;
 
 
@@ -179,6 +182,17 @@ public class UserLogic {
         user.setBankAccount(bankAccount);
         user.setIsEs(isEs);
         user.updateById();
+
+        pgOrderWorkerService.lambdaUpdate().eq(PgOrderWorker::getWorkerNumber,workerNumber)
+                .set(PgOrderWorker::getWorkerId,user.getUserId())
+                .set(!StringUtil.isEmpty(user.getMobile()),PgOrderWorker::getWorkerMobile,user.getMobile())
+                .update();
+
+        pgOrderBaseService.lambdaUpdate()
+                .eq(PgOrderBase::getWorkerNumber,workerNumber)
+                .set(PgOrderBase::getWorkerId,user.getUserId())
+                .set(!StringUtil.isEmpty(user.getMobile()),PgOrderBase::getWorkerMobile,user.getMobile())
+                .update();
     }
 
     /**

+ 37 - 5
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseExcelLogic.java

@@ -817,6 +817,14 @@ public class OrderBaseExcelLogic {
                 .collect(Collectors.toMap(GoodsCategory::getName, v -> v));
         Map<String, GoodsCategory> categoryMap2 = goodsCategoryList.stream().filter(v -> v.getLevel() == 2)
                 .collect(Collectors.toMap(GoodsCategory::getName, v -> v));
+        List<WebsitUser> websitUsers = websitUserService.lambdaQuery().groupBy(WebsitUser::getWorkerNumber).list();
+        Map<String, WebsitUser> websitUserMap = websitUsers.stream()
+                .collect(Collectors.toMap(WebsitUser::getWorkerNumber, v -> v));
+
+        List<User> users = userService.lambdaQuery().eq(User::getType,"WORKER").list();
+        Map<String, User> userMap = users.stream()
+                .collect(Collectors.toMap(User::getUserId, v -> v));
+
         //工单渠道
        // Map<String, SysDictCompany> orderChannelMap = sysDictCompanyLogic.dictByTypeOfValue(SysDictConstant.ORDER_CHANNEL, adminUser.getCompanyWechatId());
         //网点名称
@@ -979,14 +987,14 @@ public class OrderBaseExcelLogic {
             pgOrderBase.setUrgent(urgent);
             pgOrderBase.setEvaluate(evaluate);
             pgOrderBase.setSalesPlatform(salesSource);
-            pgOrderBase.setBuyName(buyName);
+            pgOrderBase.setSaleCompany(buyName);
             pgOrderBase.setSalesTypeName(salesTypeName);
             pgOrderBase.setTotalNum(Convert.toInt(totalNum));
             pgOrderBase.setUndoneNum(StringUtil.isEmpty(undoneNum) ? 0 : Convert.toInt(undoneNum));
             pgOrderBase.setReqStatus(requirement);
             pgOrderBase.setReqType(requirementType);
             pgOrderBase.setReqText(requirementNotes);
-            pgOrderBase.setSaleCompany(belongCompany);
+            pgOrderBase.setBuyName(belongCompany);
             pgOrderBase.setCreateTime(dateTime);
             pgOrderBase.setServiceOrderId(serviceOrderId);
             pgOrderBase.setMainName(categoryType);
@@ -1049,9 +1057,12 @@ public class OrderBaseExcelLogic {
 
                 if (StringUtils.isNotBlank(workerId)) {
 
+                    WebsitUser websitUser = websitUserMap.get(workerId);
+
 
                     pgOrderBase.setWorkerNumber(workerId);
                     pgOrderBase.setWorkerName(workerName);
+
                     pgOrderBase.setWorkerReceTime(new Date());
                     pgOrderBase.setDispatchTime(new Date());
 
@@ -1061,13 +1072,32 @@ public class OrderBaseExcelLogic {
                     pgOrderWorker.setWorkerNumber(workerId);
                     pgOrderWorker.setWebsitId(pgOrderBase.getWebsitId());
                     pgOrderWorker.setWebsitName(pgOrderBase.getWebsitName());
-                    pgOrderBase.setWorkerName(workerName);
+                    pgOrderWorker.setWorkerName(workerName);
+
+                    if (websitUser != null){
+                        pgOrderWorker.setWorkerId(websitUser.getUserId());
+                        pgOrderBase.setWorkerId(websitUser.getUserId());
+
+                        User user = userMap.get(websitUser.getUserId());
+
+                        if (!StringUtil.isEmpty(user.getMobile())) {
+                            pgOrderBase.setWorkerNumber(user.getMobile());
+                            pgOrderWorker.setWorkerMobile(user.getMobile());
+                        }
+
+                    }
+
+
+
+
                     pgOrderWorker.setIsMaster(true);
                     pgOrderWorkers.add(pgOrderWorker);
 
                 }
             }
 
+
+
             if (Convert.toInt(totalNum) > 0) {
 
                 GoodsCategory mainGoodsCategory = categoryMap1.get(categoryType);
@@ -1101,6 +1131,8 @@ public class OrderBaseExcelLogic {
 
         //生成师傅信息
         if (CollectionUtils.isNotEmpty(pgOrderWorkers)) {
+            List<String> collect = addPgOrderBase.stream().map(PgOrderBase::getId).collect(Collectors.toList());
+            pgOrderWorkerService.lambdaUpdate().in(PgOrderWorker::getOrderBaseId,collect).remove();
             pgOrderWorkerService.saveBatch(pgOrderWorkers);
         }
 
@@ -1164,7 +1196,7 @@ public class OrderBaseExcelLogic {
                             pgOrderProductDetail.setSort(sort+1);
                             pgOrderProductDetail.setOrderProductId(pgOrderProduct.getProductId());
 
-                            pgOrderProductDetail.updateById();
+                            pgOrderProductDetail.insert();
                             sort++;
                         }
 
@@ -1177,7 +1209,7 @@ public class OrderBaseExcelLogic {
                             pgOrderProductDetail.setSort(sort+1);
                             pgOrderProductDetail.setOrderProductId(pgOrderProduct.getProductId());
 
-                            pgOrderProductDetail.updateById();
+                            pgOrderProductDetail.insert();
                             sort++;
                         }
                         if (sort < pgOrderProduct.getNum()){

+ 20 - 1
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseLogic.java

@@ -1052,6 +1052,21 @@ public class OrderBaseLogic {
                 .setIsZl(orderAddBeanDTO.getIsZl())
                 .setIsQd(orderAddBeanDTO.getIsQd())
                 .setSource(orderAddBeanDTO.getSource())
+                .setServiceStatus(orderAddBeanDTO.getServiceStatus())
+                .setComplaint(orderAddBeanDTO.getComplaint())
+                .setUrgent(orderAddBeanDTO.getUrgent())
+                .setEvaluate(orderAddBeanDTO.getEvaluate())
+                .setSalesPlatform(orderAddBeanDTO.getSalesPlatform())
+                .setBuyName(orderAddBeanDTO.getBuyName())
+                .setSalesTypeName(orderAddBeanDTO.getSalesTypeName())
+                .setReqStatus(orderAddBeanDTO.getReqStatus())
+                .setReqText(orderAddBeanDTO.getReqText())
+                .setReqType(orderAddBeanDTO.getReqType())
+                .setServiceOrderId(orderAddBeanDTO.getServiceOrderId())
+                .setSalesOrderId(orderAddBeanDTO.getSalesOrderId())
+                .setManagerName(orderAddBeanDTO.getManagerName())
+                .setOperateEntity(orderAddBeanDTO.getOperateEntity())
+                .setMainName(orderAddBeanDTO.getMainName())
         ;
 
         OrderBaseStatusEnum orderBaseStatusEnum = OrderBaseStatusEnum.DSHPG;
@@ -1212,11 +1227,15 @@ public class OrderBaseLogic {
         if (pgOrderBase.getAppointmentTime() != null) {
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
             SimpleDateFormat sdf2 = new SimpleDateFormat("HH");
+            SimpleDateFormat sdf3 = new SimpleDateFormat("HH:mm");
             int hour = Integer.parseInt(sdf2.format(pgOrderBase.getAppointmentTime()));
             String s = hour >= 12 ? "下午" : "上午";
 
+            String format = sdf3.format(pgOrderBase.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
+
             String s2 = StringUtils.isNotBlank(pgOrderBase.getAppointmentRemark()) ? "备注:" + pgOrderBase.getAppointmentRemark() : "";
-            orderLogLogic.addLog(pgOrderBase.getId(), "用户预约", "预约时间:" + sdf.format(pgOrderBase.getAppointmentTime()) + " " + s + "," + s2, websitName);
+            orderLogLogic.addLog(pgOrderBase.getId(), "用户预约", "预约时间:" + sdf.format(pgOrderBase.getAppointmentTime())+" "+format+"-"+format1 + " "  + "," + s2, websitName);
         }
     }
 

+ 9 - 2
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderLogLogic.java

@@ -98,6 +98,7 @@ public class OrderLogLogic {
 
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         SimpleDateFormat sdf2 = new SimpleDateFormat("HH");
+        SimpleDateFormat sdf3 = new SimpleDateFormat("HH:mm");
 
         //预约
         if(pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.YUYUEY.getKey())){
@@ -110,12 +111,15 @@ public class OrderLogLogic {
             }
 */
 
+            String format = sdf3.format(pgOrderOperatorLog.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderOperatorLog.getAppointmentEndTime());
+
             int hour = Integer.parseInt(sdf2.format(pgOrderOperatorLog.getAppointmentTime()));
             String s = hour >= 12 ? "下午" : "上午";
 
             String text = StringUtil.isEmpty(pgOrderOperatorLog.getContent())?"":(pgOrderOperatorLog.getContent()+",");
 
-            pgOrderOperatorLog.setContent(text+"预约时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+","+s);
+            pgOrderOperatorLog.setContent(text+"预约时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+" "+format+"-"+format1);
         }
         //改约
         if(pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.GAIYUE.getKey())){
@@ -126,11 +130,14 @@ public class OrderLogLogic {
                 throw new RemoteServiceException("改约时间不可小于当前时间");
             }
 
+            String format = sdf3.format(pgOrderOperatorLog.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderOperatorLog.getAppointmentEndTime());
+
             int hour = Integer.parseInt(sdf2.format(pgOrderOperatorLog.getAppointmentTime()));
             String s = hour >= 12 ? "下午" : "上午";
             String text = StringUtil.isEmpty(pgOrderOperatorLog.getContent())?"":(pgOrderOperatorLog.getContent()+",");
 
-            pgOrderOperatorLog.setContent(text+"预约时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime()));
+            pgOrderOperatorLog.setContent(text+"预约时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+" "+format+"-"+format1);
         }
         //已完工
         if(pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.WGFK.getKey())){