server/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java
@@ -51,6 +51,7 @@ public void updateById(SystemDictData systemDictData) { systemDictDataService.updateById(systemDictData); } @Override public String updateQywxToken(){ String corpid = queryByCode(Constants.QYWX,Constants.QYWX_CORPID).getCode(); @@ -61,6 +62,13 @@ dictData.setCode(token); dictData.setUpdateTime(new Date()); systemDictDataService.updateById(dictData); String ticket = QywxUtil.getJsApiTicket(token); SystemDictData ticketDictData = queryByCode(Constants.QYWX,Constants.QYWX_JS_API_TICKET); if (dictData != null ) { ticketDictData.setCode(ticket); ticketDictData.setUpdateTime(new Date()); systemDictDataService.updateById(ticketDictData); } } return token; } server/src/main/java/com/doumee/core/constants/Constants.java
@@ -23,6 +23,8 @@ public static final String QYWX_SECRET = "QYWX_SECRET"; public static final String QYWX_TOKEN = "QYWX_TOKEN"; public static final String QYWX_AGENTID = "QYWX_AGENTID"; public static final String QYWX_JS_API_TICKET = "QYWX_JS_API_TICKET"; public static final String QYWX = "QYWX"; public static final Integer ONE = 1; server/src/main/java/com/doumee/core/utils/qiyeweixin/QywxConstant.java
@@ -24,5 +24,7 @@ //发送应用消息,access_token=调用接口凭证 POST请求, public final static String[] SEND_MSG =new String[]{ "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=${accesstoken}","发生推送消息"}; public final static String[] GET_USER_BY_AUTH_CODE =new String[]{ "https://qyapi.weixin.qq.com/cgi-bin/auth/getuserinfo?access_token=${accesstoken}&code=${code}","获取用户登录身份"}; public final static String[] GET_JSAPI_TICKET =new String[]{ "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=${accesstoken}","获取企业 jsapi_ticket"}; } server/src/main/java/com/doumee/core/utils/qiyeweixin/QywxUtil.java
@@ -130,6 +130,19 @@ return null; } public static String getJsApiTicket(String token) { String[] interfaceUrl = QywxConstant.GET_JSAPI_TICKET; String url = interfaceUrl[0].replace("${accesstoken}",token); QywxBaseResponse<String> response = sendHttpRequest(url,interfaceUrl[1],"" ,new TypeReference<QywxBaseResponse<String>>(){}); if(response.getErrcode()!=null && response.getErrcode() ==0){ return response.getJsapi_ticket(); } return null; } /** * 发起wms接口请求 * @param url server/src/main/java/com/doumee/core/utils/qiyeweixin/model/response/QywxBaseResponse.java
@@ -25,6 +25,8 @@ private String errmsg; @ApiModelProperty(value = "获取到的凭证,最长为512字节") private String access_token; @ApiModelProperty(value = "获取到的凭证,最长为512字节") private String jsapi_ticket; @ApiModelProperty(value = "凭证的有效时间") private Long expires_in; server/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -435,7 +435,7 @@ if(Objects.isNull(qwIdBaseResponse)||Objects.isNull(qwIdBaseResponse.getErrcode())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"企业微信登录码解析失败,请联系管理员"); } if(Constants.equalsInteger(qwIdBaseResponse.getErrcode(),Constants.ZERO)){ if(!Constants.equalsInteger(qwIdBaseResponse.getErrcode(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"企业微信登录失败:"+qwIdBaseResponse.getErrmsg()); } if(Objects.isNull(qwIdBaseResponse.getData())){ @@ -450,7 +450,7 @@ if(Objects.isNull(qywxUserInfoResponse)||Objects.isNull(qywxUserInfoResponse.getErrcode())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"企业微信获取用户信息解析失败,请联系管理员"); } if(Constants.equalsInteger(qywxUserInfoResponse.getErrcode(),Constants.ZERO)){ if(!Constants.equalsInteger(qywxUserInfoResponse.getErrcode(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"企业微信获取用户信息失败:"+qwIdBaseResponse.getErrmsg()); } member = new Member(); server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java
@@ -168,19 +168,19 @@ message = Constants.equalsInteger(workorder.getMemberType(),Constants.ONE)?"同事":"供应商"; } message = message + "-" + workorder.getMemberNames() + " " + DateUtil.formatDate(new Date(),"yyyy-MM-dd HH:mm") + workorder.getLocationName() + categoryName; textCard.setDescription("<div class=\"normal\"></div> <div class=\"normal\">"+message+"</div>"); textCard.setDescription("<div class=\"normal\">"+message+"</div>"); }else{ textCard.setTitle(Constants.equalsInteger(workorder.getType(),Constants.ONE)?"【DCA上报】":"【跌绊滑风险上报】"); if(Constants.equalsInteger(workorder.getType(),Constants.THREE)){ message = message + " <div class=\"normal\"></div> <div class=\"normal\">"+ (org.apache.commons.lang3.StringUtils.isNotBlank(userName)?userName:"系统") + (Constants.equalsInteger(contentType,Constants.ZERO)?"任务分配给你":(Constants.equalsInteger(contentType,Constants.ONE)?"对该工单进行了催促,请尽快处理":"任务已处理")) +"</div>"; message = message + " <div class=\"normal\"></div> <div class=\"normal\">"+ DateUtil.formatDate(new Date(),"yyyy-MM-dd HH:mm") +"/"+ workorder.getLocationName() +"/"+ categoryName+"</div>"; message = message + " <div class=\"normal\">"+ (org.apache.commons.lang3.StringUtils.isNotBlank(userName)?userName:"系统") + (Constants.equalsInteger(contentType,Constants.ZERO)?"任务分配给你":(Constants.equalsInteger(contentType,Constants.ONE)?"对该工单进行了催促,请尽快处理":"任务已处理")) +"</div>"; message = message + " <div class=\"normal\">"+ DateUtil.formatDate(new Date(),"yyyy-MM-dd HH:mm") +"/"+ workorder.getLocationName() +"/"+ categoryName+"</div>"; }else{ message = message + " <div class=\"normal\"></div> <div class=\"normal\">"+ (org.apache.commons.lang3.StringUtils.isNotBlank(userName)?userName:"系统") + (Constants.equalsInteger(contentType,Constants.ZERO)?"任务分配给你":(Constants.equalsInteger(contentType,Constants.ONE)?"对该工单进行了催促,请尽快处理":((Constants.equalsInteger(contentType,Constants.TWO)?"抄送给你":"已处理一项")))) +"</div>"; message = message + " <div class=\"normal\"></div> <div class=\"normal\">观察主题"+ categoryName +"</div>"; message = message + " <div class=\"normal\"></div> <div class=\"normal\">符合:"+ workorder.getDcaYesNum() +" 不符合:"+workorder.getDcaNoNum()+"</div>"; message = message + " <div class=\"normal\">"+ (org.apache.commons.lang3.StringUtils.isNotBlank(userName)?userName:"系统") + (Constants.equalsInteger(contentType,Constants.ZERO)?"任务分配给你":(Constants.equalsInteger(contentType,Constants.ONE)?"对该工单进行了催促,请尽快处理":((Constants.equalsInteger(contentType,Constants.TWO)?"抄送给你":"已处理一项")))) +"</div>"; message = message + " <div class=\"normal\">观察主题"+ categoryName +"</div>"; message = message + " <div class=\"normal\">符合:"+ workorder.getDcaYesNum() +" 不符合:"+workorder.getDcaNoNum()+"</div>"; if(Constants.equalsInteger(contentType,Constants.TWO)){ message = message + " <div class=\"normal\"></div> <div class=\"normal\">说明:"+ csInfo +"</div>"; message = message + " <div class=\"normal\">说明:"+ csInfo +"</div>"; } } textCard.setDescription(message); @@ -213,8 +213,8 @@ multifile.setObjId(workorder.getId()); multifile.setCreateDate(new Date()); multifile.setObjType(Constants.multiFileType.upload); multifileMapper.insert(multifile); } multifileMapper.insert(multifileList); } } server/src/main/resources/application.yml
@@ -9,7 +9,7 @@ spring: profiles: active: dev active: test # JSON返回配置 jackson: # 默认时区