Explorar el Código

oa审核回调接口

qzyReal hace 2 años
padre
commit
fe1a76d62f

+ 12 - 0
sp-server/src/main/java/com/pj/api/pushfee/oa/CallbackBO.java

@@ -0,0 +1,12 @@
+package com.pj.api.pushfee.oa;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class CallbackBO implements Serializable {
+    private String fdId;
+    private String auditResult;
+    private String refuseReason;
+}

+ 27 - 0
sp-server/src/main/java/com/pj/api/pushfee/oa/OaJudgeController.java

@@ -0,0 +1,27 @@
+package com.pj.api.pushfee.oa;
+
+import cn.hutool.json.JSONUtil;
+import com.pj.project.tb_business.TbBusinessService;
+import com.pj.utils.sg.AjaxJson;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@RequestMapping("oa")
+@RestController
+@Slf4j
+public class OaJudgeController {
+    @Resource
+    private TbBusinessService tbBusinessService;
+
+    @PostMapping("approveCallback")
+    public AjaxJson approveCallback(@RequestBody CallbackBO callbackBO) {
+        log.info("oa审批回调:{}", JSONUtil.toJsonStr(callbackBO));
+        tbBusinessService.approveCallback(callbackBO);
+        return AjaxJson.getSuccess();
+    }
+}

+ 2 - 0
sp-server/src/main/java/com/pj/project/tb_business/TbBusiness.java

@@ -265,6 +265,8 @@ public class TbBusiness extends Model<TbBusiness> implements Serializable {
     private String oaContent;
     //oa主键
     private String oaFdId;
+    //审批时间
+    private Date oaJudgeTime;
 
     private transient String itemJson;
     private transient String peopleJson;

+ 28 - 0
sp-server/src/main/java/com/pj/project/tb_business/TbBusinessService.java

@@ -24,6 +24,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
 import com.google.gson.JsonObject;
+import com.pj.api.pushfee.oa.CallbackBO;
 import com.pj.api.wx.bo.MsgDataBO;
 import com.pj.api.wx.service.WxService;
 import com.pj.constants.UserTypeEnum;
@@ -1381,4 +1382,31 @@ public class TbBusinessService extends ServiceImpl<TbBusinessMapper, TbBusiness>
         this.addErrorBusiness(errorBusinessBO, false);
     }
 
+    /**
+     * oa审批回调
+     *
+     * @param callbackBO
+     */
+    public void approveCallback(CallbackBO callbackBO) {
+        String fdId = callbackBO.getFdId();
+        TbBusiness tbBusiness = this.findByFdId(fdId);
+        if (tbBusiness == null) {
+            throw new AjaxError("流程不存在");
+        }
+        tbBusiness.setOaResult(callbackBO.getAuditResult()).setOaContent(callbackBO.getRefuseReason())
+                .setOaJudgeTime(new Date());
+        this.updateById(tbBusiness);
+    }
+
+    /**
+     * 根据流程ID查询
+     *
+     * @param fdId
+     * @return
+     */
+    private TbBusiness findByFdId(String fdId) {
+        QueryWrapper<TbBusiness> ew = new QueryWrapper<>();
+        ew.lambda().eq(TbBusiness::getOaFdId, fdId);
+        return getOne(ew);
+    }
 }