Browse Source

update tt

master
xhxu 3 years ago
parent
commit
bc17e507d3
3 changed files with 103 additions and 96 deletions
  1. +1
    -1
      mallinkService/src/main/java/com/iformall/service/toutiao/api/TtOpenMaService.java
  2. +6
    -2
      mallinkService/src/main/java/com/iformall/service/toutiao/api/impl/TtOpenMaServiceImpl.java
  3. +96
    -93
      mlToutiaoOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java

+ 1
- 1
mallinkService/src/main/java/com/iformall/service/toutiao/api/TtOpenMaService.java View File

@@ -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. 获取体验小程序的体验二维码


+ 6
- 2
mallinkService/src/main/java/com/iformall/service/toutiao/api/impl/TtOpenMaServiceImpl.java View File

@@ -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 <a href="https://github.com/007gzs">007</a>
*
* <pre>
* 增加开放平台代小程序管理服务能力
* 说明:这里让这个服务公开便于调用者模拟本地测试服务
@@ -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);
}



+ 96
- 93
mlToutiaoOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java View File

@@ -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);
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(), 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<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, 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<String> 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<WxOpenMaSubmitAuditMessage>() {}.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;


Loading…
Cancel
Save