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

+ 2 - 1
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/user/UserLogic.java

@@ -1532,7 +1532,8 @@ public class UserLogic {
 
         userWaitService.lambdaUpdate()
                 .eq(UserWait::getMobile,user.getMobile())
-                .set(UserWait::getMobile,phone).update();
+                .set(UserWait::getMobile,phone)
+                .update();
 
 
         user.setMobile(phone).updateById();

+ 22 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/letter/LeLetterDetail.java

@@ -0,0 +1,22 @@
+package com.gree.mall.manager.bean.letter;
+
+import com.gree.mall.manager.annotation.ZfireField;
+import com.gree.mall.manager.plus.entity.LeLetter;
+import com.gree.mall.manager.plus.entity.LeLetterItem;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@ZfireField(tbName = "a")
+@ApiModel
+@Data
+public class LeLetterDetail extends LeLetter {
+
+
+    @ApiModelProperty(value = "审批情况")
+    private List<LeLetterItem> leLetterItems;
+
+}

+ 3 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/workorder/WorkerOrderDetail.java

@@ -15,6 +15,9 @@ import java.util.List;
 @ApiModel
 public class WorkerOrderDetail extends WorkerOrder {
 
+    @ApiModelProperty(value = "结算状态 WAIT = 待结算 OK完成 YC 异常结算   LINE=线下结算")
+    private String settlementStatus;
+
     @ApiModelProperty(value = "子订单信息")
     private List<WorkerOrderItem> workerOrderItems;
 

+ 46 - 6
mall-server-api/src/main/java/com/gree/mall/manager/controller/letter/LetterProcessController.java

@@ -4,10 +4,7 @@ import cn.hutool.core.lang.TypeReference;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.manager.annotation.ZfireList;
-import com.gree.mall.manager.bean.letter.LeDepartmentVO;
-import com.gree.mall.manager.bean.letter.LeLetterVO;
-import com.gree.mall.manager.bean.letter.LeProjectVO;
-import com.gree.mall.manager.bean.letter.LeUserDepartmentVO;
+import com.gree.mall.manager.bean.letter.*;
 import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.helper.ResponseHelper;
 import com.gree.mall.manager.logic.LetterLogic;
@@ -70,11 +67,11 @@ public class LetterProcessController {
 
     @PostMapping("/detailLetter")
     @ApiOperation("工作联络函详情")
-    public ResponseHelper<LeLetter> detailLetter(
+    public ResponseHelper<LeLetterDetail> detailLetter(
             @ApiParam(value = "id", required = true) @RequestParam String id,
             HttpServletRequest request
     ) throws ParseException {
-        LeLetter leLetter = letterLogic.detailLetter(id);
+        LeLetterDetail leLetter = letterLogic.detailLetter(id);
         return ResponseHelper.success(leLetter);
     }
 
@@ -121,5 +118,48 @@ public class LetterProcessController {
     }
 
 
+    @PostMapping("/cancel")
+    @ApiOperation("作废")
+    public ResponseHelper cancel(
+            @ApiParam(value = "id", required = true) @RequestParam List<String> ids,
+            HttpServletRequest request
+    ) throws ParseException {
+        letterLogic.cancel(ids);
+        return ResponseHelper.success();
+    }
+
+    @PostMapping("/reject")
+    @ApiOperation("驳回")
+    public ResponseHelper reject(
+            @ApiParam(value = "id", required = true) @RequestParam List<String> ids,
+            HttpServletRequest request
+    ) throws ParseException {
+        letterLogic.reject(ids);
+        return ResponseHelper.success();
+    }
+
+
+    @PostMapping("/appeal")
+    @ApiOperation("网点申诉")
+    public ResponseHelper appeal(
+            @RequestBody LeLetterItem leLetterItem,
+            HttpServletRequest request
+    ) throws ParseException {
+        letterLogic.appeal(leLetterItem);
+        return ResponseHelper.success();
+    }
+
+
+
+    @PostMapping("/examine")
+    @ApiOperation("中心批复")
+    public ResponseHelper examine(
+            @RequestBody LeLetterItem leLetterItem,
+            HttpServletRequest request
+    ) throws ParseException {
+        letterLogic.examine(leLetterItem);
+        return ResponseHelper.success();
+    }
+
 
 }

+ 25 - 0
mall-server-api/src/main/java/com/gree/mall/manager/enums/LetterItemStatus.java

@@ -0,0 +1,25 @@
+package com.gree.mall.manager.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.gree.mall.manager.enums.base.BaseEnum;
+import lombok.AccessLevel;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor(access = AccessLevel.PRIVATE)
+public enum  LetterItemStatus implements BaseEnum {
+
+
+
+    OK("OK","通过"),
+    FAIL("FAIL","驳回"),
+    SUB("SUB","减免"),
+            ;
+
+    @EnumValue
+    @JsonValue
+    private final String key;
+    private final String remark;
+}

+ 1 - 1
mall-server-api/src/main/java/com/gree/mall/manager/enums/LetterStatusEnum.java

@@ -13,7 +13,7 @@ public enum LetterStatusEnum implements BaseEnum {
 
     SEND("SEND","已发送"),
     WAIT("WAIT","待执行"),
-    WAIT_EXAMINE("WAIT_EXAMINE","待执行"),
+    WAIT_EXAMINE("WAIT_EXAMINE","待审核"),
     EXECUTED("EXECUTED","已执行"),
     REVOKE("REVOKE","已撤销"),
     REDUCTION("REDUCTION","已减免"),

+ 56 - 6
mall-server-api/src/main/java/com/gree/mall/manager/logic/LetterLogic.java

@@ -1,14 +1,13 @@
 package com.gree.mall.manager.logic;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.manager.bean.admin.AdminUserCom;
-import com.gree.mall.manager.bean.letter.LeDepartmentVO;
-import com.gree.mall.manager.bean.letter.LeLetterVO;
-import com.gree.mall.manager.bean.letter.LeProjectVO;
-import com.gree.mall.manager.bean.letter.LeUserDepartmentVO;
+import com.gree.mall.manager.bean.letter.*;
 import com.gree.mall.manager.bean.policy.PolicyOrderVO;
 import com.gree.mall.manager.commonmapper.LetterMapper;
+import com.gree.mall.manager.enums.LetterItemStatus;
 import com.gree.mall.manager.enums.LetterStatusEnum;
 import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.logic.common.CommonLogic;
@@ -54,6 +53,9 @@ public class LetterLogic {
     @Autowired
     LeLetterService leLetterService;
 
+    @Autowired
+    LeLetterItemService leLetterItemService;
+
 
     public IPage<LeDepartmentVO> list(Page page, ZfireParamBean zfireParam) {
         //获取当前登录企业id
@@ -246,10 +248,16 @@ public class LetterLogic {
 
     }
 
-    public LeLetter detailLetter(String id) {
+    public LeLetterDetail detailLetter(String id) {
         LeLetter leLetter = leLetterService.getById(id);
 
-        return leLetter;
+        LeLetterDetail leLetterDetail = BeanUtil.toBean(leLetter, LeLetterDetail.class);
+
+        List<LeLetterItem> leLetterItems = leLetterItemService.lambdaQuery().eq(LeLetterItem::getLeLetterId, id).list();
+
+        leLetterDetail.setLeLetterItems(leLetterItems);
+
+        return leLetterDetail;
     }
 
     public void addLetter(LeLetter leLetter) {
@@ -271,4 +279,46 @@ public class LetterLogic {
                 .set(LeLetter::getStatus, LetterStatusEnum.EXECUTED.getKey()).update();
 
     }
+
+    public void cancel(List<String> ids) {
+        if (leLetterService.lambdaQuery().in(LeLetter::getLeLetterId,ids).ne(LeLetter::getStatus,"WAIT").count()>0)
+            throw new RemoteServiceException("存在有非待发送的联络函");
+        leLetterService.lambdaUpdate().in(LeLetter::getLeLetterId,ids)
+                .set(LeLetter::getStatus, LetterStatusEnum.CANCEL.getKey()).update();
+    }
+
+    public void reject(List<String> ids) {
+
+        if (leLetterService.lambdaQuery().in(LeLetter::getLeLetterId,ids).isNotNull(LeLetter::getExamineStatus).ne(LeLetter::getStatus,LetterStatusEnum.WAIT.getKey()).count()>0)
+            throw new RemoteServiceException("存在有待执行的联络函");
+        leLetterService.lambdaUpdate().in(LeLetter::getLeLetterId,ids)
+                .set(LeLetter::getStatus, LetterStatusEnum.WAIT.getKey()).update();
+    }
+
+    public void appeal(LeLetterItem leLetterItem) {
+        LeLetter leLetter = leLetterService.getById(leLetterItem.getLeLetterId());
+        if (!leLetter.getStatus().equals(LetterStatusEnum.WAIT.getKey()))
+            throw new RemoteServiceException("不为待执行不能申诉");
+        leLetter.setStatus(LetterStatusEnum.WAIT_EXAMINE.getKey());
+        leLetter.updateById();
+        leLetterItem.insert();
+    }
+
+    public void examine(LeLetterItem leLetterItem) {
+
+        LeLetter leLetter = leLetterService.getById(leLetterItem.getLeLetterId());
+        if (!leLetter.getStatus().equals(LetterStatusEnum.WAIT_EXAMINE.getKey()))
+            throw new RemoteServiceException("不为待审批状态");
+        if (leLetterItem.getExamineStatus().equals(LetterItemStatus.OK.getKey())){
+            leLetter.setStatus(LetterStatusEnum.REVOKE.getKey());
+        }
+        if (leLetterItem.getExamineStatus().equals(LetterItemStatus.FAIL.getKey()))
+            leLetter.setStatus(LetterStatusEnum.EXECUTED.getKey());
+
+        if (leLetterItem.getExamineStatus().equals(LetterItemStatus.SUB.getKey()))
+            leLetter.setStatus(LetterStatusEnum.REDUCTION.getKey());
+
+        leLetter.updateById();
+        leLetterItem.insert();
+    }
 }