k94314517
2025-04-21 16332a341801f80d27830d2ea4e683b4ab21167c
工单业务
已修改9个文件
59 ■■■■ 文件已修改
server/src/main/java/com/doumee/api/common/PublicCloudController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/api/web/WebCategoryController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/api/web/WebMemberController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/api/web/WebWorkOrderController.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/config/interfaceencryption/EncryptResponseBodyAdvice.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/core/utils/qiyeweixin/QywxConstant.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/core/utils/qiyeweixin/QywxUtil.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/api/common/PublicCloudController.java
@@ -4,6 +4,8 @@
import com.alibaba.fastjson.JSONObject;
import com.doumee.api.BaseController;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.annotation.EncryptionReq;
import com.doumee.config.annotation.EncryptionResp;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.constants.Constants;
import com.doumee.core.constants.ResponseStatus;
server/src/main/java/com/doumee/api/web/WebCategoryController.java
@@ -1,6 +1,8 @@
package com.doumee.api.web;
import com.doumee.config.Jwt.JwtTokenUtil;
import com.doumee.config.annotation.EncryptionReq;
import com.doumee.config.annotation.EncryptionResp;
import com.doumee.config.annotation.LoginRequired;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
@@ -38,6 +40,8 @@
    @LoginRequired
    @GetMapping("/categoryTree")
    @ApiOperation("获取分类类别获取分类树")
    @EncryptionReq
    @EncryptionResp
    public ApiResponse<List<CategoryVO>> categoryVOTree(@RequestParam String categoryType,Integer categoryId, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token){
        try {
@@ -53,6 +57,8 @@
    @LoginRequired
    @GetMapping("/getCategoryVOForGCXTree")
    @ApiOperation("获取分类类别获取分类树 - 观察项")
    @EncryptionReq
    @EncryptionResp
    public ApiResponse<List<CategoryVO>> getCategoryVOForGCXTree(@RequestParam Integer categoryId, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token){
        try {
@@ -69,6 +75,8 @@
    @LoginRequired
    @GetMapping("/categoryList")
    @ApiOperation("获取分类类别获取分类列表")
    @EncryptionReq
    @EncryptionResp
    public ApiResponse<List<CategoryVO>> categoryList(Integer categoryType,Integer isRoot ,@RequestHeader(JwtTokenUtil.HEADER_KEY) String token){
        try {
            jwtTokenUtil.getUserInfoByToken(token);
server/src/main/java/com/doumee/api/web/WebMemberController.java
@@ -54,8 +54,8 @@
    @PreventRepeat(limit = 10, lockTime = 10000)
    @ApiOperation("H5业务登录")
    @PostMapping("/loginH5")
//    @EncryptionReq
//    @EncryptionResp
    @EncryptionReq
    @EncryptionResp
    public ApiResponse<Member> loginH5 (@RequestBody LoginH5DTO dto) {
        try {
            //拿CODE换qwid,先查下本系统是否存在,存在直接返回member,否则用qwid查询企业用户数据,插入数据库(member)
@@ -74,6 +74,8 @@
    @LoginRequired
    @ApiOperation("更新用户邮箱信息")
    @PostMapping("/upateInfo")
    @EncryptionReq
    @EncryptionResp
    public ApiResponse upateInfo (@RequestBody UpdEmailDTO updEmailDTO ,@RequestHeader(JwtTokenUtil.HEADER_KEY) String token) {
        try {
            Member user =  jwtTokenUtil.getUserInfoByToken(token);
@@ -112,6 +114,8 @@
    @ApiOperation("获取企业微信JS签名")
    @PostMapping("/getQwSignature")
    @ResponseBody
    @EncryptionReq
    @EncryptionResp
    public ApiResponse<WebQwSingatureVO> getQwSignature(@RequestBody WebQwSingatureDto param) {
        try {
            String jsapiTicket = systemDictDataBiz.queryByCode(Constants.QYWX,Constants.QYWX_JS_API_TICKET).getCode();
@@ -142,6 +146,8 @@
    @LoginRequired
    @ApiOperation("查询可被抄送人分页")
    @PostMapping("/getCopySendUserPage")
    @EncryptionReq
    @EncryptionResp
    public ApiResponse<PageData<Member>> getCopySendUserPage (@RequestBody PageWrap<Member> pageWrap) {
        pageWrap.getModel().setIsSendCopy(Constants.ONE);
        return ApiResponse.success(memberService.findPage(pageWrap));
server/src/main/java/com/doumee/api/web/WebWorkOrderController.java
@@ -1,6 +1,8 @@
package com.doumee.api.web;
import com.doumee.config.Jwt.JwtTokenUtil;
import com.doumee.config.annotation.EncryptionReq;
import com.doumee.config.annotation.EncryptionResp;
import com.doumee.config.annotation.LoginRequired;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
@@ -52,6 +54,8 @@
    @LoginRequired
    @ApiOperation("风险上报")
    @PostMapping("/create")
    @EncryptionReq
    @EncryptionResp
    public ApiResponse create (@RequestBody Workorder workorder, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token) {
        try {
            Member user =  jwtTokenUtil.getUserInfoByToken(token);
@@ -69,6 +73,8 @@
    @LoginRequired
    @ApiOperation("通知人查询")
    @PostMapping("/managersList")
    @EncryptionReq
    @EncryptionResp
    public ApiResponse<List<Managers>> managersList (@RequestBody Managers model, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token) {
        try {
@@ -85,6 +91,8 @@
    @LoginRequired
    @ApiOperation("风险上报详情")
    @GetMapping("/detail")
    @EncryptionReq
    @EncryptionResp
    public ApiResponse<Workorder> detail (@RequestParam Integer id, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token) {
        try {
            return ApiResponse.success(workorderService.getDetail(id,jwtTokenUtil.getUserInfoByToken(token)));
@@ -101,6 +109,8 @@
    @LoginRequired
    @ApiOperation("工单关闭")
    @PostMapping("/closeWorkOrder")
    @EncryptionReq
    @EncryptionResp
    public ApiResponse closeWorkOrder(@RequestBody CloseDTO closeDTO, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token) {
        try {
            closeDTO.setMember(jwtTokenUtil.getUserInfoByToken(token));
@@ -120,6 +130,8 @@
    @LoginRequired
    @ApiOperation("工单指派")
    @PostMapping("/passOn")
    @EncryptionReq
    @EncryptionResp
    public ApiResponse passOn(@RequestBody PassOnDTO passOnDTO, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token) {
        try {
            passOnDTO.setMember(jwtTokenUtil.getUserInfoByToken(token));
@@ -138,6 +150,8 @@
    @LoginRequired
    @ApiOperation("工单催促")
    @GetMapping("/urge")
    @EncryptionReq
    @EncryptionResp
    public ApiResponse urge(@RequestParam Integer workorderId, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token) {
        try {
            workorderService.urge(workorderId,jwtTokenUtil.getUserInfoByToken(token));
@@ -154,6 +168,8 @@
    @LoginRequired
    @ApiOperation("工单抄送")
    @PostMapping("/sendCopy")
    @EncryptionReq
    @EncryptionResp
    public ApiResponse sendCopy(@RequestBody SendCopyDTO sendCopyDTO, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token) {
        try {
            sendCopyDTO.setMember(jwtTokenUtil.getUserInfoByToken(token));
@@ -172,6 +188,8 @@
    @LoginRequired
    @ApiOperation("SHE、跌绊滑报表")
    @PostMapping("/getWorkOrderData")
    @EncryptionReq
    @EncryptionResp
    public ApiResponse<List<WorkOrderDataVO>> getWorkOrderData(@RequestBody OrderDataDTO orderDataDTO, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token) {
        try {
@@ -185,10 +203,11 @@
    }
    @LoginRequired
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @EncryptionReq
    @EncryptionResp
    public ApiResponse<PageData<Workorder>> findPage (@RequestBody PageWrap<Workorder> pageWrap,@RequestHeader(JwtTokenUtil.HEADER_KEY) String token) {
        try {
            Member member = jwtTokenUtil.getUserInfoByToken(token);
@@ -200,8 +219,8 @@
            e.printStackTrace();
            return ApiResponse.failed(ResponseStatus.SERVER_ERROR);
        }
    }
}
server/src/main/java/com/doumee/config/interfaceencryption/EncryptResponseBodyAdvice.java
@@ -53,6 +53,7 @@
                ObjectMapper objectMapper = new ObjectMapper();
                objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
                String aesEncryptData = AESUtils.encrypt(objectMapper.writeValueAsString(apiResponse.getData()), str);
                apiResponse.setData(aesEncryptData);
                String aesEncryptMessage = AESUtils.encrypt(objectMapper.writeValueAsString(apiResponse.getMessage()), str);
                apiResponse.setMessage(aesEncryptMessage + " " + afterDealStr);
server/src/main/java/com/doumee/core/utils/qiyeweixin/QywxConstant.java
@@ -22,7 +22,7 @@
    //获取成员详情,access_token=调用接口凭证,userid=成员UserID
    public final static String[]  GET_USER_DETAIL =new String[]{ "/cgi-bin/user/get?access_token=${accesstoken}&userid=${id}","获取成员详情"};
    //发送应用消息,access_token=调用接口凭证  POST请求,
    public final static String[]  SEND_MSG =new String[]{ "/cgi-bin/message/send?access_token=${accesstoken}","发生推送消息"};
    public final static String[]  SEND_MSG =new String[]{ "/cgi-bin/message/send?access_token=${accesstoken}","发送推送消息"};
    public final static String[]  GET_USER_BY_AUTH_CODE =new String[]{ "/cgi-bin/auth/getuserinfo?access_token=${accesstoken}&code=${code}","获取用户登录身份"};
    public final static String[]  GET_JSAPI_TICKET =new String[]{ "/cgi-bin/get_jsapi_ticket?access_token=${accesstoken}","获取企业 jsapi_ticket"};
server/src/main/java/com/doumee/core/utils/qiyeweixin/QywxUtil.java
@@ -88,6 +88,7 @@
            String url = interfaceUrl[0].replace("${accesstoken}",token);
            QywxSendMsgResponse response = sendHttpRequestSingle(url,interfaceUrl[1],JSONObject.toJSONString(param)
                    ,new TypeReference<QywxSendMsgResponse>(){});
            log.error("推送消息结果{}",JSONObject.toJSONString(response));
            if(response.getErrcode()!=null && response.getErrcode() ==0){
                return response;
            }
server/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java
@@ -406,8 +406,8 @@
     */
    public Integer saveLog(String beforeJson,Workorder afterWorkorder,Integer objType,Integer memberId,String title,String content,String paramr2){
        WorkorderLog workorderLog = new WorkorderLog();
        workorderLog.setCreateDate(afterWorkorder.getCreateDate());
        workorderLog.setEditDate(afterWorkorder.getCreateDate());
        workorderLog.setCreateDate(afterWorkorder.getEditDate());
        workorderLog.setEditDate(afterWorkorder.getEditDate());
        workorderLog.setIsdeleted(Constants.ZERO);
        workorderLog.setBeforeContent(beforeJson);
        workorderLog.setAfterContent(JSONObject.toJSONString(afterWorkorder));
@@ -857,7 +857,7 @@
            }
            workorder.setStatus(Constants.WorkOrderStatus.wtsClose.getKey());
            qwIds.addAll(Arrays.asList(workorder.getQwnoticeMemberIds().split(",")));
            qwIds.add(workorder.getDealerId());
            qwIds.add(workorder.getManagerId());
            qwIds.remove(closeDTO.getMember().getQwId());
        }else{
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"工单状态已流转");
@@ -867,7 +867,7 @@
        workorder.setDealInfo(closeDTO.getInfo());
        workorderMapper.updateById(workorder);
        //处理上报日志
        Integer logId = this.saveLog(beforeJson,workorder,Constants.THREE,workorder.getMemberId(),"任务已处理",closeDTO.getInfo(),null);
        Integer logId = this.saveLog(beforeJson,workorder,Constants.THREE,closeDTO.getMember().getId(),"任务已处理",closeDTO.getInfo(),null);
        List<Multifile> multifileList = closeDTO.getMultifileList();
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
            for (Multifile multifile:multifileList) {
@@ -933,7 +933,7 @@
        //处理上报日志
        Integer logId = this.saveLog(beforeJson,workorder,
                Constants.equalsInteger(passOnDTO.getPassOnType(),Constants.ZERO)?Constants.ONE:Constants.TWO
                ,workorder.getMemberId(),"任务分配",passOnDTO.getInfo(),paramr2);
                ,passOnDTO.getMember().getId(),"任务分配",passOnDTO.getInfo(),paramr2);
        List<Multifile> multifileList = passOnDTO.getMultifileList();
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
            for (Multifile multifile:multifileList) {