diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumWxAuthotizationTemplateStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumWxAuthotizationTemplateStatus.java new file mode 100644 index 0000000..1b6c003 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumWxAuthotizationTemplateStatus.java @@ -0,0 +1,36 @@ +package com.iformall.enums; + +/** + * Created by Stormeye on 2018/08/09. + */ +public enum EnumWxAuthotizationTemplateStatus { + + SUCCESS(0, "模板已设置"), + Fail(1, "模板设置失败") + ; + + public static EnumWxAuthotizationTemplateStatus getEnum(Integer code) { + for (EnumWxAuthotizationTemplateStatus value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumWxAuthotizationTemplateStatus(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mlWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java b/mlWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java index 8b51771..464d593 100644 --- a/mlWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java +++ b/mlWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java @@ -2,6 +2,7 @@ package com.iformall.controller; import cn.binarywang.wx.miniapp.api.WxMaService; import cn.binarywang.wx.miniapp.bean.template.WxMaTemplateAddResult; +import cn.binarywang.wx.miniapp.bean.template.WxMaTemplateListResult; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -246,63 +247,69 @@ public class WxWeappInfoController extends BaseController { // 设置微信模板 if(weappBasicSet.getType().equals(EnumAppType.C.getCode())) { - WxAppinfo appinfo = appinfoService.getByAppId(appId); - try { + if(authorizerInfo.getTemplateStatus() == null || + !authorizerInfo.getTemplateStatus().equals(EnumWxAuthotizationTemplateStatus.SUCCESS.getCode())) { + // 模板未设置或者设置失败 + // 获取模板 + WxAppinfo appinfo = appinfoService.getByAppId(appId); WxMaService maService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId); - // 核销成功消息 - JSONObject verify_success = templeObj.getJSONObject("verify_success"); - JSONArray keyidlist = verify_success.getJSONArray("keyword_id_list"); - List keyArr = getIdList(keyidlist); - WxMaTemplateAddResult ret = maService.getTemplateService().addTemplate(verify_success.getString("id"), keyArr); - logger.info(ret.toString()); - if(appinfo != null) { - // wx_template_msg - WxTemplateMsg templateMsgQ = new WxTemplateMsg(); - templateMsgQ.setTenantId(appinfo.getTenantId()); - templateMsgQ.setType(EnumTemplateType.VERIFY_SUCCESS.getCode()); - WxTemplateMsg templateMsg = templateMsgService.getByObj(templateMsgQ); - if(templateMsg != null) { - templateMsg.setTemplateId(ret.getTemplateId()); - templateMsgService.saveOrUpdate(templateMsg); - } else { - templateMsgQ.setTemplateId(ret.getTemplateId()); - templateMsgService.saveOrUpdate(templateMsgQ); + + try { + // 核销成功消息 + JSONObject verify_success = templeObj.getJSONObject("verify_success"); + JSONArray keyidlist = verify_success.getJSONArray("keyword_id_list"); + List keyArr = getIdList(keyidlist); + WxMaTemplateAddResult ret = maService.getTemplateService().addTemplate(verify_success.getString("id"), keyArr); + logger.info(ret.toString()); + if(appinfo != null) { + // wx_template_msg + WxTemplateMsg templateMsgQ = new WxTemplateMsg(); + templateMsgQ.setTenantId(appinfo.getTenantId()); + templateMsgQ.setType(EnumTemplateType.VERIFY_SUCCESS.getCode()); + WxTemplateMsg templateMsg = templateMsgService.getByObj(templateMsgQ); + if(templateMsg != null) { + templateMsg.setTemplateId(ret.getTemplateId()); + templateMsgService.saveOrUpdate(templateMsg); + } else { + templateMsgQ.setTemplateId(ret.getTemplateId()); + templateMsgService.saveOrUpdate(templateMsgQ); + } } - } - // 核销失败消息 - JSONObject verify_fail = templeObj.getJSONObject("verify_fail"); - keyidlist = verify_fail.getJSONArray("keyword_id_list"); - List keyArr1 = getIdList(keyidlist); - ret = maService.getTemplateService().addTemplate(verify_fail.getString("id"), keyArr1); - logger.info(ret.toString()); - if(appinfo != null) { - // wx_template_msg - WxTemplateMsg templateMsgQ = new WxTemplateMsg(); - templateMsgQ.setTenantId(appinfo.getTenantId()); - templateMsgQ.setType(EnumTemplateType.VERIFY_FAIL.getCode()); - WxTemplateMsg templateMsg = templateMsgService.getByObj(templateMsgQ); - if(templateMsg != null) { - templateMsg.setTemplateId(ret.getTemplateId()); - templateMsgService.saveOrUpdate(templateMsg); - } else { - templateMsgQ.setTemplateId(ret.getTemplateId()); - templateMsgService.saveOrUpdate(templateMsgQ); + // 核销失败消息 + JSONObject verify_fail = templeObj.getJSONObject("verify_fail"); + keyidlist = verify_fail.getJSONArray("keyword_id_list"); + List keyArr1 = getIdList(keyidlist); + ret = maService.getTemplateService().addTemplate(verify_fail.getString("id"), keyArr1); + logger.info(ret.toString()); + if(appinfo != null) { + // wx_template_msg + WxTemplateMsg templateMsgQ = new WxTemplateMsg(); + templateMsgQ.setTenantId(appinfo.getTenantId()); + templateMsgQ.setType(EnumTemplateType.VERIFY_FAIL.getCode()); + WxTemplateMsg templateMsg = templateMsgService.getByObj(templateMsgQ); + if(templateMsg != null) { + templateMsg.setTemplateId(ret.getTemplateId()); + templateMsgService.saveOrUpdate(templateMsg); + } else { + templateMsgQ.setTemplateId(ret.getTemplateId()); + templateMsgService.saveOrUpdate(templateMsgQ); + } } - } - // 更新状态 - authorizerInfo.setTemplateStatus(0); - authorizerInfo.setTemplateTime(new Date()); - authorizerInfo.setUpdateTime(new Date()); - authorizerInfoService.updateTemplate(authorizerInfo); - } catch (WxErrorException e) { - logger.error(e.getMessage()); - // 更新状态 - authorizerInfo.setTemplateStatus(1); - authorizerInfo.setTemplateTime(new Date()); - authorizerInfo.setUpdateTime(new Date()); - authorizerInfoService.updateTemplate(authorizerInfo); - return new ResultData(Result.ERROR, e.getMessage()); + // 更新状态 + authorizerInfo.setTemplateStatus(EnumWxAuthotizationTemplateStatus.SUCCESS.getCode()); + authorizerInfo.setTemplateTime(new Date()); + authorizerInfo.setUpdateTime(new Date()); + authorizerInfoService.updateTemplate(authorizerInfo); + } catch (WxErrorException e) { + logger.error(e.getMessage()); + // 更新状态 + authorizerInfo.setTemplateStatus(EnumWxAuthotizationTemplateStatus.Fail.getCode()); + authorizerInfo.setTemplateTime(new Date()); + authorizerInfo.setUpdateTime(new Date()); + authorizerInfoService.updateTemplate(authorizerInfo); + return new ResultData(Result.ERROR, e.getMessage()); + } } } // 设置成功返回null