Browse Source

Merge remote-tracking branch 'origin/dev_thirdplatform' into dev_temp

dev_shibei_match
zxc 5 years ago
parent
commit
56928db297
  1. 29
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/CustomerAccessTokenInfoFormDTO.java
  2. 45
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/ModifyDomainFormDTO.java
  3. 32
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/WebviewDomainFormDTO.java
  4. 56
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/CustomerAccessTokenInfoResultDTO.java
  5. 16
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/AppLetAuthorizationController.java
  6. 51
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/SettingController.java
  7. 10
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/AuthorizationInfoDao.java
  8. 12
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/AppLetAuthorizationService.java
  9. 31
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/SettingService.java
  10. 17
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/AppLetAuthorizationServiceImpl.java
  11. 64
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/SettingServiceImpl.java
  12. 63
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/constant/WxMaSettingConstant.java
  13. 2
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/enums/WxMaErrorMsgEnum.java
  14. 42
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxAddCategoryReq.java
  15. 18
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxBindTesterReq.java
  16. 19
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxDelCategoryReq.java
  17. 41
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxModifyCategoryReq.java
  18. 61
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/result/WxGetAllCategoriesResult.java
  19. 134
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/WxMaSettingService.java
  20. 244
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaSettingServiceImpl.java
  21. 22
      epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/AuthorizationInfoDao.xml

29
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/CustomerAccessTokenInfoFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/24 10:03 上午
*/
@Data
public class CustomerAccessTokenInfoFormDTO implements Serializable {
private static final long serialVersionUID = 6514918025012507710L;
public interface CustomerAccessTokenInfo{}
/**
* 客户ID
*/
@NotBlank(message = "客户ID不能为空",groups = {CustomerAccessTokenInfo.class})
private String customerId;
/**
* 客户端类型
*/
private String clientType;
}

45
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/ModifyDomainFormDTO.java

@ -0,0 +1,45 @@
package com.epmet.dto.form;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/8/20 13:44
*/
@Data
public class ModifyDomainFormDTO implements Serializable {
private static final long serialVersionUID = -1995778975498383130L;
/**
* 客户ID
*/
private String customerId;
/**
* 客户端类型
*/
private String clientType;
/**
* 操作类型:add 添加,delete 删除,set 覆盖
*/
private String action;
/**
* request 合法域名
*/
private List<String> requestDomain;
/**
* socket 合法域名
*/
private List<String> wsRequestDomain;
/**
* uploadFile 合法域名
*/
private List<String> uploadDomain;
/**
* downloadFile 合法域名
*/
private List<String> downloadDomain;
}

32
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/WebviewDomainFormDTO.java

@ -0,0 +1,32 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/8/19 17:46
*/
@Data
public class WebviewDomainFormDTO implements Serializable {
private static final long serialVersionUID = 8022056850984848597L;
/**
* 客户ID
*/
private String customerId;
/**
* 客户端类型
*/
private String clientType;
/**
* 操作类型:add 添加,delete 删除,set 覆盖
*/
private String action;
/**
* 业务域名
*/
private List<String> webViewDomain;
}

56
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/CustomerAccessTokenInfoResultDTO.java

@ -0,0 +1,56 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/24 10:08 上午
*/
@Data
public class CustomerAccessTokenInfoResultDTO implements Serializable {
private static final long serialVersionUID = 7008455455787166150L;
/**
* 客户名称
*/
private String customerName;
/**
* 环境类型
*/
private String source;
/**
* 客户ID
*/
private String customerId;
/**
* 授权方AppId
*/
private String authAppId;
/**
* 授权方的 accessToken
*/
private String authorizerAccessToken;
/**
* 授权方的 refreshToken
*/
private String authorizerRefreshToken;
/**
* accessToken过期事件
*/
private String expiresInTime;
/**
* 客户端类型
*/
private String clientType;
}

16
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/AppLetAuthorizationController.java

@ -4,14 +4,18 @@ import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.CustomerAccessTokenInfoFormDTO;
import com.epmet.dto.form.GoToAuthFormDTO;
import com.epmet.dto.form.OpenAppIdFormDTO;
import com.epmet.dto.form.RemoveBindFormDTO;
import com.epmet.dto.result.CustomerAccessTokenInfoResultDTO;
import com.epmet.dto.result.GoToAuthResultDTO;
import com.epmet.service.AppLetAuthorizationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Author zxc
* @CreateTime 2020/7/10 15:48
@ -60,4 +64,16 @@ public class AppLetAuthorizationController {
return new Result<String>().ok(openAppId);
}
/**
* @Description 查询客户下的小程序基本信息
* @param customerAccessTokenInfoFormDTO
* @author zxc
* @date 2020/8/24 10:26 上午
*/
@PostMapping("getcustomeraccesstokeninfo")
public Result<List<CustomerAccessTokenInfoResultDTO>> getCustomerAccessTokenInfo(@RequestBody CustomerAccessTokenInfoFormDTO customerAccessTokenInfoFormDTO){
ValidatorUtils.validateEntity(customerAccessTokenInfoFormDTO, CustomerAccessTokenInfoFormDTO.CustomerAccessTokenInfo.class);
return new Result<List<CustomerAccessTokenInfoResultDTO>>().ok(appLetAuthorizationService.getCustomerAccessTokenInfo(customerAccessTokenInfoFormDTO));
}
}

51
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/SettingController.java

@ -0,0 +1,51 @@
package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ModifyDomainFormDTO;
import com.epmet.dto.form.WebviewDomainFormDTO;
import com.epmet.service.SettingService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/8/20 13:50
*/
@RestController
@RequestMapping("setting")
public class SettingController {
@Autowired
private SettingService settingService;
/**
* 设置服务器域名
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author zhaoqifeng
* @date 2020/8/20 13:51
*/
@PostMapping("modifydomain")
public Result modifyDomain(@RequestBody ModifyDomainFormDTO formDTO) {
settingService.modifyDomain(formDTO);
return new Result<>();
}
/**
* 设置业务域名
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author zhaoqifeng
* @date 2020/8/20 13:51
*/
@PostMapping("setwebviewdomain")
public Result setWebviewDomain(@RequestBody WebviewDomainFormDTO formDTO) {
settingService.setWebviewDomain(formDTO);
return new Result<>();
}
}

10
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/AuthorizationInfoDao.java

@ -21,7 +21,9 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.AuthorizationInfoDTO;
import com.epmet.dto.form.AuthorizationInfoFormDTO;
import com.epmet.dto.form.AuthorizerAccessTokenFormDTO;
import com.epmet.dto.form.CustomerAccessTokenInfoFormDTO;
import com.epmet.dto.result.AuthCodeResultDTO;
import com.epmet.dto.result.CustomerAccessTokenInfoResultDTO;
import com.epmet.dto.result.WillOverDueResultDTO;
import com.epmet.entity.AuthorizationInfoEntity;
import org.apache.ibatis.annotations.Mapper;
@ -99,4 +101,12 @@ public interface AuthorizationInfoDao extends BaseDao<AuthorizationInfoEntity> {
*/
List<AuthorizationInfoDTO> getAuthInfoByCustomerId(@Param("customerId") String customerId);
/**
* @Description 查询客户下的小程序基本信息
* @param customerAccessTokenInfoFormDTO
* @author zxc
* @date 2020/8/24 10:26 上午
*/
List<CustomerAccessTokenInfoResultDTO> getCustomerAccessTokenInfo(CustomerAccessTokenInfoFormDTO customerAccessTokenInfoFormDTO);
}

12
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/AppLetAuthorizationService.java

@ -1,11 +1,15 @@
package com.epmet.service;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.form.CustomerAccessTokenInfoFormDTO;
import com.epmet.dto.form.GoToAuthFormDTO;
import com.epmet.dto.form.OpenAppIdFormDTO;
import com.epmet.dto.form.RemoveBindFormDTO;
import com.epmet.dto.result.CustomerAccessTokenInfoResultDTO;
import com.epmet.dto.result.GoToAuthResultDTO;
import java.util.List;
/**
* @Author zxc
* @CreateTime 2020/7/10 15:52
@ -34,4 +38,12 @@ public interface AppLetAuthorizationService {
*/
String getOpenAppId(OpenAppIdFormDTO formDTO);
/**
* @Description 查询客户下的小程序基本信息
* @param customerAccessTokenInfoFormDTO
* @author zxc
* @date 2020/8/24 10:26 上午
*/
List<CustomerAccessTokenInfoResultDTO> getCustomerAccessTokenInfo(CustomerAccessTokenInfoFormDTO customerAccessTokenInfoFormDTO);
}

31
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/SettingService.java

@ -0,0 +1,31 @@
package com.epmet.service;
import com.epmet.dto.form.ModifyDomainFormDTO;
import com.epmet.dto.form.WebviewDomainFormDTO;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/8/20 11:11
*/
public interface SettingService {
/**
* 设置服务器域名
*
* @param formDTO
* @return void
* @author zhaoqifeng
* @date 2020/8/20 13:46
*/
void modifyDomain(ModifyDomainFormDTO formDTO);
/**
* 设置业务域名
*
* @param formDTO
* @return void
* @author zhaoqifeng
* @date 2020/8/19 17:49
*/
void setWebviewDomain(WebviewDomainFormDTO formDTO);
}

17
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/AppLetAuthorizationServiceImpl.java

@ -8,13 +8,16 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.HttpClientManager;
import com.epmet.constant.ModuleConstant;
import com.epmet.dao.AuthorizationInfoDao;
import com.epmet.dao.BindingAccountDao;
import com.epmet.dao.CustomerMpDao;
import com.epmet.dao.OpenPlatformAccountDao;
import com.epmet.dto.form.CustomerAccessTokenInfoFormDTO;
import com.epmet.dto.form.GoToAuthFormDTO;
import com.epmet.dto.form.OpenAppIdFormDTO;
import com.epmet.dto.form.RemoveBindFormDTO;
import com.epmet.dto.result.AuthorizationInfoResultDTO;
import com.epmet.dto.result.CustomerAccessTokenInfoResultDTO;
import com.epmet.dto.result.GoToAuthResultDTO;
import com.epmet.redis.RedisThird;
import com.epmet.service.AppLetAuthorizationService;
@ -25,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
@ -45,6 +49,8 @@ public class AppLetAuthorizationServiceImpl implements AppLetAuthorizationServic
private RedisThird redisThird;
@Autowired
private BindingAccountDao bindingAccountDao;
@Autowired
private AuthorizationInfoDao authorizationInfoDao;
@Value("${third.platform.appId}")
private String componentAppId;
@ -117,4 +123,15 @@ public class AppLetAuthorizationServiceImpl implements AppLetAuthorizationServic
}
return map.get(ModuleConstant.ERR_MSG).toString();
}
/**
* @Description 查询客户下的小程序基本信息
* @param customerAccessTokenInfoFormDTO
* @author zxc
* @date 2020/8/24 10:26 上午
*/
@Override
public List<CustomerAccessTokenInfoResultDTO> getCustomerAccessTokenInfo(CustomerAccessTokenInfoFormDTO customerAccessTokenInfoFormDTO) {
return authorizationInfoDao.getCustomerAccessTokenInfo(customerAccessTokenInfoFormDTO);
}
}

64
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/SettingServiceImpl.java

@ -0,0 +1,64 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.dao.AuthorizationInfoDao;
import com.epmet.dto.AuthorizationInfoDTO;
import com.epmet.dto.form.ModifyDomainFormDTO;
import com.epmet.dto.form.WebviewDomainFormDTO;
import com.epmet.service.SettingService;
import com.epmet.wxapi.param.WxMaModifyDomainReq;
import com.epmet.wxapi.param.WxMaSetWebviewDomainReq;
import com.epmet.wxapi.result.WxResult;
import com.epmet.wxapi.service.WxMaSettingService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/8/20 11:11
*/
@Service
public class SettingServiceImpl implements SettingService {
@Autowired
private AuthorizationInfoDao authorizationInfoDao;
@Autowired
private WxMaSettingService wxMaSettingService;
@Override
public void modifyDomain(ModifyDomainFormDTO formDTO) {
//获取小程序调用令牌
AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(formDTO.getCustomerId(), formDTO.getClientType());
if (null == authInfo) {
throw new RenException("未授权");
}
WxMaModifyDomainReq request = new WxMaModifyDomainReq();
request.setAction(formDTO.getAction());
request.setDownloadDomain(formDTO.getDownloadDomain());
request.setRequestDomain(formDTO.getRequestDomain());
request.setWsRequestDomain(formDTO.getWsRequestDomain());
request.setUploadDomain(formDTO.getUploadDomain());
//设置业务域名
WxResult setDomain = wxMaSettingService.modifyDomain(authInfo.getAuthorizerAccessToken(), request);
if (!setDomain.success()) {
throw new RenException(setDomain.getErrorCode(), setDomain.getErrorMsg());
}
}
@Override
public void setWebviewDomain(WebviewDomainFormDTO formDTO) {
//获取小程序调用令牌
AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(formDTO.getCustomerId(), formDTO.getClientType());
if (null == authInfo) {
throw new RenException("未授权");
}
WxMaSetWebviewDomainReq request = new WxMaSetWebviewDomainReq();
request.setAction(formDTO.getAction());
request.setWebViewDomain(formDTO.getWebViewDomain());
//设置业务域名
WxResult setWebviewDomain = wxMaSettingService.setWebviewDomain(authInfo.getAuthorizerAccessToken(), request);
if (!setWebviewDomain.success()) {
throw new RenException(setWebviewDomain.getErrorCode(), setWebviewDomain.getErrorMsg());
}
}
}

63
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/constant/WxMaSettingConstant.java

@ -0,0 +1,63 @@
package com.epmet.wxapi.constant;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/8/18 13:59
*/
public interface WxMaSettingConstant {
/**
* 设置服务器域名
*/
String MODIFY_DOMAIN_URL = "https://api.weixin.qq.com/wxa/modify_domain";
/**
* 设置业务域名
*/
String SET_WEBVIEW_DOMAIN_URL = "https://api.weixin.qq.com/wxa/setwebviewdomain";
/**
* 设置名称
*/
String SET_NICK_NAME_URL = "https://api.weixin.qq.com/wxa/setnickname";
/**
* 获取可以设置的所有类目
*/
String GET_ALL_CATEGORIES_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/getallcategories";
/**
* 获取已设置的所有类目
*/
String GET_CATEGORY_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/getcategory";
/**
* 添加类目
*/
String ADD_CATEGORY_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/addcategory";
/**
* 删除类目
*/
String DELETE_CATEGORY_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/deletecategory";
/**
* 修改类目资质信息
*/
String MODIFY_CATEGORY_URL = "https://api.weixin.qq.com/cgi-bin/wxopen/modifycategory";
/**
* 绑定微信用户为体验者
*/
String BIND_TESTER_URL = "https://api.weixin.qq.com/wxa/bind_tester";
/**
* 解除绑定体验者
*/
String UNBIND_TESTER_URL = "https://api.weixin.qq.com/wxa/unbind_tester";
/**
* 获取体验者列表
*/
String MEMBER_AUTH_URL = "https://api.weixin.qq.com/wxa/memberauth";
}

2
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/enums/WxMaErrorMsgEnum.java

@ -354,6 +354,8 @@ public enum WxMaErrorMsgEnum {
CODE_85062(85062, "手机号黑名单"),
CODE_85015(85015, "该账号不是小程序账号"),
CODE_85016(85016, "域名数量超过限制"),
CODE_85017(85017, "没有新增域名,请确认小程序已经添加了域名或该域名是否没有在第三方平台添加"),

42
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxAddCategoryReq.java

@ -0,0 +1,42 @@
package com.epmet.wxapi.param;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/8/18 15:14
*/
@NoArgsConstructor
@Data
public class WxAddCategoryReq implements Serializable {
private static final long serialVersionUID = -3659216114599054052L;
private List<CategoriesBean> categories;
@NoArgsConstructor
@Data
public static class CategoriesBean {
/**
*
*/
private int first;
private int second;
private List<CerticatesBean> certicates;
@NoArgsConstructor
@Data
public static class CerticatesBean {
/**
*
*/
private String key;
private String value;
}
}
}

18
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxBindTesterReq.java

@ -0,0 +1,18 @@
package com.epmet.wxapi.param;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/8/18 15:43
*/
@Data
public class WxBindTesterReq implements Serializable {
private static final long serialVersionUID = -6509988898376682232L;
@SerializedName("wechatid")
private String weChatId;
}

19
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxDelCategoryReq.java

@ -0,0 +1,19 @@
package com.epmet.wxapi.param;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/8/18 15:22
*/
@NoArgsConstructor
@Data
public class WxDelCategoryReq implements Serializable {
private static final long serialVersionUID = 7179297618235954140L;
private Integer first;
private Integer second;
}

41
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxModifyCategoryReq.java

@ -0,0 +1,41 @@
package com.epmet.wxapi.param;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/8/18 15:26
*/
@NoArgsConstructor
@Data
public class WxModifyCategoryReq implements Serializable {
private static final long serialVersionUID = -428387175986769380L;
/**
* 一级类目 ID
*/
private int first;
/**
* 二级类目 ID
*/
private int second;
/**
* [资质信息]列表
*/
private List<CerticatesBean> certicates;
@NoArgsConstructor
@Data
public static class CerticatesBean {
/**
* 资质图片
*/
private String key;
private String value;
}
}

61
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/result/WxGetAllCategoriesResult.java

@ -0,0 +1,61 @@
package com.epmet.wxapi.result;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/8/18 14:53
*/
@NoArgsConstructor
@Data
public class WxGetAllCategoriesResult implements Serializable {
private static final long serialVersionUID = 4419968653961864521L;
/**
* errcode : 0
*/
@SerializedName("errcode")
private Integer errCode;
@SerializedName("errmsg")
private String errMsg;
@SerializedName("categories_list")
private CategoriesListBean categoriesList;
@NoArgsConstructor
@Data
public static class CategoriesListBean {
private List<CategoriesBean> categories;
@NoArgsConstructor
@Data
public static class CategoriesBean {
/**
* id : 0
*/
private int id;
private QualifyBean qualify;
private String name;
private int level;
private int father;
@SerializedName("sensitive_type")
private int sensitiveType;
private List<Integer> children;
@NoArgsConstructor
@Data
public static class QualifyBean {
/**
* exter_list : []
*/
private String remark;
@SerializedName("exter_list")
private List<?> exterList;
}
}
}
}

134
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/WxMaSettingService.java

@ -0,0 +1,134 @@
package com.epmet.wxapi.service;
import com.epmet.wxapi.param.*;
import com.epmet.wxapi.result.*;
import java.util.List;
/**
* 小程序修改服务器地址类目管理成员管理 API大部分只能是第三方平台调用
*
* @author zhaoqifeng
* @date 2020/8/18 13:50
*/
public interface WxMaSettingService {
/**
* 设置服务器域名
*
* @param accessToken
* @param action
* @return com.epmet.wxapi.result.WxResult
* @author zhaoqifeng
* @date 2020/7/16 17:21
*/
WxResult<WxMaModifyDomainResult> modifyDomain(String accessToken, String action);
/**
* 设置服务器域名
*
* @param accessToken
* @param request
* @return com.epmet.wxapi.result.WxResult
* @author zhaoqifeng
* @date 2020/7/16 17:21
*/
WxResult modifyDomain(String accessToken, WxMaModifyDomainReq request);
/**
* 设置业务域名
*
* @param accessToken
* @param action
* @return com.epmet.wxapi.result.WxResult
* @author zhaoqifeng
* @date 2020/7/16 17:22
*/
WxResult<WxMaSetWebviewDomainResult> setWebviewDomain(String accessToken, String action);
/**
* 设置业务域名
*
* @param accessToken
* @param request
* @return com.epmet.wxapi.result.WxResult
* @author zhaoqifeng
* @date 2020/8/19 17:52
*/
WxResult setWebviewDomain(String accessToken, WxMaSetWebviewDomainReq request);
/**
* 获取可以设置的所有类目
*
* @param accessToken
* @return com.epmet.wxapi.result.WxResult<com.epmet.wxapi.result.WxGetAllCategoriesResult>
* @author zhaoqifeng
* @date 2020/8/18 15:06
*/
WxResult<WxGetAllCategoriesResult> getAllCategories(String accessToken);
/**
* 获取已设置的所有类目
*
* @param accessToken
* @return com.epmet.wxapi.result.WxResult<com.epmet.wxapi.result.WxOpenGetCategoryResult>
* @author zhaoqifeng
* @date 2020/8/6 10:47
*/
WxResult<WxOpenGetCategoryResult> getCategory(String accessToken);
/**
* 添加类目
*
* @param accessToken
* @param request
* @return com.epmet.wxapi.result.WxResult
* @author zhaoqifeng
* @date 2020/8/18 15:20
*/
WxResult addCategory(String accessToken, WxAddCategoryReq request);
/**
* 删除类目
*
* @param accessToken
* @param request
* @return com.epmet.wxapi.result.WxResult
* @author zhaoqifeng
* @date 2020/8/18 15:20
*/
WxResult delCategory(String accessToken, WxDelCategoryReq request);
/**
* 修改类目资质信息
*
* @param accessToken
* @param request
* @return com.epmet.wxapi.result.WxResult
* @author zhaoqifeng
* @date 2020/8/18 15:20
*/
WxResult modifyCategory(String accessToken, WxModifyCategoryReq request);
/**
* 绑定微信用户为体验者
*
* @param accessToken
* @param request
* @return com.epmet.wxapi.result.WxResult<java.lang.String>
* @author zhaoqifeng
* @date 2020/8/18 15:45
*/
WxResult<String> bindTester(String accessToken, WxBindTesterReq request);
/**
* 解除绑定体验者
*
* @param accessToken
* @param request
* @return com.epmet.wxapi.result.WxResult<java.lang.String>
* @author zhaoqifeng
* @date 2020/8/18 15:45
*/
WxResult unBindTester(String accessToken, WxBindTesterReq request);
}

244
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaSettingServiceImpl.java

@ -0,0 +1,244 @@
package com.epmet.wxapi.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.HttpClientManager;
import com.epmet.commons.tools.utils.Result;
import com.epmet.wxapi.constant.WxMaCodeConstant;
import com.epmet.wxapi.constant.WxMaSettingConstant;
import com.epmet.wxapi.enums.WxMaErrorMsgEnum;
import com.epmet.wxapi.param.*;
import com.epmet.wxapi.result.*;
import com.epmet.wxapi.service.WxMaSettingService;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/8/18 13:57
*/
@Service
public class WxMaSettingServiceImpl implements WxMaSettingService {
private static final String ERR_CODE = "errcode";
private static final String ERR_MSG = "errmsg";
@Autowired
private WxMaDomainDTO wxMaDomainDTO;
@Override
public WxResult<WxMaModifyDomainResult> modifyDomain(String accessToken, String action) {
WxResult<WxMaModifyDomainResult> result = new WxResult<>();
String url = WxMaSettingConstant.MODIFY_DOMAIN_URL + "?" + "access_token=" + accessToken;
WxMaModifyDomainReq request = new WxMaModifyDomainReq();
request.setAction(action);
request.setRequestDomain(wxMaDomainDTO.getRequestDomain());
request.setUploadDomain(wxMaDomainDTO.getUploadDomain());
request.setWsRequestDomain(wxMaDomainDTO.getWsRequestDomain());
request.setDownloadDomain(wxMaDomainDTO.getDownloadDomain());
Result<String> modifyResult = HttpClientManager.getInstance().sendPostByJSON(url, toJson(request));
if (!modifyResult.success()) {
result.setErrorCode(modifyResult.getCode());
result.setErrorMsg(modifyResult.getMsg());
return result;
}
Gson gson = new Gson();
WxMaModifyDomainResult domainResult = gson.fromJson(modifyResult.getData(), WxMaModifyDomainResult.class);
result.setErrorCode(domainResult.getErrcode());
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(domainResult.getErrcode()));
result.setData(domainResult);
return result;
}
@Override
public WxResult modifyDomain(String accessToken, WxMaModifyDomainReq request) {
WxResult result = new WxResult<>();
String url = WxMaCodeConstant.MODIFY_DOMAIN_URL + "?" + "access_token=" + accessToken;
Result<String> modifyResult = HttpClientManager.getInstance().sendPostByJSON(url, toJson(request));
if (!modifyResult.success()) {
result.setErrorCode(modifyResult.getCode());
result.setErrorMsg(modifyResult.getMsg());
return result;
}
Gson gson = new Gson();
WxMaModifyDomainResult domainResult = gson.fromJson(modifyResult.getData(), WxMaModifyDomainResult.class);
result.setErrorCode(domainResult.getErrcode());
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(domainResult.getErrcode()));
return result;
}
@Override
public WxResult<WxMaSetWebviewDomainResult> setWebviewDomain(String accessToken, String action) {
WxResult<WxMaSetWebviewDomainResult> result = new WxResult<>();
String url = WxMaSettingConstant.SET_WEBVIEW_DOMAIN_URL + "?" + "access_token=" + accessToken;
WxMaSetWebviewDomainReq request = new WxMaSetWebviewDomainReq();
request.setAction(action);
request.setWebViewDomain(wxMaDomainDTO.getWebviewDomain());
Result<String> modifyResult = HttpClientManager.getInstance().sendPostByJSON(url, toJson(request));
if (!modifyResult.success()) {
result.setErrorCode(modifyResult.getCode());
result.setErrorMsg(modifyResult.getMsg());
return result;
}
Gson gson = new Gson();
WxMaSetWebviewDomainResult domainResult = gson.fromJson(modifyResult.getData(), WxMaSetWebviewDomainResult.class);
result.setErrorCode(domainResult.getErrcode());
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(domainResult.getErrcode()));
result.setData(domainResult);
return result;
}
@Override
public WxResult setWebviewDomain(String accessToken, WxMaSetWebviewDomainReq request) {
WxResult result = new WxResult<>();
String url = WxMaCodeConstant.SET_WEBVIEW_DOMAIN_URL + "?" + "access_token=" + accessToken;
Result<String> modifyResult = HttpClientManager.getInstance().sendPostByJSON(url, toJson(request));
if (!modifyResult.success()) {
result.setErrorCode(modifyResult.getCode());
result.setErrorMsg(modifyResult.getMsg());
return result;
}
Gson gson = new Gson();
WxMaSetWebviewDomainResult domainResult = gson.fromJson(modifyResult.getData(), WxMaSetWebviewDomainResult.class);
result.setErrorCode(domainResult.getErrcode());
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(domainResult.getErrcode()));
return result;
}
@Override
public WxResult<WxGetAllCategoriesResult> getAllCategories(String accessToken) {
WxResult<WxGetAllCategoriesResult> result = new WxResult<>();
String url = WxMaSettingConstant.GET_ALL_CATEGORIES_URL + "?" + "access_token=" + accessToken;
Result<String> modifyResult = HttpClientManager.getInstance().sendGet(url, null);
if (!modifyResult.success()) {
result.setErrorCode(modifyResult.getCode());
result.setErrorMsg(modifyResult.getMsg());
return result;
}
Gson gson = new Gson();
WxGetAllCategoriesResult categoryResult = gson.fromJson(modifyResult.getData(), WxGetAllCategoriesResult.class);
if (categoryResult.getErrCode() != NumConstant.ZERO) {
result.setErrorCode(categoryResult.getErrCode());
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(categoryResult.getErrCode()));
return result;
}
result.setErrorCode(categoryResult.getErrCode());
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(categoryResult.getErrCode()));
result.setData(categoryResult);
return result;
}
@Override
public WxResult<WxOpenGetCategoryResult> getCategory(String accessToken) {
WxResult<WxOpenGetCategoryResult> result = new WxResult<>();
String url = WxMaSettingConstant.GET_CATEGORY_URL + "?" + "access_token=" + accessToken;
Result<String> statusResult = HttpClientManager.getInstance().sendGet(url, null);
if (!statusResult.success()) {
result.setErrorCode(statusResult.getCode());
result.setErrorMsg(statusResult.getMsg());
return result;
}
Gson gson = new Gson();
WxOpenGetCategoryResult categoryResult = gson.fromJson(statusResult.getData(), WxOpenGetCategoryResult.class);
if (categoryResult.getErrcode() != NumConstant.ZERO) {
result.setErrorCode(categoryResult.getErrcode());
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(categoryResult.getErrcode()));
return result;
}
result.ok(categoryResult);
return result;
}
@Override
public WxResult addCategory(String accessToken, WxAddCategoryReq request) {
WxResult result = new WxResult();
String url = WxMaSettingConstant.ADD_CATEGORY_URL + "?" + "access_token=" + accessToken;
Result<String> categoryResult = HttpClientManager.getInstance().sendPostByJSON(url, toJson(request));
if (!categoryResult.success()) {
result.setErrorCode(categoryResult.getCode());
result.setErrorMsg(categoryResult.getMsg());
return result;
}
JSONObject jsonObject = JSONObject.parseObject(categoryResult.getData());
result.setErrorCode(jsonObject.getInteger(ERR_CODE));
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(jsonObject.getInteger(ERR_CODE)));
return result;
}
@Override
public WxResult delCategory(String accessToken, WxDelCategoryReq request) {
WxResult result = new WxResult();
String url = WxMaSettingConstant.DELETE_CATEGORY_URL + "?" + "access_token=" + accessToken;
Result<String> categoryResult = HttpClientManager.getInstance().sendPostByJSON(url, toJson(request));
if (!categoryResult.success()) {
result.setErrorCode(categoryResult.getCode());
result.setErrorMsg(categoryResult.getMsg());
return result;
}
JSONObject jsonObject = JSONObject.parseObject(categoryResult.getData());
result.setErrorCode(jsonObject.getInteger(ERR_CODE));
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(jsonObject.getInteger(ERR_CODE)));
return result;
}
@Override
public WxResult modifyCategory(String accessToken, WxModifyCategoryReq request) {
WxResult result = new WxResult();
String url = WxMaSettingConstant.MODIFY_CATEGORY_URL + "?" + "access_token=" + accessToken;
Result<String> categoryResult = HttpClientManager.getInstance().sendPostByJSON(url, toJson(request));
if (!categoryResult.success()) {
result.setErrorCode(categoryResult.getCode());
result.setErrorMsg(categoryResult.getMsg());
return result;
}
JSONObject jsonObject = JSONObject.parseObject(categoryResult.getData());
result.setErrorCode(jsonObject.getInteger(ERR_CODE));
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(jsonObject.getInteger(ERR_CODE)));
return result;
}
@Override
public WxResult<String> bindTester(String accessToken, WxBindTesterReq request) {
WxResult<String> result = new WxResult<>();
String url = WxMaSettingConstant.BIND_TESTER_URL + "?" + "access_token=" + accessToken;
Result<String> testerResult = HttpClientManager.getInstance().sendPostByJSON(url, toJson(request));
if (!testerResult.success()) {
result.setErrorCode(testerResult.getCode());
result.setErrorMsg(testerResult.getMsg());
return result;
}
JSONObject jsonObject = JSONObject.parseObject(testerResult.getData());
result.setErrorCode(jsonObject.getInteger(ERR_CODE));
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(jsonObject.getInteger(ERR_CODE)));
result.setData(jsonObject.getString("userstr"));
return result;
}
@Override
public WxResult unBindTester(String accessToken, WxBindTesterReq request) {
WxResult result = new WxResult();
String url = WxMaSettingConstant.UNBIND_TESTER_URL + "?" + "access_token=" + accessToken;
Result<String> testerResult = HttpClientManager.getInstance().sendPostByJSON(url, toJson(request));
if (!testerResult.success()) {
result.setErrorCode(testerResult.getCode());
result.setErrorMsg(testerResult.getMsg());
return result;
}
JSONObject jsonObject = JSONObject.parseObject(testerResult.getData());
result.setErrorCode(jsonObject.getInteger(ERR_CODE));
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(jsonObject.getInteger(ERR_CODE)));
return result;
}
private String toJson(Object object) {
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setPrettyPrinting();
Gson gson = gsonBuilder.create();
return gson.toJson(object);
}
}

22
epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/AuthorizationInfoDao.xml

@ -99,4 +99,26 @@
AND EXPIRES_IN_TIME > NOW()
</select>
<!-- 查询客户下的小程序基本信息 -->
<select id="getCustomerAccessTokenInfo" resultType="com.epmet.dto.result.CustomerAccessTokenInfoResultDTO">
SELECT
pc.customer_name AS customerName,
pc.source AS source,
ai.customer_id AS customerId,
ai.authorizer_appid AS authAppId,
ai.authorizer_access_token AS authorizerAccessToken,
ai.authorizer_refresh_token AS authorizerRefreshToken,
ai.expires_in_time AS expiresInTime,
ai.client_type AS clientType
FROM authorization_info ai
LEFT JOIN pa_customer pc ON pc.id = ai.customer_id
WHERE
ai.del_flag = 0
AND pc.del_flag = 0
AND ai.customer_id = #{customerId}
<if test="clientType != null and clientType != '' ">
AND ai.client_type = #{clientType}
</if>
</select>
</mapper>
Loading…
Cancel
Save