Browse Source

add 小程序隐私接口

master
xhxu 2 years ago
parent
commit
8f00b9f945
1 changed files with 138 additions and 0 deletions
  1. +138
    -0
      mlWechatOpen/src/main/java/com/iformall/controller/WechatWeappSetController.java

+ 138
- 0
mlWechatOpen/src/main/java/com/iformall/controller/WechatWeappSetController.java View File

@@ -7,6 +7,7 @@ import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxAuthorizerInfo;
import com.iformall.domain.po.WxWeappBasicSet;
import com.iformall.domain.vo.WxWeappInfo;
import com.iformall.enums.EnumAppType;
import com.iformall.enums.EnumEnableType;
import com.iformall.enums.EnumWxAuthorizationStatus;
@@ -17,6 +18,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.open.api.WxOpenMaService;
import me.chanjar.weixin.open.bean.ma.WxOpenMaApplyInterface;
import me.chanjar.weixin.open.bean.ma.privacy.GetPrivacySettingResult;
import me.chanjar.weixin.open.bean.ma.privacy.PrivacyOwnerSetting;
import me.chanjar.weixin.open.bean.ma.privacy.SetPrivacySetting;
@@ -316,4 +318,140 @@ public class WechatWeappSetController {
return new ResultData(Result.ERROR);
}

@ApiOperation(value = "查询小程序隐私接口", notes = "{\n" +
" }")
@GetMapping("/getPrivacyInterface")
public ResultData getPrivacyInterface(String appId) {
WxAuthorizerInfo authorizerInfo = authorizerInfoService.getByAppId(appId);
if(authorizerInfo == null) {
return new ResultData(ErrorCode.WEAPP_APPID_NOT_AUTH);
}
if(!authorizerInfo.getAuthorizationStatus().equals(EnumWxAuthorizationStatus.AUTHORIZED.getCode())) {
return new ResultData(ErrorCode.WEAPP_APPID_NOT_AUTH);
}
if(!EnumAppType.B.getCode().equals(authorizerInfo.getType()) && !EnumAppType.C.getCode().equals(authorizerInfo.getType())){
return new ResultData(ErrorCode.WEAPP_BASIC_NO_SUPPORT);
}
try {
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
WxOpenMaInterfaceListResult privacyInterface = openMaService.getPrivacyInterface();
return new ResultData(privacyInterface);
} catch (WxErrorException e) {
logger.error(e.getMessage());
}
return new ResultData(Result.ERROR);
}

@ApiOperation(value = "申请小程序隐私接口", notes = "{\n" +
" }")
@PostMapping("/applyPrivacyInterface")
public ResultData applyPrivacyInterface(@RequestBody Map<String, Object> params) {
String appId,apiName,content;
List<String> urlList,picList,videoList;
try{
appId = (String) params.get("appId");
apiName = (String) params.get("apiName");
content = (String) params.get("content");

urlList = (List<String>) params.get("urlList");
picList = (List<String>) params.get("picList");
videoList = (List<String>) params.get("videoList");
}catch(Exception e){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
}

if(StringUtils.isBlank(appId) || StringUtils.isBlank(apiName) || StringUtils.isBlank(content)){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}

WxAuthorizerInfo authorizerInfo = authorizerInfoService.getByAppId(appId);
if(authorizerInfo == null) {
return new ResultData(ErrorCode.WEAPP_APPID_NOT_AUTH);
}
if(!authorizerInfo.getAuthorizationStatus().equals(EnumWxAuthorizationStatus.AUTHORIZED.getCode())) {
return new ResultData(ErrorCode.WEAPP_APPID_NOT_AUTH);
}
if(!EnumAppType.B.getCode().equals(authorizerInfo.getType()) && !EnumAppType.C.getCode().equals(authorizerInfo.getType())){
return new ResultData(ErrorCode.WEAPP_BASIC_NO_SUPPORT);
}

try {
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
WxOpenMaApplyInterface applyInterface = new WxOpenMaApplyInterface();
applyInterface.setApiName(apiName);
applyInterface.setContent(content);
applyInterface.setUrlList(urlList);
applyInterface.setPicList(picList);
applyInterface.setVideoList(videoList);
WxOpenResult wxOpenResult = openMaService.applyPrivacyInterface(applyInterface);
if(wxOpenResult.isSuccess()){
return new ResultData();
}else{
return new ResultData(ErrorCode.WEAPP_AUDIT_ERR.getCode(),wxOpenResult.getErrmsg());
}
} catch (WxErrorException e) {
logger.error(e.getMessage());
}
return new ResultData(Result.ERROR);
}

@ApiOperation(value = "批量申请小程序隐私接口", notes = "{\n" +
" }")
@PostMapping("/allsApplyPrivacyInterface")
public ResultData allsApplyPrivacyInterface(@RequestBody Map<String, Object> params) {
String apiName,content;
List<String> urlList,picList,videoList;
try{
apiName = (String) params.get("apiName");
content = (String) params.get("content");

urlList = (List<String>) params.get("urlList");
picList = (List<String>) params.get("picList");
videoList = (List<String>) params.get("videoList");
}catch(Exception e){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
}

if(StringUtils.isBlank(apiName) || StringUtils.isBlank(content)){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}

List<WxWeappInfo> applist = authorizerInfoService.getList(new WxWeappInfo());

for (WxWeappInfo info:applist) {
String appId = info.getAuthorizerAppid();
WxAuthorizerInfo authorizerInfo = authorizerInfoService.getByAppId(appId);
if(authorizerInfo == null) {
logger.error(info.getName()+"("+appId+")申请("+apiName+")失败{}"+ErrorCode.WEAPP_APPID_NOT_AUTH.getMessage());
continue;
}
if(!authorizerInfo.getAuthorizationStatus().equals(EnumWxAuthorizationStatus.AUTHORIZED.getCode())) {
logger.error(info.getName()+"("+appId+")申请("+apiName+")失败{}"+ErrorCode.WEAPP_APPID_NOT_AUTH.getMessage());
continue;
}
if(!EnumAppType.B.getCode().equals(authorizerInfo.getType()) && !EnumAppType.C.getCode().equals(authorizerInfo.getType())){
logger.error(info.getName()+"("+appId+")申请("+apiName+")失败{}"+ErrorCode.WEAPP_BASIC_NO_SUPPORT.getMessage());
continue;
}
try {
WxOpenMaService openMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
WxOpenMaApplyInterface applyInterface = new WxOpenMaApplyInterface();
applyInterface.setApiName(apiName);
applyInterface.setContent(content);
applyInterface.setUrlList(urlList);
applyInterface.setPicList(picList);
applyInterface.setVideoList(videoList);
WxOpenResult wxOpenResult = openMaService.applyPrivacyInterface(applyInterface);
if(wxOpenResult.isSuccess()){
logger.info(info.getName()+"("+appId+")申请("+apiName+")成功");
}else{
logger.error(info.getName()+"("+appId+")申请("+apiName+")失败{}"+wxOpenResult.getErrmsg());
}
} catch (WxErrorException e) {
logger.error(info.getName()+"("+appId+")申请("+apiName+")失败{}"+e.getMessage());
}
}
return new ResultData();
}

}

Loading…
Cancel
Save