Просмотр исходного кода

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

release^2
Stormeye Wu 6 лет назад
Родитель
Сommit
f449961724
2 измененных файлов: 128 добавлений и 136 удалений
  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 Просмотреть файл

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

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

public static EnumTemplateType getEnum(Integer code) {


+ 126
- 134
mlWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java Просмотреть файл

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

if(StringUtils.isBlank(appsStr)) {
WxWeappInfo weappInfoQ = new WxWeappInfo();
@@ -183,69 +184,17 @@ public class WxWeappInfoController extends BaseController {
if(authorizerInfo == null) {
return new ResultData(ErrorCode.WEAPP_APPID_NOT_AUTH);
}
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
/*
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) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());
}
*/
// 设置微信模板
if(weappBasicSet.getType().equals(EnumAppType.C.getCode())) {
if(authorizerInfo.getTemplateStatus() == null ||
@@ -256,83 +205,12 @@ public class WxWeappInfoController extends BaseController {
WxMaService maService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);

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());
@@ -354,6 +232,120 @@ public class WxWeappInfoController extends BaseController {
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) {
List<Integer> keyArr = new ArrayList<Integer>();
for (int i = 0; i < keyidlist.size(); i++) {


Загрузка…
Отмена
Сохранить