diff --git a/mallinkService/src/main/java/com/iformall/service/toutiao/api/TtOpenMaService.java b/mallinkService/src/main/java/com/iformall/service/toutiao/api/TtOpenMaService.java index 130512f..170b571 100644 --- a/mallinkService/src/main/java/com/iformall/service/toutiao/api/TtOpenMaService.java +++ b/mallinkService/src/main/java/com/iformall/service/toutiao/api/TtOpenMaService.java @@ -108,7 +108,7 @@ public interface TtOpenMaService extends TtMaService { /** * 1. 为授权的小程序帐号上传小程序代码 */ - String API_CODE_COMMIT = "https://api.weixin.qq.com/wxa/commit"; + String API_CODE_COMMIT = "https://open.microapp.bytedance.com/openapi/v1/microapp/package/upload"; /** * 2. 获取体验小程序的体验二维码 diff --git a/mallinkService/src/main/java/com/iformall/service/toutiao/api/impl/TtOpenMaServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/toutiao/api/impl/TtOpenMaServiceImpl.java index ad49821..fe9941e 100644 --- a/mallinkService/src/main/java/com/iformall/service/toutiao/api/impl/TtOpenMaServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/toutiao/api/impl/TtOpenMaServiceImpl.java @@ -8,6 +8,7 @@ import com.google.gson.JsonObject; import com.iformall.service.toutiao.api.TtOpenComponentService; import com.iformall.service.toutiao.api.TtOpenMaService; import com.iformall.service.toutiao.miniapp.impl.TtMaServiceImpl; +import lombok.extern.java.Log; import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.open.bean.ma.WxMaOpenCommitExtInfo; import me.chanjar.weixin.open.bean.ma.WxMaQrcodeParam; @@ -20,7 +21,7 @@ import java.util.List; import java.util.Map; /** - * @author 007 + * *
* 增加开放平台代小程序管理服务能力 * 说明:这里让这个服务公开便于调用者模拟本地测试服务 @@ -286,13 +287,16 @@ public class TtOpenMaServiceImpl extends TtMaServiceImpl implements TtOpenMaServ */ @Override public WxOpenResult codeCommit(Long templateId, String userVersion, String userDesc, WxMaOpenCommitExtInfo extInfo) throws WxErrorException { + String uri = API_CODE_COMMIT + "?component_appid=" + ttOpenComponentService.getWxOpenConfigStorage().getComponentAppId(); + JsonObject params = new JsonObject(); params.addProperty("template_id", templateId); params.addProperty("user_version", userVersion); params.addProperty("user_desc", userDesc); //注意:ext_json必须是字符串类型 params.addProperty("ext_json", GSON.toJson(extInfo)); - String response = post(API_CODE_COMMIT, GSON.toJson(params)); + String response = ttOpenComponentService.postByAppAccessToken(appId,uri,GSON.toJson(params),"authorizer_access_token"); + return WxMaGsonBuilder.create().fromJson(response, WxOpenResult.class); } diff --git a/mlToutiaoOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java b/mlToutiaoOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java index 73df4af..e732797 100644 --- a/mlToutiaoOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java +++ b/mlToutiaoOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java @@ -20,6 +20,9 @@ import com.iformall.domain.vo.WxWeappInfo; import com.iformall.domain.vo.WxWeappReleaseStatusVo; import com.iformall.enums.*; import com.iformall.service.*; +import com.iformall.service.toutiao.FmTtOpenService; +import com.iformall.service.toutiao.api.TtOpenMaService; +import com.iformall.service.toutiao.miniapp.TtMaService; import com.iformall.service.wechat.FmOpenService; import com.iformall.utils.Constant; import com.iformall.utils.OpenConstant; @@ -75,7 +78,7 @@ public class WxWeappInfoController extends BaseController { private WxWeappReleaseStatusService weappReleaseStatusService; @Autowired - private FmOpenService openService; + private FmTtOpenService openService; @Autowired private WxAppinfoService appinfoService; @@ -226,7 +229,7 @@ public class WxWeappInfoController extends BaseController { if(!authorizerInfo.getAuthorizationStatus().equals(EnumWxAuthorizationStatus.AUTHORIZED.getCode())) { return new ResultData(ErrorCode.WEAPP_APPID_NOT_AUTH); } - WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId); + TtOpenMaService openMaService = openService.getTtOpenComponentService().getTtMaServiceByAppid(appId); try { modifyDomainUrl(OpenConstant.DEL, domainObj, authorizerInfo, openMaService); } catch (WxErrorException e) { @@ -241,7 +244,7 @@ public class WxWeappInfoController extends BaseController { if(authorizerInfo == null) { return new ResultData(ErrorCode.WEAPP_APPID_NOT_AUTH); } - WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId); + TtOpenMaService openMaService = openService.getTtOpenComponentService().getTtMaServiceByAppid(appId); try { setBasicVersion(weappBasicSet, authorizerInfo, openMaService); modifyDomainUrl(OpenConstant.SET, domainObj, authorizerInfo, openMaService); @@ -249,94 +252,94 @@ public class WxWeappInfoController extends BaseController { logger.error(e.getMessage()); return new ResultData(Result.ERROR, e.getMessage()); } - // 设置微信模板 - if(weappBasicSet.getType().equals(EnumAppType.C.getCode())) { - if(authorizerInfo.getTemplateStatus() == null || - !authorizerInfo.getTemplateStatus().equals(EnumWxAuthotizationTemplateStatus.SUCCESS.getCode())) { - // 模板未设置或者设置失败 - // 获取模板 - WxAppinfo appinfo = appinfoService.getByAppId(appId); - WxMaService maService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId); - - try { - setBasicTemplateMsgVerifySuccess(templeObj, appinfo, maService); - setBasicTemplateMsgVerifyFail(templeObj, appinfo, maService); - setBasicTemplateMsgPressSuccess(templeObj, appinfo, maService); - - // 更新状态 - 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()); - } - } - } +// // 设置微信模板 +// if(weappBasicSet.getType().equals(EnumAppType.C.getCode())) { +// if(authorizerInfo.getTemplateStatus() == null || +// !authorizerInfo.getTemplateStatus().equals(EnumWxAuthotizationTemplateStatus.SUCCESS.getCode())) { +// // 模板未设置或者设置失败 +// // 获取模板 +// WxAppinfo appinfo = appinfoService.getByAppId(appId); +// TtMaService maService = openService.getTtOpenComponentService().getTtMaServiceByAppid(appId); +// +// try { +//// setBasicTemplateMsgVerifySuccess(templeObj, appinfo, maService); +//// setBasicTemplateMsgVerifyFail(templeObj, appinfo, maService); +//// setBasicTemplateMsgPressSuccess(templeObj, appinfo, maService); +// +// // 更新状态 +// 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 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(OpenConstant.ID); - JSONArray keyidlist = msgObj.getJSONArray(OpenConstant.KEY_ID_LIST); - String customParam = msgObj.getString(OpenConstant.CUSTOM_PARAM); - logger.info(customParam); - JSONObject customParamObj = JSON.parseObject(customParam); - ListkeyArr1 = 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(), OpenConstant.VERIFY_SUCC); - } - - private void setBasicTemplateMsgVerifyFail(JSONObject templeObj, WxAppinfo appinfo, WxMaService maService) throws WxErrorException { - // 核销失败消息 - setBasicTemplateMsg(templeObj, appinfo, maService, EnumTemplateType.VERIFY_FAIL.getCode(), OpenConstant.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, 3, "press_success"); - logger.info("setBasicTemplateMsgPressSuccess end."); - } - - private void modifyDomainUrl(String action, JSONObject domainObj, WxAuthorizerInfo authorizerInfo, WxOpenMaService openMaService) throws WxErrorException { +// private void setBasicTemplateMsg(JSONObject templeObj, WxAppinfo appinfo, TtMaService 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(OpenConstant.ID); +// JSONArray keyidlist = msgObj.getJSONArray(OpenConstant.KEY_ID_LIST); +// String customParam = msgObj.getString(OpenConstant.CUSTOM_PARAM); +// logger.info(customParam); +// JSONObject customParamObj = JSON.parseObject(customParam); +// List 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, TtMaService maService) throws WxErrorException { +// // 核销成功消息 +// setBasicTemplateMsg(templeObj, appinfo, maService, EnumTemplateType.VERIFY_SUCCESS.getCode(), OpenConstant.VERIFY_SUCC); +// } +// +// private void setBasicTemplateMsgVerifyFail(JSONObject templeObj, WxAppinfo appinfo, TtMaService maService) throws WxErrorException { +// // 核销失败消息 +// setBasicTemplateMsg(templeObj, appinfo, maService, EnumTemplateType.VERIFY_FAIL.getCode(), OpenConstant.VERIFY_FAIL); +// } +// +// private void setBasicTemplateMsgPressSuccess(JSONObject templeObj, WxAppinfo appinfo, TtMaService maService) throws WxErrorException { +// // 砍价成功消息 +// logger.info("setBasicTemplateMsgPressSuccess begin.."); +// /// EnumTemplateType.PRESS_PRICE_SUCCESS.getCode() +// setBasicTemplateMsg(templeObj, appinfo, maService, 3, "press_success"); +// logger.info("setBasicTemplateMsgPressSuccess end."); +// } + + private void modifyDomainUrl(String action, JSONObject domainObj, WxAuthorizerInfo authorizerInfo, TtOpenMaService openMaService) throws WxErrorException { // 服务器域名 JSONObject urlObj = domainObj.getJSONObject(OpenConstant.URL); List requestDomain = getUrlList(urlObj.getJSONArray(OpenConstant.REQ_DOMAIN)); @@ -381,7 +384,7 @@ public class WxWeappInfoController extends BaseController { authorizerInfoService.updateWebDomainUrl(authorizerInfo); } - private void setBasicVersion(WxWeappBasicSet weappBasicSet, WxAuthorizerInfo authorizerInfo, WxOpenMaService openMaService) throws WxErrorException { + private void setBasicVersion(WxWeappBasicSet weappBasicSet, WxAuthorizerInfo authorizerInfo, TtOpenMaService openMaService) throws WxErrorException { // 设置基础版本 String versionRet = openMaService.setSupportVersion(weappBasicSet.getVersion()); logger.info(versionRet); @@ -619,7 +622,7 @@ public class WxWeappInfoController extends BaseController { extInfo.getExtMap().put(OpenConstant.APP_VERSION, userVersion); } logger.info("NEW: " + extInfo.toString()); - WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appinfo.getAppId()); + TtOpenMaService openMaService = openService.getTtOpenComponentService().getTtMaServiceByAppid(appinfo.getAppId()); WxOpenResult openRet = openMaService.codeCommit(templateId, userVersion, userDesc, extInfo); logger.info(openRet.toString()); if (openRet.isSuccess()) { @@ -673,7 +676,7 @@ public class WxWeappInfoController extends BaseController { try { WxOpenMaSubmitAuditMessage subMessage = gson.fromJson(extSet.getReleaseJson(), new TypeToken () {}.getType()); logger.info(subMessage.toString()); - WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(codeStatus.getAppId()); + TtOpenMaService openMaService = openService.getTtOpenComponentService().getTtMaServiceByAppid(codeStatus.getAppId()); WxOpenMaSubmitAuditResult openRet = openMaService.submitAudit(subMessage); logger.info(openRet.toString()); if(openRet.isSuccess()) { @@ -752,7 +755,7 @@ public class WxWeappInfoController extends BaseController { apps.stream().forEach( auditStatus -> { // 审核中,可以发起审核查询 try { - WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(auditStatus.getAppId()); + TtOpenMaService openMaService = openService.getTtOpenComponentService().getTtMaServiceByAppid(auditStatus.getAppId()); WxOpenMaQueryAuditResult openResult = openMaService.getLatestAuditStatus(); logger.info(openResult.toString()); if (openResult.isSuccess()) { @@ -811,7 +814,7 @@ public class WxWeappInfoController extends BaseController { apps.stream().forEach( auditStatus -> { // 审核通过,已发布不可撤回 try { - WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(auditStatus.getAppId()); + TtOpenMaService openMaService = openService.getTtOpenComponentService().getTtMaServiceByAppid(auditStatus.getAppId()); WxOpenResult openResult = openMaService.undoCodeAudit(); logger.info(openResult.toString()); if(openResult.isSuccess()) { @@ -872,7 +875,7 @@ public class WxWeappInfoController extends BaseController { } try { - WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(auditStatus.getAppId()); + TtOpenMaService openMaService = openService.getTtOpenComponentService().getTtMaServiceByAppid(auditStatus.getAppId()); WxOpenResult openRet = openMaService.releaesAudited(); logger.info(openRet.toString()); boolean releaseSuccess = false;