Browse Source

Merge remote-tracking branch 'remotes/origin/dev' into dev_support_more_appid

master
jianjun 5 years ago
parent
commit
1800f42935
  1. 14
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java
  2. 38
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java
  3. 33
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/InputStreamResponseHandler.java
  4. 33
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/Utf8ResponseHandler.java
  5. 15
      epmet-module/epmet-oss/epmet-oss-client/pom.xml
  6. 2
      epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml
  7. 2
      epmet-module/epmet-oss/epmet-oss-server/pom.xml
  8. 25
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RegisterByAuthFormDTO.java
  9. 2
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RemoveBindFormDTO.java
  10. 2
      epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml
  11. 2
      epmet-module/epmet-third/epmet-third-server/pom.xml
  12. 8
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/PaConstant.java
  13. 4
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PaCustomerController.java
  14. 2
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/AuthorizationInfoDao.java
  15. 2
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/ComponentAccessTokenDao.java
  16. 2
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaCustomerDao.java
  17. 2
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PaCustomerService.java
  18. 6
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/AppLetAuthorizationServiceImpl.java
  19. 20
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java
  20. 16
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java
  21. 23
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaCustomerServiceImpl.java
  22. 12
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserServiceImpl.java
  23. 66
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxExtJson.java
  24. 2
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/WxMaCodeService.java
  25. 11
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java
  26. 6
      epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/AuthorizationInfoDao.xml
  27. 9
      epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/ComponentAccessTokenDao.xml
  28. 2
      epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CustomerMpDao.xml
  29. 20
      epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaCustomerDao.xml

14
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java

@ -341,12 +341,12 @@ public class DateUtils {
return DateUtils.addDateDays(nextMonth, -1);
}
public static void main(String[] args) {
//int weekOfYear = getWeekOfYear(new Date());
String format = String.format("%02d", 9);
System.out.println(666);
}
// public static void main(String[] args) {
// //int weekOfYear = getWeekOfYear(new Date());
// String format = String.format("%02d", 9);
//
// System.out.println(666);
// }
/**
* 获取日期前一天
@ -485,7 +485,7 @@ public class DateUtils {
public static String formatTimestamp(Long timestamp, String pattern) {
//设置格式
SimpleDateFormat format = new SimpleDateFormat(pattern);
return format.format(timestamp);
return format.format(timestamp * 1000);
}
}

38
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java

@ -6,10 +6,10 @@ import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.*;
import org.apache.http.client.HttpResponseException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
@ -39,7 +39,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
/**
* desc: http 工具类
@ -244,6 +243,7 @@ public class HttpClientManager {
return new Result<String>().error(EpmetErrorCode.SERVER_ERROR.getCode(), EpmetErrorCode.SERVER_ERROR.getMsg());
}
/**
* desc: 发送get请求
* param:url, params
@ -252,7 +252,7 @@ public class HttpClientManager {
*
* @author: jianjun liu
*/
public Result<File> sendGetFile(String url, Map<String, Object> params) {
public Result<byte[]> getByteArray(String url, Map<String, Object> params) {
try {
URIBuilder builder = new URIBuilder(url);
@ -267,35 +267,33 @@ public class HttpClientManager {
return executeToByte(httpGet);
} catch (Exception e) {
log.error("sendGet exception", e);
return new Result<File>().error(EpmetErrorCode.SERVER_ERROR.getCode(), EpmetErrorCode.SERVER_ERROR.getMsg());
return new Result<byte[]>().error(EpmetErrorCode.SERVER_ERROR.getCode(), EpmetErrorCode.SERVER_ERROR.getMsg());
}
}
private Result<File> executeToByte(HttpRequestBase httpMethod) {
private Result<byte[]> executeToByte(HttpRequestBase httpMethod) {
CloseableHttpResponse response = null;
try {
response = httpclient.execute(httpMethod);
log.debug("http send response:{}", JSON.toJSONString(response));
if (response != null && response.getStatusLine() != null) {
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
InputStream inputStream = InputStreamResponseHandler.INSTANCE.handleResponse(response);
Header[] contentTypeHeader = response.getHeaders("Content-Type");
if (contentTypeHeader != null && contentTypeHeader.length > 0) {
// 出错
if (ContentType.TEXT_PLAIN.getMimeType()
.equals(ContentType.parse(contentTypeHeader[0].getValue()).getMimeType())) {
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
}
}
File file = FileUtils.createTmpFile(inputStream, UUID.randomUUID().toString(), "jpg");
return new Result<File>().ok(file);
InputStream in = response.getEntity().getContent();
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte[] buffer = new byte[4096];
int n = 0;
while (-1 != (n = in.read(buffer))) {
output.write(buffer, 0, n);
}
// return new Result<byte[]>().ok(ArrayUtils.toObject(output.toByteArray()));
return new Result<byte[]>().ok(output.toByteArray());
} else {
log.warn("execute http method fail,httpStatus:{0}", response.getStatusLine().getStatusCode());
}
}
} catch (Exception e) {
log.error("execute exception", e);
return new Result<File>().error(EpmetErrorCode.SERVER_ERROR.getCode(), e.getMessage());
return new Result<byte[]>().error(EpmetErrorCode.SERVER_ERROR.getCode(), e.getMessage());
} finally {
httpMethod.releaseConnection();
try {
@ -305,7 +303,7 @@ public class HttpClientManager {
} catch (IOException e) {
}
}
return new Result<File>().error(EpmetErrorCode.SERVER_ERROR.getCode(), EpmetErrorCode.SERVER_ERROR.getMsg());
return new Result<byte[]>().error(EpmetErrorCode.SERVER_ERROR.getCode(), EpmetErrorCode.SERVER_ERROR.getMsg());
}
/**

33
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/InputStreamResponseHandler.java

@ -1,33 +0,0 @@
package com.epmet.commons.tools.utils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpResponseException;
import org.apache.http.client.ResponseHandler;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.io.InputStream;
/**
* 输入流响应处理器.
*
* @author Daniel Qian
*/
public class InputStreamResponseHandler implements ResponseHandler<InputStream> {
public static final ResponseHandler<InputStream> INSTANCE = new InputStreamResponseHandler();
private static final int STATUS_CODE_300 = 300;
@Override
public InputStream handleResponse(final HttpResponse response) throws IOException {
final StatusLine statusLine = response.getStatusLine();
final HttpEntity entity = response.getEntity();
if (statusLine.getStatusCode() >= STATUS_CODE_300) {
EntityUtils.consume(entity);
throw new HttpResponseException(statusLine.getStatusCode(), statusLine.getReasonPhrase());
}
return entity == null ? null : entity.getContent();
}
}

33
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/Utf8ResponseHandler.java

@ -1,33 +0,0 @@
package com.epmet.commons.tools.utils;
import org.apache.http.Consts;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpResponseException;
import org.apache.http.client.ResponseHandler;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
/**
* copy from {@link org.apache.http.impl.client.BasicResponseHandler}
*
* @author Daniel Qian
*/
public class Utf8ResponseHandler implements ResponseHandler<String> {
public static final ResponseHandler<String> INSTANCE = new Utf8ResponseHandler();
@Override
public String handleResponse(final HttpResponse response) throws IOException {
final StatusLine statusLine = response.getStatusLine();
final HttpEntity entity = response.getEntity();
if (statusLine.getStatusCode() >= 300) {
EntityUtils.consume(entity);
throw new HttpResponseException(statusLine.getStatusCode(), statusLine.toString());
}
return entity == null ? null : EntityUtils.toString(entity, Consts.UTF_8);
}
}

15
epmet-module/epmet-oss/epmet-oss-client/pom.xml

@ -26,6 +26,21 @@
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form</artifactId>
<version>3.8.0</version>
</dependency>
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form-spring</artifactId>
<version>3.8.0</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
</dependencies>
<build>

2
epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml

@ -3,7 +3,7 @@ services:
epmet-oss-server:
container_name: epmet-oss-server-dev
# image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-oss-server:0.3.2
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-oss-server:0.3.22
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-oss-server:0.3.23
ports:
- "8083:8083"
network_mode: host # 使用现有网络

2
epmet-module/epmet-oss/epmet-oss-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.22</version>
<version>0.3.23</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-oss</artifactId>

25
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RegisterByAuthFormDTO.java

@ -2,43 +2,20 @@ package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author sun
* @Description 运营端-根据授权状态和初始化状态获取客户列表不分页-接口入参
* @Description 运营端-根据初始化状态获取公众号注册的客户列表-接口入参
*/
@Data
public class RegisterByAuthFormDTO implements Serializable {
private static final long serialVersionUID = -6547893374373422628L;
public interface AddUserInternalGroup {
}
/**
* 居民端是否授权(0未授权1已授权)
* */
@NotNull(message = "居民端是否授权不能为空", groups = { AddUserInternalGroup.class })
private Integer resiAuth;
/**
* 工作端是否授权(0未授权1已授权)
* */
@NotNull(message = "工作端是否授权不能为空", groups = { AddUserInternalGroup.class })
private Integer workAuth;
/**
* 初始化状态0:已初始化1:未初始化
* */
@NotNull(message = "初始化状态不能为空", groups = { AddUserInternalGroup.class })
private Integer initState;
/**
* 所属端 resi:居民端 work:工作端
*/
private String client;
}

2
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RemoveBindFormDTO.java

@ -23,4 +23,6 @@ public class RemoveBindFormDTO implements Serializable {
@NotBlank(message = "客户端类型不能为空",groups = {RemoveBindFormDTO.RemoveBind.class})
private String clientType;
private String customerId;
}

2
epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-third-server:
container_name: epmet-third-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-third-server:0.0.58
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-third-server:0.0.64
ports:
- "8110:8110"
network_mode: host # 使用现有网络

2
epmet-module/epmet-third/epmet-third-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.0.58</version>
<version>0.0.64</version>
<parent>
<groupId>com.epmet</groupId>

8
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/PaConstant.java

@ -6,10 +6,6 @@ package com.epmet.constant;
*/
public interface PaConstant {
/**
* 手机号注册
*/
String PHONE_EXCEPTION = "手机号已存在,不允许再次注册";
/**
* 更新用户信息失败
*/
@ -74,4 +70,8 @@ public interface PaConstant {
* 获取客户信息失败
*/
String SELECT_CUSTOMER_EXCEPTION = "获取客户信息失败";
/**
* 获取访问记录表数据失败失败
*/
String SELECT_VISITED_EXCEPTION = "获取访问记录表数据失败";
}

4
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PaCustomerController.java

@ -121,11 +121,11 @@ public class PaCustomerController {
* @param formDTO
* @return
* @Author sun
* @Description 根据授权状态和初始化状态获取客户列表不分页
* @Description 根据初始化状态获取公众号注册的客户列表
**/
@PostMapping(value = "registerbyauth")
public Result<List<RegisterByAuthResultDTO>> registerByAuth(@LoginUser TokenDto tokenDTO, @RequestBody RegisterByAuthFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, RegisterByAuthFormDTO.AddUserInternalGroup.class);
ValidatorUtils.validateEntity(formDTO);
return new Result<List<RegisterByAuthResultDTO>>().ok( paCustomerService.registerByAuth(formDTO));
}

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

@ -81,7 +81,7 @@ public interface AuthorizationInfoDao extends BaseDao<AuthorizationInfoEntity> {
* @param customerId
* @author zxc
*/
void updateOldAuthorizerAccessToken(@Param("customerId")String customerId,@Param("clientType")String clientType);
void deleteOldAuthorizerAccessToken(@Param("customerId")String customerId,@Param("clientType")String clientType);
/**
* @Description 根据 authAppId 查询客户ID和客户端类型

2
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/ComponentAccessTokenDao.java

@ -45,7 +45,7 @@ public interface ComponentAccessTokenDao extends BaseDao<ComponentAccessTokenEnt
* @param
* @author zxc
*/
void updateOldComponentAccessToken();
void deleteOldComponentAccessToken();
/**
* @Description 查询component_access_token 数量

2
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaCustomerDao.java

@ -65,7 +65,7 @@ public interface PaCustomerDao extends BaseDao<PaCustomerEntity> {
* @param formDTO
* @return
* @Author sun
* @Description 根据所属端授权状态初始化状态查询客户列表数据
* @Description 根据初始化状态获取公众号注册的客户列表
**/
List<RegisterByAuthResultDTO> selectCustomerList(RegisterByAuthFormDTO formDTO);

2
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PaCustomerService.java

@ -158,7 +158,7 @@ public interface PaCustomerService extends BaseService<PaCustomerEntity> {
* @param formDTO
* @return
* @Author sun
* @Description 根据授权状态和初始化状态获取客户列表不分页
* @Description 根据初始化状态获取公众号注册的客户列表
**/
List<RegisterByAuthResultDTO> registerByAuth(RegisterByAuthFormDTO formDTO);
}

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

@ -79,7 +79,7 @@ public class AppLetAuthorizationServiceImpl implements AppLetAuthorizationServic
*/
@Override
public void removeBind(TokenDto tokenDto, RemoveBindFormDTO formDTO) {
String customerId = componentVerifyTicketServiceImpl.getLoginUserCustomerId(tokenDto);
String customerId = formDTO.getCustomerId();
String clientType = formDTO.getClientType();
//查询openAppId
String openAppId = openPlatformAccountDao.selectOpenAppIdByCustomerId(customerId);
@ -91,8 +91,8 @@ public class AppLetAuthorizationServiceImpl implements AppLetAuthorizationServic
jsonObject.put(ModuleConstant.LOW_APP_ID,authAppId);
jsonObject.put(ModuleConstant.OPEN_APP_ID,openAppId);
String data = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.UN_BIND + authorizationInfo.getAuthorizer_access_token(), JSON.toJSONString(jsonObject)).getData();
Map<String,String> map = JSON.parseObject(data, Map.class);
if (!map.get(ModuleConstant.ERR_CODE).equals(NumConstant.ZERO_STR)){
Map<String,Object> map = JSON.parseObject(data, Map.class);
if (!map.get(ModuleConstant.ERR_CODE).equals(NumConstant.ZERO)){
log.error("解绑失败" + data);
throw new RenException("解绑失败" + data);
}

20
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java

@ -373,17 +373,13 @@ public class CodeServiceImpl implements CodeService {
//获取小程序调用令牌
AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType());
//调用微信API获取获取体验版二维码
WxResult<File> wxResult = wxMaCodeService.getQrCode(authInfo.getAuthorizerAccessToken(), formDTO.getPath());
WxResult<byte[]> wxResult = wxMaCodeService.getQrCode(authInfo.getAuthorizerAccessToken(), formDTO.getPath());
QrCodeDTO qrCodeDTO = new QrCodeDTO();
try {
qrCodeDTO.setQrCode(Files.readAllBytes(wxResult.getData().toPath()));
Result<UploadImgResultDTO> uploadResult = ossFeignClient.uploadQrCode(qrCodeDTO);
codeCustomerDTO.setQrCode(uploadResult.getData().getUrl());
codeCustomerService.update(codeCustomerDTO);
result.setQrcode(uploadResult.getData().getUrl());
} catch (Exception e) {
throw new RenException(e.getMessage());
}
qrCodeDTO.setQrCode(wxResult.getData());
Result<UploadImgResultDTO> uploadResult = ossFeignClient.uploadQrCode(qrCodeDTO);
codeCustomerDTO.setQrCode(uploadResult.getData().getUrl());
codeCustomerService.update(codeCustomerDTO);
result.setQrcode(uploadResult.getData().getUrl());
if (!wxResult.success()) {
throw new RenException(wxResult.getErrorCode(), wxResult.getErrorMsg());
}
@ -405,8 +401,8 @@ public class CodeServiceImpl implements CodeService {
try {
QrCodeDTO dto = new QrCodeDTO();
dto.setMedia(formDTO.getMedia());
Result<UploadImgResultDTO> uploadDTOResult = ossFeignClient.uploadWxImg(dto);
File file = new File(uploadDTOResult.getData().getUrl());
Result<UploadImgResultDTO> uploadWxImg = ossFeignClient.uploadWxImg(dto);
File file = new File(uploadWxImg.getData().getUrl());
//获取上传代码信息
CodeCustomerDTO codeCustomerDTO = codeCustomerService.get(formDTO.getCodeId());
//获取小程序调用令牌

16
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java

@ -211,7 +211,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
formDTO.setExpiresInTime(expiresInTime);
//先逻辑删,在插入
log.info(ThirdRunTimeInfoConstant.START_DELETE_COMPONENT_ACCESS_TOKEN);
componentAccessTokenDao.updateOldComponentAccessToken();
componentAccessTokenDao.deleteOldComponentAccessToken();
componentAccessTokenDao.insertComponentAccessToken(formDTO);
//存缓存
redisThird.setComponentAccessToken(componentAccessToken);
@ -341,20 +341,26 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
Date expiresInTime = this.countExpirationTime(expiresIn);
//更新DB
AuthorizerAccessTokenFormDTO formDTO = new AuthorizerAccessTokenFormDTO();
AuthorizationInfoFormDTO authorizationInfo = new AuthorizationInfoFormDTO();
BeanUtils.copyProperties(formDTO, authorizationInfo);
authorizationInfo.setAuthorizerAppid(authAppId);
formDTO.setAuthorizerAccessToken(authorizerAccessToken);
formDTO.setAuthorizerRefreshToken(authorizerRefreshToken);
formDTO.setExpiresInTime(expiresInTime);
formDTO.setCustomerId(customerId);
formDTO.setAuthAppid(authAppId);
formDTO.setClientType(clientType);
AuthorizationInfoFormDTO authorizationInfo = new AuthorizationInfoFormDTO();
BeanUtils.copyProperties(formDTO,authorizationInfo);
authorizationInfo.setAuthorizerAppid(authAppId);
//先逻辑删除,在插入
authorizationInfoDao.updateOldAuthorizerAccessToken(customerId, clientType);
authorizationInfoDao.deleteOldAuthorizerAccessToken(customerId, clientType);
authorizationInfoDao.insertAuthorizerAccessToken(formDTO);
//缓存 refreshAuthorizerAccessToken
redisThird.setAuthorizerRefreshToken(authorizationInfo);
AuthorizationInfoResultDTO resultDTO = new AuthorizationInfoResultDTO();
resultDTO.setAuthorizer_access_token(authorizerAccessToken);
resultDTO.setAuthorizer_refresh_token(authorizerRefreshToken);
resultDTO.setAuthorizer_appid(authAppId);
resultDTO.setExpires_in(7200);
redisThird.setAuthInfo(resultDTO,customerId,clientType);
}
});
log.info("更新authorizer_access_token成功");

23
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaCustomerServiceImpl.java

@ -167,7 +167,7 @@ public class PaCustomerServiceImpl extends BaseServiceImpl<PaCustomerDao, PaCust
//1.根据手机号查询到用户信息,判断用户是否存
List<PaUserDTO> userList = paUserDao.selectUserByPhone(formDTO.getPhone());
if (null != userList && userList.size() > NumConstant.ZERO) {
throw new RenException(PaConstant.PHONE_EXCEPTION);
throw new RenException(EpmetErrorCode.MOBILE_USED.getCode());
}
//2.根据token中的userId查询pa_user表数据,根据手机号是否为空判断后续是新增还是更新user数据
@ -488,29 +488,12 @@ public class PaCustomerServiceImpl extends BaseServiceImpl<PaCustomerDao, PaCust
* @param formDTO
* @return
* @Author sun
* @Description 根据授权状态和初始化状态获取客户列表不分页
* @Description 根据初始化状态获取公众号注册的客户列表
**/
@Override
public List<RegisterByAuthResultDTO> registerByAuth(RegisterByAuthFormDTO formDTO) {
List<RegisterByAuthResultDTO> resultList = new ArrayList<>();
//1.根据是否初始化和居民端授权状态查询客户列表信息
formDTO.setClient(PaConstant.CLIENT_RESI);
List<RegisterByAuthResultDTO> list1 = baseDao.selectCustomerList(formDTO);
//2.根据是否初始化和工作端授权状态查询客户列表信息
formDTO.setClient(PaConstant.CLIENT_WORK);
List<RegisterByAuthResultDTO> list2 = baseDao.selectCustomerList(formDTO);
//3.取交集数据
list1.forEach(dto->{
list2.forEach(cu->{
if(dto.getCustomerId().equals(cu.getCustomerId())){
resultList.add(dto);
}
});
});
return resultList;
return baseDao.selectCustomerList(formDTO);
}
}

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

@ -20,10 +20,12 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.constant.PaConstant;
import com.epmet.dao.PaCustomerDao;
import com.epmet.dao.PaUserDao;
import com.epmet.dao.PaUserVisitedDao;
@ -41,6 +43,8 @@ import com.epmet.service.PaUserService;
import com.epmet.service.PaUserWechatService;
import me.chanjar.weixin.mp.bean.result.WxMpUser;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -57,7 +61,7 @@ import java.util.Map;
*/
@Service
public class PaUserServiceImpl extends BaseServiceImpl<PaUserDao, PaUserEntity> implements PaUserService {
private Logger logger = LogManager.getLogger(PaUserServiceImpl.class);
@Autowired
private PaUserRedis paUserRedis;
@Autowired
@ -170,6 +174,10 @@ public class PaUserServiceImpl extends BaseServiceImpl<PaUserDao, PaUserEntity>
//2.4、根据openid查询用户登陆访问记录表数据,按登陆时间倒序
PaUserVisitedDTO visitedDTO = paUserVisitedDao.selectByOpenId(wxMpUser.getOpenId());
if (null == visitedDTO || "".equals(visitedDTO.getUserId())) {
logger.error("根据openid查询用户访问记录表数据失败,openid->"+wxMpUser.getOpenId());
throw new RenException(PaConstant.SELECT_VISITED_EXCEPTION);
}
resultDTO.setUserId(visitedDTO.getUserId());
}

66
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxExtJson.java

@ -0,0 +1,66 @@
package com.epmet.wxapi.param;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/7/27 9:19
*/
@NoArgsConstructor
@Data
public class WxExtJson implements Serializable {
private static final long serialVersionUID = -559311391779774945L;
private boolean extEnable;
private String extAppid;
private boolean directCommit;
private ExtBean ext;
@NoArgsConstructor
@Data
private static class ExtBean {
private String extAppid;
private FootbarBean footbar;
@NoArgsConstructor
@Data
private static class FootbarBean {
private WorkBean work;
private OrgBean org;
private DataBean data;
private FindBean find;
@NoArgsConstructor
@Data
private static class WorkBean {
private String name;
private String pageTile;
}
@NoArgsConstructor
@Data
private static class OrgBean {
private String name;
private String pageTile;
}
@NoArgsConstructor
@Data
private static class DataBean {
private String name;
private String pageTile;
}
@NoArgsConstructor
@Data
private static class FindBean {
private String name;
private String pageTile;
}
}
}
}

2
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/WxMaCodeService.java

@ -48,7 +48,7 @@ public interface WxMaCodeService {
* @author zhaoqifeng
* @date 2020/7/10 15:25
*/
WxResult<File> getQrCode(String accessToken, String path);
WxResult<byte[]> getQrCode(String accessToken, String path);
/**
* 获取授权小程序帐号的可选类目.

11
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java

@ -70,17 +70,18 @@ public class WxMaCodeServiceImpl implements WxMaCodeService {
}
@Override
public WxResult<File> getQrCode(String accessToken, String path) {
WxResult<File> result = new WxResult<>();
StringBuilder url = new StringBuilder(WxMaCodeConstant.GET_QRCODE_URL).append("?access_token").append(accessToken);
public WxResult<byte[]> getQrCode(String accessToken, String path) {
WxResult<byte[]> result = new WxResult<>();
StringBuilder url = new StringBuilder(WxMaCodeConstant.GET_QRCODE_URL).append("?access_token=").append(accessToken);
if (StringUtils.isNotBlank(path)) {
try {
url.append("?path=").append(URLEncoder.encode(path, StandardCharsets.UTF_8.name()));
url.append("&path=").append(URLEncoder.encode(path, StandardCharsets.UTF_8.name()));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
Result<File> qrCodeResult = HttpClientManager.getInstance().sendGetFile(url.toString(), null);
Result<byte[]> qrCodeResult = HttpClientManager.getInstance().getByteArray(url.toString(), null);
if (!qrCodeResult.success()) {
result.setErrorCode(qrCodeResult.getCode());
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(qrCodeResult.getCode()));

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

@ -65,9 +65,9 @@
</insert>
<!-- 逻辑删 authorizer_access_token -->
<update id="updateOldAuthorizerAccessToken">
update authorization_info set del_flag = 1 where customer_id = #{customerId} AND client_type = #{clientType}
</update>
<delete id="deleteOldAuthorizerAccessToken">
delete from authorization_info where customer_id = #{customerId} AND client_type = #{clientType}
</delete>
<select id="getAuthInfoByCustomer" resultType="com.epmet.dto.AuthorizationInfoDTO">
SELECT AUTHORIZER_APPID,

9
epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/ComponentAccessTokenDao.xml

@ -19,10 +19,11 @@
)
</insert>
<!-- 逻辑删除旧的 component_access_token信息 -->
<update id="updateOldComponentAccessToken">
update component_access_token set del_flag = 1
</update>
<!-- 删除旧的 component_access_token信息 -->
<delete id="deleteOldComponentAccessToken">
delete from component_access_token where del_flag = 0
</delete>
<select id="getComponentAccessToken" resultType="java.lang.String">
SELECT
COMPONENT_ACCESS_TOKEN

2
epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CustomerMpDao.xml

@ -21,7 +21,7 @@
<!-- 查询授权的数量 -->
<select id="selectAuthCount" resultType="java.lang.Integer">
SELECT
app_id AS authAppId
count(*)
FROM
open_platform_account
WHERE

20
epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaCustomerDao.xml

@ -58,22 +58,14 @@
<select id="selectCustomerList" resultType="com.epmet.dto.result.RegisterByAuthResultDTO">
SELECT
pc.id AS "customerId",
pc.customer_name AS "customerName"
id AS "customerId",
customer_name AS "customerName"
FROM
pa_customer pc
INNER JOIN customer_mp cm ON pc.id = cm.customer_id
pa_customer
WHERE
pc.del_flag = '0'
AND cm.del_flag = '0'
AND pc.is_initialize = #{initState}
<if test='null != client and "" != client and "resi" == client'>
AND cm.client = #{client}
AND cm.AUTHORIZATION_FLAG = #{resiAuth}
</if>
<if test='null != client and "" != client and "work" == client'>
AND cm.client = #{client}
AND cm.AUTHORIZATION_FLAG = #{workAuth}
del_flag = '0'
<if test='null != initState and "" != initState'>
AND is_initialize = #{initState}
</if>
</select>

Loading…
Cancel
Save