diff --git a/mallinkService/src/main/resources/mapper/WxWeappAuditStatusMapper.xml b/mallinkService/src/main/resources/mapper/WxWeappAuditStatusMapper.xml
index 8d96ea4..06fcfa4 100644
--- a/mallinkService/src/main/resources/mapper/WxWeappAuditStatusMapper.xml
+++ b/mallinkService/src/main/resources/mapper/WxWeappAuditStatusMapper.xml
@@ -8,14 +8,14 @@
-
+
- `id`,`tenant_id`,`app_id`,`type`,`user_version`,`version_desc`, `audit_status`,`audit_err_code`,`audit_time`
+ `id`,`tenant_id`,`app_id`,`type`,`user_version`,`version_desc`, `auditid`, `audit_status`,`audit_err_code`,`audit_time`
@@ -87,6 +87,7 @@
+
@@ -95,7 +96,7 @@
c.`id`,c.`tenant_id` as `tenant_id`,c.`app_id`,c.`type` as `type`,c.`user_version` as `user_version`,`version_desc`,
- c.`audit_status`,c.`audit_err_code`,c.`audit_time` as `audit_time`,
+ c.`auditid`, c.`audit_status`,c.`audit_err_code`,c.`audit_time` as `audit_time`,
a.`name`
@@ -116,6 +117,9 @@
and c.`user_version` = #{userVersion}
+
+ and `auditid` = #{auditid}
+
and c.`audit_status` = #{auditStatus}
diff --git a/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java b/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java
index 46a9cb8..484e14c 100644
--- a/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java
+++ b/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java
@@ -18,6 +18,8 @@ import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
+import me.chanjar.weixin.open.bean.WxOpenCreateResult;
+import me.chanjar.weixin.open.bean.WxOpenGetResult;
import me.chanjar.weixin.open.bean.message.WxOpenXmlMessage;
import me.chanjar.weixin.open.bean.result.*;
import org.apache.commons.lang3.StringUtils;
@@ -35,6 +37,7 @@ import java.io.InputStream;
import java.io.PrintWriter;
import java.nio.charset.Charset;
import java.util.Date;
+import java.util.Map;
@Controller
@RequestMapping("/wxOpen")
@@ -282,18 +285,17 @@ public class WechatCalllbackController extends BaseController {
public ResultData createOpenPlatform(@RequestParam(value = "appId") String appId) {
Gson gson = new GsonBuilder().create();
try {
- String responseStr = openService.getWxOpenComponentService().getWxMpServiceByAppid(appId).createOpenPlatform(appId);
- logger.info(responseStr);
- WxOpenPlatformResult openPlatformResult = gson.fromJson(responseStr, WxOpenPlatformResult.class);
- if (openPlatformResult.isSuccess()) {
+ WxOpenCreateResult ret = openService.getWxOpenComponentService().createOpenAccount(appId);
+ logger.info(ret.toString());
+ if (ret.isSuccess()) {
WxAuthorizerInfo authorizerInfo = authorizerInfoService.getByAppId(appId);
if (authorizerInfo != null) {
authorizerInfo.setId(authorizerInfo.getId());
- authorizerInfo.setOpenAppid(openPlatformResult.getOpenAppid());
+ authorizerInfo.setOpenAppid(ret.getOpenAppid());
authorizerInfoService.updateOpenAppid(authorizerInfo);
}
}
- return new ResultData(responseStr);
+ return new ResultData(ret.toString());
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());
@@ -305,10 +307,8 @@ public class WechatCalllbackController extends BaseController {
public ResultData bindOpenPlatform(@RequestParam(value = "appId") String appId, @RequestParam(value = "openAppId") String openAppId) {
Gson gson = new GsonBuilder().create();
try {
- String responseStr = openService.getWxOpenComponentService().getWxMpServiceByAppid(appId).bindOpenPlatform(appId, openAppId);
- logger.info(responseStr);
- WxOpenResult openResult = gson.fromJson(responseStr, WxOpenResult.class);
- if (openResult.isSuccess()) {
+ Boolean ret = openService.getWxOpenComponentService().bindOpenAccount(appId, openAppId);
+ if (ret) {
WxAuthorizerInfo authorizerInfo = authorizerInfoService.getByAppId(appId);
if (authorizerInfo != null) {
authorizerInfo.setId(authorizerInfo.getId());
@@ -317,7 +317,7 @@ public class WechatCalllbackController extends BaseController {
}
return new ResultData();
}
- return new ResultData(Result.ERROR, responseStr);
+ return new ResultData(Result.ERROR, ret.toString());
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());
@@ -329,16 +329,14 @@ public class WechatCalllbackController extends BaseController {
public ResultData unbindOpenPlatform(@RequestParam(value = "appId") String appId, @RequestParam(value = "openAppId") String openAppId) {
Gson gson = new GsonBuilder().create();
try {
- String responseStr = openService.getWxOpenComponentService().getWxMpServiceByAppid(appId).unbindOpenPlatform(appId, openAppId);
- logger.info(responseStr);
- WxOpenResult openResult = gson.fromJson(responseStr, WxOpenResult.class);
- if (openResult.isSuccess()) {
+ Boolean ret = openService.getWxOpenComponentService().unbindOpenAccount(appId, openAppId);
+ if (ret) {
WxAuthorizerInfo authorizerInfo = new WxAuthorizerInfo();
authorizerInfo.setAuthorizerAppid(appId);
authorizerInfoService.removeOpenAppid(authorizerInfo);
return new ResultData();
}
- return new ResultData(Result.ERROR, responseStr);
+ return new ResultData(Result.ERROR, ret.toString());
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());
@@ -350,21 +348,20 @@ public class WechatCalllbackController extends BaseController {
public ResultData getOpenPlatform(@RequestParam(value = "appId") String appId) {
Gson gson = new GsonBuilder().create();
try {
- String responseStr = openService.getWxOpenComponentService().getWxMpServiceByAppid(appId).getBindOpenPlatform(appId);
- logger.info(responseStr);
- WxOpenPlatformResult openPlatformResult = gson.fromJson(responseStr, WxOpenPlatformResult.class);
- if (openPlatformResult.isSuccess()) {
+ WxOpenGetResult ret = openService.getWxOpenComponentService().getOpenAccount(appId);
+ logger.info(ret.toString());
+ if (ret.isSuccess()) {
WxAuthorizerInfo authorizerInfo = authorizerInfoService.getByAppId(appId);
if (authorizerInfo != null) {
- if(StringUtils.isBlank(authorizerInfo.getOpenAppid()) && StringUtils.isNotBlank(openPlatformResult.getOpenAppid())) {
+ if(StringUtils.isBlank(authorizerInfo.getOpenAppid()) && StringUtils.isNotBlank(ret.getOpenAppid())) {
authorizerInfo.setId(authorizerInfo.getId());
- authorizerInfo.setOpenAppid(openPlatformResult.getOpenAppid());
+ authorizerInfo.setOpenAppid(ret.getOpenAppid());
authorizerInfoService.updateOpenAppid(authorizerInfo);
}
}
- return new ResultData(openPlatformResult.getOpenAppid());
+ return new ResultData(ret.getOpenAppid());
}
- return new ResultData(Result.ERROR, responseStr);
+ return new ResultData(Result.ERROR, ret.toString());
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());
@@ -387,17 +384,14 @@ public class WechatCalllbackController extends BaseController {
@ApiOperation("拉取当前所有已授权的帐号基本信息")
public ResultData getAuthorizerList() {
try {
- String accessToken = openService.getWxOpenComponentService().getComponentAccessToken(true);
- String ret = openService.getWxOpenComponentService().getApiGetAuthorizerList(accessToken, 0, 100);
- logger.info("getAuthorizerList: " + ret);
- JSONObject retObj = JSON.parseObject(ret);
- if(retObj.getInteger("total_count") > 0) {
- JSONArray dataList = retObj.getJSONArray("list");
- for(int i= 0;i 0) {
+ for (Map data : authorizerListResult.getList()) {
+ String appId = data.get("authorizer_appid");
+ String refreshToken = data.get("refresh_token");
+ Long authTime = Long.valueOf(data.get("auth_time"));
+ Date authDate = new Date(authTime*1000);
if(StringUtils.isBlank(refreshToken)) {
continue;
@@ -412,7 +406,7 @@ public class WechatCalllbackController extends BaseController {
openService.getWxOpenComponentService().getWxOpenConfigStorage().setAuthorizerRefreshToken(appId, refreshToken);
}
}
- return new ResultData(ret);
+ return new ResultData(authorizerListResult.toString());
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());
diff --git a/mlWechatOpen/src/main/java/com/iformall/controller/WechatWeappCodeController.java b/mlWechatOpen/src/main/java/com/iformall/controller/WechatWeappCodeController.java
index 6eb64c0..8d97ccc 100644
--- a/mlWechatOpen/src/main/java/com/iformall/controller/WechatWeappCodeController.java
+++ b/mlWechatOpen/src/main/java/com/iformall/controller/WechatWeappCodeController.java
@@ -6,6 +6,7 @@ import com.google.gson.reflect.TypeToken;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
+import com.iformall.controller.base.BaseController;
import com.iformall.domain.dto.WxWeappCodeAuditDto;
import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxWeappCodeStatusVo;
@@ -45,7 +46,7 @@ import java.util.Map;
@RestController
@RequestMapping("/weappCode")
@Api(description = "微信第三方开发平台-小程序-代码管理")
-public class WechatWeappCodeController {
+public class WechatWeappCodeController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private FmOpenService openService;
@@ -254,6 +255,7 @@ public class WechatWeappCodeController {
WxWeappAuditStatus auditStatus = weappAuditStatusService.getByAppId(appId);
boolean submitStatus = false;
String codeErrCode = "";
+ Long auditId = null;
try {
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
WxOpenMaSubmitAuditResult openRet = openMaService.submitAudit(subMessage);
@@ -261,6 +263,7 @@ public class WechatWeappCodeController {
if(openRet.isSuccess()) {
submitStatus = true;
codeErrCode = gson.toJson(openRet);
+ auditId = openRet.getAuditId();
} else {
submitStatus = false;
codeErrCode = gson.toJson(openRet);
@@ -317,6 +320,23 @@ public class WechatWeappCodeController {
return new ResultData(ErrorCode.WEAPP_CODE_COMMIT_ERR);
}
+ @ApiOperation("查询服务商的当月提审限额(quota)和加急次数")
+ @GetMapping("/queryQuota")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "appId", value = "appId", dataType = "String", paramType = "query", required = true)})
+ public ResultData queryQuota(String appId) {
+ logger.debug("[" + getIpAddr() + "] WechatWeappCodeController::queryQuota");
+ try {
+ WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
+ WxOpenMaQueryQuotaResult openRet = openMaService.queryQuota();
+ logger.info(openRet.toString());
+ return new ResultData(openRet.toString());
+ } catch (WxErrorException e) {
+ logger.error(e.getMessage());
+ return new ResultData(e.getMessage());
+ }
+ }
+
@ApiOperation("将第三方提交的代码包提交审核")
@PostMapping("/submitAuditWithFeedBack")
public ResultData submitAudit(@RequestBody WxWeappCodeAuditDto codeAuditDto) {
@@ -348,6 +368,7 @@ public class WechatWeappCodeController {
WxWeappAuditStatus auditStatus = weappAuditStatusService.getByAppId(codeAuditDto.getAppId());
boolean submitStatus = false;
String codeErrCode = "";
+ Long auditId = null;
try {
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(codeAuditDto.getAppId());
WxOpenMaSubmitAuditResult openRet = openMaService.submitAudit(subMessage);
@@ -355,6 +376,7 @@ public class WechatWeappCodeController {
if(openRet.isSuccess()) {
submitStatus = true;
codeErrCode = gson.toJson(openRet);
+ auditId = openRet.getAuditId();
} else {
submitStatus = false;
codeErrCode = gson.toJson(openRet);
@@ -373,6 +395,7 @@ public class WechatWeappCodeController {
auditStatus.setType(codeStatus.getType());
auditStatus.setUserVersion(codeStatus.getUserVersion());
auditStatus.setVersionDesc(codeStatus.getVersionDesc());
+ auditStatus.setAuditid(auditId);
if(submitStatus) {
auditStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode());
} else {
@@ -395,6 +418,7 @@ public class WechatWeappCodeController {
}
auditStatus.setUserVersion(codeStatus.getUserVersion());
auditStatus.setVersionDesc(codeStatus.getVersionDesc());
+ auditStatus.setAuditid(auditId);
auditStatus.setAuditTime(new Date());
weappAuditStatusService.updateStatus(auditStatus);
}
@@ -411,6 +435,23 @@ public class WechatWeappCodeController {
return new ResultData(ErrorCode.WEAPP_CODE_COMMIT_ERR);
}
+ @ApiOperation("加速某个指定版本的审核状态")
+ @GetMapping("/speedAudit")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "appId", value = "appId", dataType = "String", paramType = "query", required = true),
+ @ApiImplicitParam(name = "auditid", value = "auditid", dataType = "Long", paramType = "query", required = true)})
+ public ResultData speedAudit(String appId, Long auditid) {
+ logger.debug("[" + getIpAddr() + "] WechatWeappCodeController::speedAudit");
+ try {
+ WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
+ Boolean ret = openMaService.speedAudit(Long.valueOf(auditid));
+ return new ResultData(ret.toString());
+ } catch (WxErrorException e) {
+ logger.error(e.getMessage());
+ return new ResultData(e.getMessage());
+ }
+ }
+
@ApiOperation("查询某个指定版本的审核状态")
@PostMapping("/getAuditstatus")
public ResultData getAuditstatus(String appId, String auditidStr) {
diff --git a/mlWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java b/mlWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java
index 36cf0da..1bd88f8 100644
--- a/mlWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java
+++ b/mlWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java
@@ -696,9 +696,9 @@ public class WxWeappInfoController extends BaseController {
auditStatus.setType(codeStatus.getType());
auditStatus.setUserVersion(codeStatus.getUserVersion());
auditStatus.setVersionDesc(codeStatus.getVersionDesc());
+ auditStatus.setAuditid(auditid);
if(submitStatus) {
auditStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode());
- auditStatus.setAuditid(auditid);
} else {
auditStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode());
}
@@ -706,6 +706,7 @@ public class WxWeappInfoController extends BaseController {
auditStatus.setAuditTime(new Date());
weappAuditStatusService.saveStatus(auditStatus);
} else {
+ auditStatus.setAuditid(auditid);
if(!submitStatus) {
if(!auditStatus.getUserVersion().equals(codeStatus.getUserVersion())
&& auditStatus.getAuditStatus().equals(EnumWeappAuditStatus.AUDITING.getCode())) {
@@ -715,7 +716,6 @@ public class WxWeappInfoController extends BaseController {
auditStatus.setAuditStatus(EnumWeappAuditStatus.FAIL.getCode());
} else {
auditStatus.setAuditStatus(EnumWeappAuditStatus.AUDITING.getCode());
- auditStatus.setAuditid(auditid);
}
auditStatus.setUserVersion(codeStatus.getUserVersion());
auditStatus.setVersionDesc(codeStatus.getVersionDesc());
diff --git a/mlWechatOpen/src/main/java/com/iformall/controller/card/WxCardController.java b/mlWechatOpen/src/main/java/com/iformall/controller/card/WxCardController.java
index 26cf1e3..7eac075 100644
--- a/mlWechatOpen/src/main/java/com/iformall/controller/card/WxCardController.java
+++ b/mlWechatOpen/src/main/java/com/iformall/controller/card/WxCardController.java
@@ -72,7 +72,7 @@ public class WxCardController extends BaseController {
if (type.equalsIgnoreCase("groupon")) {
//团购券
- WxMpCardCreateMessage grouponMessage = new WxMpCardCreateMessage();
+ WxMpCardCreateRequest grouponMessage = new WxMpCardCreateRequest();
GrouponCardCreateRequest grouponCardCreateRequest = new GrouponCardCreateRequest();
GrouponCard grouponCard = new GrouponCard();
grouponCard.setBaseInfo(base);
@@ -90,7 +90,7 @@ public class WxCardController extends BaseController {
}
} else if (type.equalsIgnoreCase("cash")) {
//现金券
- WxMpCardCreateMessage cashMessage = new WxMpCardCreateMessage();
+ WxMpCardCreateRequest cashMessage = new WxMpCardCreateRequest();
CashCardCreateRequest cashCardCreateRequest = new CashCardCreateRequest();
CashCard cashCard = new CashCard();
cashCard.setBaseInfo(base);
@@ -107,7 +107,7 @@ public class WxCardController extends BaseController {
}
} else if (type.equalsIgnoreCase("discount")) {
//折扣券
- WxMpCardCreateMessage discountMessage = new WxMpCardCreateMessage();
+ WxMpCardCreateRequest discountMessage = new WxMpCardCreateRequest();
DiscountCardCreateRequest discountCardCreateRequest = new DiscountCardCreateRequest();
DiscountCard discountCard = new DiscountCard();
discountCard.setBaseInfo(base);
@@ -124,7 +124,7 @@ public class WxCardController extends BaseController {
}
} else if (type.equalsIgnoreCase("gift")) {
//兑换券
- WxMpCardCreateMessage giftMessage = new WxMpCardCreateMessage();
+ WxMpCardCreateRequest giftMessage = new WxMpCardCreateRequest();
GiftCardCreateRequest giftCardCreateRequest = new GiftCardCreateRequest();
GiftCard giftCard = new GiftCard();
giftCard.setBaseInfo(base);
@@ -140,9 +140,9 @@ public class WxCardController extends BaseController {
}
} else if (type.equalsIgnoreCase("generalcard")) {
//普通兑换券
- WxMpCardCreateMessage generalMessage = new WxMpCardCreateMessage();
- GeneralCardCreateRequest generalCardCreateRequest = new GeneralCardCreateRequest();
- GeneralCard generalCard = new GeneralCard();
+ WxMpCardCreateRequest generalMessage = new WxMpCardCreateRequest();
+ GeneralCouponCreateRequest generalCardCreateRequest = new GeneralCouponCreateRequest();
+ GeneralCoupon generalCard = new GeneralCoupon();
generalCard.setBaseInfo(base);
generalCard.setDefaultDetail("音乐木盒");
diff --git a/mlWechatOpen/src/main/java/com/iformall/mp/utils/MpUtil.java b/mlWechatOpen/src/main/java/com/iformall/mp/utils/MpUtil.java
index dfcf8d2..762fa9e 100644
--- a/mlWechatOpen/src/main/java/com/iformall/mp/utils/MpUtil.java
+++ b/mlWechatOpen/src/main/java/com/iformall/mp/utils/MpUtil.java
@@ -1,16 +1,16 @@
package com.iformall.mp.utils;
import com.iformall.domain.po.WxAppinfo;
-import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
+import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
/**
* @author Stormeye
*/
public class MpUtil {
static public WxMpService getMpService(WxAppinfo appinfo) {
- WxMpInMemoryConfigStorage configStorage = new WxMpInMemoryConfigStorage();
+ WxMpDefaultConfigImpl configStorage = new WxMpDefaultConfigImpl();
configStorage.setAppId(appinfo.getAppId());
configStorage.setSecret(appinfo.getSecret());
configStorage.setToken(appinfo.getToken());
diff --git a/pom.xml b/pom.xml
index a5823bc..b17842f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,11 +23,11 @@
- 3.4.0.A
- 3.4.0.A
- 3.4.0.A
- 3.4.0.A
- 3.4.0.A
+ 3.6.0.A
+ 3.6.0.A
+ 3.6.0.A
+ 3.6.0.A
+ 3.6.0.A
2.3.0