Procházet zdrojové kódy

[模板消息][修改]:模板消息修改

release^2
Stormeye Wu před 6 roky
rodič
revize
f449961724
2 změnil soubory, kde provedl 128 přidání a 136 odebrání
  1. +2
    -2
      mallinkService/src/main/java/com/iformall/enums/EnumTemplateType.java
  2. +126
    -134
      mlWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java

+ 2
- 2
mallinkService/src/main/java/com/iformall/enums/EnumTemplateType.java Zobrazit soubor

@@ -9,8 +9,8 @@ public enum EnumTemplateType {


VERIFY_SUCCESS(1, "核销成功消息"), VERIFY_SUCCESS(1, "核销成功消息"),
VERIFY_FAIL(2, "核销失败消息"), VERIFY_FAIL(2, "核销失败消息"),
PRESS_SUCCESS(3,"砍价成功消息"),
AUDIT_MESSAGE(101, "审核结果通知") // 公众号
PRESS_PRICE_SUCCESS(3, "砍价成功消息"),
AUDIT_MESSAGE(101, "审核结果通知"), // 公众号
; ;


public static EnumTemplateType getEnum(Integer code) { public static EnumTemplateType getEnum(Integer code) {


+ 126
- 134
mlWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java Zobrazit soubor

@@ -150,6 +150,7 @@ public class WxWeappInfoController extends BaseController {
return new ResultData(ErrorCode.WEAPP_BASIC_SET_DOMAIN_ERR); return new ResultData(ErrorCode.WEAPP_BASIC_SET_DOMAIN_ERR);
} }
JSONObject templeObj = JSON.parseObject(weappBasicSet.getTemplateInfo()); JSONObject templeObj = JSON.parseObject(weappBasicSet.getTemplateInfo());
logger.info(templeObj.toJSONString());


if(StringUtils.isBlank(appsStr)) { if(StringUtils.isBlank(appsStr)) {
WxWeappInfo weappInfoQ = new WxWeappInfo(); WxWeappInfo weappInfoQ = new WxWeappInfo();
@@ -183,69 +184,17 @@ public class WxWeappInfoController extends BaseController {
if(authorizerInfo == null) { if(authorizerInfo == null) {
return new ResultData(ErrorCode.WEAPP_APPID_NOT_AUTH); return new ResultData(ErrorCode.WEAPP_APPID_NOT_AUTH);
} }
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
/*
try { try {
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
// 设置基础版本
String versionRet = openMaService.setSupportVersion(weappBasicSet.getVersion());
logger.info(versionRet);
JSONObject verObj = JSON.parseObject(versionRet);
if(verObj.getInteger("errcode").equals(0)) {
authorizerInfo.setBaseStatus(0);
} else {
authorizerInfo.setBaseStatus(1);
}
authorizerInfo.setBaseTime(new Date());
authorizerInfo.setUpdateTime(new Date());
authorizerInfoService.updateBaseVersion(authorizerInfo);

// 服务器域名
String action = "set";
JSONObject urlObj = domainObj.getJSONObject("url");
List<String> requestDomain = getUrlList(urlObj.getJSONArray("requestdomain"));
List<String> wsrequestDomain = getUrlList(urlObj.getJSONArray("wsrequestdomain"));
List<String> uploadDomain = getUrlList(urlObj.getJSONArray("uploaddomain"));
List<String> downloadDomain = getUrlList(urlObj.getJSONArray("downloaddomain"));
logger.info(downloadDomain.toString());
WxOpenMaDomainResult openRet = openMaService.modifyDomain(action,
requestDomain, wsrequestDomain,
uploadDomain, downloadDomain);
logger.info(openRet.toString());
if(openRet.isSuccess()) {
logger.info("设置服务器域名成功");
authorizerInfo.setDomainStatus(0);
authorizerInfo.setDomainTime(new Date());
authorizerInfo.setUpdateTime(new Date());
setBasicVersion(weappBasicSet, authorizerInfo, openMaService);


} else {
logger.info("设置服务器域名成功");
authorizerInfo.setDomainStatus(1);
authorizerInfo.setDomainTime(new Date());
authorizerInfo.setUpdateTime(new Date());
}
authorizerInfoService.updateDomainUrl(authorizerInfo);
// 业务域名
JSONObject webObj = domainObj.getJSONObject("web");
List<String> urlList = getUrlList(webObj.getJSONArray("webviewdomain"));
String openRet1 = openMaService.setWebViewDomain(action, urlList);
logger.info(openRet1);
JSONObject webRetObj = JSON.parseObject(openRet1);
if(webRetObj.getInteger("errcode").equals(0)) {
logger.info("设置服务器业务域名成功");
authorizerInfo.setWebdomainStatus(0);
authorizerInfo.setWebdomainTime(new Date());
authorizerInfo.setUpdateTime(new Date());
} else {
logger.info("设置服务器业务域名失败");
authorizerInfo.setWebdomainStatus(1);
authorizerInfo.setWebdomainTime(new Date());
authorizerInfo.setUpdateTime(new Date());
}
authorizerInfoService.updateWebDomainUrl(authorizerInfo);
setDomainUrl(domainObj, authorizerInfo, openMaService);
} catch (WxErrorException e) { } catch (WxErrorException e) {
logger.error(e.getMessage()); logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage()); return new ResultData(Result.ERROR, e.getMessage());
} }
*/
// 设置微信模板 // 设置微信模板
if(weappBasicSet.getType().equals(EnumAppType.C.getCode())) { if(weappBasicSet.getType().equals(EnumAppType.C.getCode())) {
if(authorizerInfo.getTemplateStatus() == null || if(authorizerInfo.getTemplateStatus() == null ||
@@ -256,83 +205,12 @@ public class WxWeappInfoController extends BaseController {
WxMaService maService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId); WxMaService maService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);


try { try {
// 核销成功消息
JSONObject verify_success = templeObj.getJSONObject("verify_success");
String id = verify_success.getString("id");
JSONArray keyidlist = verify_success.getJSONArray("keyword_id_list");
String customParam = verify_success.getString("custom_param");
logger.info(customParam);
JSONObject customParamObj = JSON.parseObject(customParam);
List<Integer> keyArr = getIdList(keyidlist);
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.setCustomParam(customParamObj.toJSONString());
templateMsgService.saveOrUpdate(templateMsg);
} else {
WxMaTemplateAddResult ret = maService.getTemplateService().addTemplate(id, keyArr);
logger.info(ret.toString());
templateMsgQ.setTemplateId(ret.getTemplateId());
templateMsgQ.setCustomParam(customParamObj.toJSONString());
templateMsgService.saveOrUpdate(templateMsgQ);
}
}
// 核销失败消息
JSONObject verify_fail = templeObj.getJSONObject("verify_fail");
id = verify_fail.getString("id");
keyidlist = verify_fail.getJSONArray("keyword_id_list");
customParam = verify_fail.getString("custom_param");
logger.info(customParam);
customParamObj = JSON.parseObject(customParam);
List<Integer> keyArr1 = getIdList(keyidlist);
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.setCustomParam(customParamObj.toJSONString());
templateMsgService.saveOrUpdate(templateMsg);
} else {
WxMaTemplateAddResult ret = maService.getTemplateService().addTemplate(id, keyArr1);
logger.info(ret.toString());
templateMsgQ.setTemplateId(ret.getTemplateId());
templateMsgQ.setCustomParam(customParamObj.toJSONString());
templateMsgService.saveOrUpdate(templateMsgQ);
}
}

// 砍价成功消息
JSONObject press_success = templeObj.getJSONObject("press_success");
id = press_success.getString("id");
keyidlist = press_success.getJSONArray("keyword_id_list");
customParam = press_success.getString("custom_param");
logger.info(customParam);
customParamObj = JSON.parseObject(customParam);
List<Integer> keyArr2 = getIdList(keyidlist);

if(appinfo != null) {
// wx_template_msg
WxTemplateMsg templateMsgQ = new WxTemplateMsg();
templateMsgQ.setTenantId(appinfo.getTenantId());
templateMsgQ.setType(EnumTemplateType.PRESS_SUCCESS.getCode());
WxTemplateMsg templateMsg = templateMsgService.getByObj(templateMsgQ);
if(templateMsg != null) {
templateMsg.setCustomParam(customParamObj.toJSONString());
templateMsgService.saveOrUpdate(templateMsg);
} else {
WxMaTemplateAddResult ret = maService.getTemplateService().addTemplate(id, keyArr2);
logger.info(ret.toString());
templateMsgQ.setTemplateId(ret.getTemplateId());
templateMsgQ.setCustomParam(customParamObj.toJSONString());
templateMsgService.saveOrUpdate(templateMsgQ);
}
}
logger.info("verify success");
setBasicTemplateMsgVerifySuccess(templeObj, appinfo, maService);
logger.info("verify fail");
setBasicTemplateMsgVerifyFail(templeObj, appinfo, maService);
logger.info("press success");
setBasicTemplateMsgPressSuccess(templeObj, appinfo, maService);


// 更新状态 // 更新状态
authorizerInfo.setTemplateStatus(EnumWxAuthotizationTemplateStatus.SUCCESS.getCode()); authorizerInfo.setTemplateStatus(EnumWxAuthotizationTemplateStatus.SUCCESS.getCode());
@@ -354,6 +232,120 @@ public class WxWeappInfoController extends BaseController {
return null; return null;
} }


private void setBasicTemplateMsg(JSONObject templeObj, WxAppinfo appinfo, WxMaService maService, Integer msgCode, String msgTypeStr) throws WxErrorException {
JSONObject msgObj;
try {
msgObj = templeObj.getJSONObject(msgTypeStr);
} catch (Exception e) {
logger.error(e.getMessage());
return;
}
logger.info(msgObj.toJSONString());
String id = msgObj.getString("id");
JSONArray keyidlist = msgObj.getJSONArray("keyword_id_list");
String customParam = msgObj.getString("custom_param");
logger.info(customParam);
JSONObject customParamObj = JSON.parseObject(customParam);
List<Integer> keyArr1 = getIdList(keyidlist);
if (appinfo != null) {
// wx_template_msg
WxTemplateMsg templateMsgQ = new WxTemplateMsg();
templateMsgQ.setTenantId(appinfo.getTenantId());
logger.info(msgCode.toString());
templateMsgQ.setType(msgCode);
WxTemplateMsg templateMsg = templateMsgService.getByObj(templateMsgQ);
if (templateMsg != null) {
templateMsg.setCustomParam(customParamObj.toJSONString());
templateMsgService.saveOrUpdate(templateMsg);
} else {
WxMaTemplateAddResult ret = maService.getTemplateService().addTemplate(id, keyArr1);
logger.info(ret.toString());
templateMsgQ.setTemplateId(ret.getTemplateId());
templateMsgQ.setCustomParam(customParamObj.toJSONString());
templateMsgService.saveOrUpdate(templateMsgQ);
}
}
}

private void setBasicTemplateMsgVerifySuccess(JSONObject templeObj, WxAppinfo appinfo, WxMaService maService) throws WxErrorException {
// 核销成功消息
setBasicTemplateMsg(templeObj, appinfo, maService, EnumTemplateType.VERIFY_SUCCESS.getCode(), "verify_success");
}

private void setBasicTemplateMsgVerifyFail(JSONObject templeObj, WxAppinfo appinfo, WxMaService maService) throws WxErrorException {
// 核销失败消息
setBasicTemplateMsg(templeObj, appinfo, maService, EnumTemplateType.VERIFY_FAIL.getCode(), "verify_fail");
}

private void setBasicTemplateMsgPressSuccess(JSONObject templeObj, WxAppinfo appinfo, WxMaService maService) throws WxErrorException {
// 砍价成功消息
logger.info("setBasicTemplateMsgPressSuccess begin..");
/// EnumTemplateType.PRESS_PRICE_SUCCESS.getCode()
setBasicTemplateMsg(templeObj, appinfo, maService, EnumTemplateType.PRESS_PRICE_SUCCESS.getCode(), "press_success");
logger.info("setBasicTemplateMsgPressSuccess end.");
}

private void setDomainUrl(JSONObject domainObj, WxAuthorizerInfo authorizerInfo, WxOpenMaService openMaService) throws WxErrorException {
// 服务器域名
String action = "set";
JSONObject urlObj = domainObj.getJSONObject("url");
List<String> requestDomain = getUrlList(urlObj.getJSONArray("requestdomain"));
List<String> wsrequestDomain = getUrlList(urlObj.getJSONArray("wsrequestdomain"));
List<String> uploadDomain = getUrlList(urlObj.getJSONArray("uploaddomain"));
List<String> downloadDomain = getUrlList(urlObj.getJSONArray("downloaddomain"));
logger.info(downloadDomain.toString());
WxOpenMaDomainResult openRet = openMaService.modifyDomain(action,
requestDomain, wsrequestDomain,
uploadDomain, downloadDomain);
logger.info(openRet.toString());
if(openRet.isSuccess()) {
logger.info("设置服务器域名成功");
authorizerInfo.setDomainStatus(0);
authorizerInfo.setDomainTime(new Date());
authorizerInfo.setUpdateTime(new Date());

} else {
logger.info("设置服务器域名成功");
authorizerInfo.setDomainStatus(1);
authorizerInfo.setDomainTime(new Date());
authorizerInfo.setUpdateTime(new Date());
}
authorizerInfoService.updateDomainUrl(authorizerInfo);
// 业务域名
JSONObject webObj = domainObj.getJSONObject("web");
List<String> urlList = getUrlList(webObj.getJSONArray("webviewdomain"));
String openRet1 = openMaService.setWebViewDomain(action, urlList);
logger.info(openRet1);
JSONObject webRetObj = JSON.parseObject(openRet1);
if(webRetObj.getInteger("errcode").equals(0)) {
logger.info("设置服务器业务域名成功");
authorizerInfo.setWebdomainStatus(0);
authorizerInfo.setWebdomainTime(new Date());
authorizerInfo.setUpdateTime(new Date());
} else {
logger.info("设置服务器业务域名失败");
authorizerInfo.setWebdomainStatus(1);
authorizerInfo.setWebdomainTime(new Date());
authorizerInfo.setUpdateTime(new Date());
}
authorizerInfoService.updateWebDomainUrl(authorizerInfo);
}

private void setBasicVersion(WxWeappBasicSet weappBasicSet, WxAuthorizerInfo authorizerInfo, WxOpenMaService openMaService) throws WxErrorException {
// 设置基础版本
String versionRet = openMaService.setSupportVersion(weappBasicSet.getVersion());
logger.info(versionRet);
JSONObject verObj = JSON.parseObject(versionRet);
if(verObj.getInteger("errcode").equals(0)) {
authorizerInfo.setBaseStatus(0);
} else {
authorizerInfo.setBaseStatus(1);
}
authorizerInfo.setBaseTime(new Date());
authorizerInfo.setUpdateTime(new Date());
authorizerInfoService.updateBaseVersion(authorizerInfo);
}

private List<Integer> getIdList(JSONArray keyidlist) { private List<Integer> getIdList(JSONArray keyidlist) {
List<Integer> keyArr = new ArrayList<Integer>(); List<Integer> keyArr = new ArrayList<Integer>();
for (int i = 0; i < keyidlist.size(); i++) { for (int i = 0; i < keyidlist.size(); i++) {


Načítá se…
Zrušit
Uložit