‘linchangsheng’ 7 月之前
父节点
当前提交
b6bdb4479b

+ 3 - 2
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/controller/workorder/ChangeOrderController.java

@@ -38,12 +38,13 @@ public class ChangeOrderController {
     @ApiOperation("修改预约时间")
     public ResponseHelper changeAppointmentTime(
             @ApiParam(value = "工单号" , required = true) @RequestParam(required = true) String id,
+            @ApiParam(value = "预约" , required = true) @RequestParam(required = true) String type,
             @ApiParam(value = "预约开始时间" , required = true) @RequestParam(required = true) String appointmentTime,
             @ApiParam(value = "预约结束时间" , required = true) @RequestParam(required = true) String appointmentEndTime,
-            @ApiParam(value = "预约结束时间" , required = false) @RequestParam(required = false) String remark,
+            @ApiParam(value = "备注" , required = false) @RequestParam(required = false) String remark,
             HttpServletRequest request
     ) throws ParseException {
-        changeOrderLogic.changeAppointmentTime(id,appointmentTime,appointmentEndTime,remark);
+        changeOrderLogic.changeAppointmentTime(id,appointmentTime,appointmentEndTime,remark,type);
         return ResponseHelper.success();
     }
 

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

@@ -126,7 +126,12 @@ public class ChangeOrderLogic {
     private final OrderOldProductItemService orderOldProductItemService;
 
     @Transactional(rollbackFor = Exception.class)
-    public void changeAppointmentTime(String id, String appointmentTime, String appointmentEndTime,String remark) {
+    public void changeAppointmentTime(String id, String appointmentTime, String appointmentEndTime,String remark,String type) {
+        if (type.equals(OrderOperatorLogTypeEnum.YUYUE.getRemark())){
+            PgOrderBase pgOrderBase = pgOrderBaseService.getById(id);
+            if (pgOrderBase.getAppointmentTime() != null)
+                throw new RemoteServiceException("已操作预约无需操作");
+        }
         pgOrderBaseService.lambdaUpdate()
                 .eq(PgOrderBase::getId,id)
                 .set(PgOrderBase::getAppointmentTime,appointmentTime)
@@ -135,16 +140,22 @@ public class ChangeOrderLogic {
                 .set(PgOrderBase::getLastOperatorAppointmentTime,new Date())
                 .update();
 
-        this.addLog(id,remark);
+        this.addLog(id,remark,type);
     }
 
-    private void addLog(String id,String remark) {
+    private void addLog(String id,String remark,String type) {
         PgOrderBase pgOrderBase = pgOrderBaseService.getById(id);
 
         PgOrderOperatorLog pgOrderOperatorLog = new PgOrderOperatorLog();
         pgOrderOperatorLog.setOrderBaseId(id);
-        pgOrderOperatorLog.setType(OrderOperatorLogTypeEnum.GAIYUE.getRemark());
-        pgOrderOperatorLog.setTypeText(OrderOperatorLogTypeEnum.GAIYUE.getRemark());
+        if (type.equals(OrderOperatorLogTypeEnum.YUYUE.getRemark())){
+            pgOrderOperatorLog.setType(OrderOperatorLogTypeEnum.YUYUE.getRemark());
+            pgOrderOperatorLog.setTypeText(OrderOperatorLogTypeEnum.YUYUE.getRemark());
+        }else {
+            pgOrderOperatorLog.setType(OrderOperatorLogTypeEnum.GAIYUE.getRemark());
+            pgOrderOperatorLog.setTypeText(OrderOperatorLogTypeEnum.GAIYUE.getRemark());
+        }
+
         pgOrderOperatorLog.setAppointmentTime(pgOrderBase.getAppointmentTime());
         pgOrderOperatorLog.setAppointmentEndTime(pgOrderBase.getAppointmentEndTime());
         pgOrderOperatorLog.setContent(remark);

+ 16 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/AbnormalLogic.java

@@ -6,6 +6,7 @@ import com.gree.mall.manager.bean.admin.AdminUserCom;
 import com.gree.mall.manager.bean.workorder.AbnormalVO;
 import com.gree.mall.manager.bean.workorder.IncreVO;
 import com.gree.mall.manager.commonmapper.workorder.IncreMapper;
+import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.logic.common.CommonLogic;
 import com.gree.mall.manager.plus.entity.Abnormal;
 import com.gree.mall.manager.plus.service.AbnormalService;
@@ -51,12 +52,27 @@ public class AbnormalLogic {
 
     public void add(Abnormal abnormal) {
         AdminUserCom adminUser = commonLogic.getAdminUser();
+
+        if (abnormalService.lambdaQuery().eq(Abnormal::getExType,abnormal.getExType())
+                .eq(Abnormal::getCompanyWechatId,adminUser.getCompanyWechatId())
+                .eq(Abnormal::getExNote,abnormal.getExNote()).count() > 0) {
+            throw new RemoteServiceException("存在相同原因");
+        }
+
         abnormal.setCompanyWechatId(adminUser.getCompanyWechatId());
         abnormal.setCompanyWechatName(adminUser.getCompanyName());
         abnormal.insert();
     }
 
     public void update(Abnormal abnormal) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        if (abnormalService.lambdaQuery().eq(Abnormal::getExType,abnormal.getExType())
+                .eq(Abnormal::getCompanyWechatId,adminUser.getCompanyWechatId())
+                .eq(Abnormal::getExNote,abnormal.getExNote())
+                .ne(Abnormal::getId,abnormal.getId())
+                .count() > 0) {
+            throw new RemoteServiceException("存在相同原因");
+        }
         abnormal.updateById();
     }
 }