From 3533543f5f5646422790a98b2dc5c19384e2db10 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Thu, 16 May 2019 15:35:53 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE][=E4=BF=AE=E6=94=B9]:=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EnumWxAuthotizationTemplateStatus.java | 36 ++++++ .../controller/WxWeappInfoController.java | 113 ++++++++++-------- 2 files changed, 96 insertions(+), 53 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/enums/EnumWxAuthotizationTemplateStatus.java 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