Browse Source

加白名单 略改

dev
zxc 3 years ago
parent
commit
a708356bb2
  1. 1
      epmet-gateway/src/main/resources/bootstrap.yml
  2. 71
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/PaCustomerDTO.java
  3. 3
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserMatchGridFormDTO.java
  4. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  5. 28
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

1
epmet-gateway/src/main/resources/bootstrap.yml

@ -502,6 +502,7 @@ epmet:
# 内部认证url白名单(在白名单中的,就不会再校验登录了)
internalAuthUrlsWhiteList:
- /epmetuser/customerstaff/customerlist
- /epmetuser/icresiuser/icUserMatchGrid
- /auth/wechat/**
- /**/druid/**
- /gov/project/project/platformcallback

71
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/PaCustomerDTO.java

@ -0,0 +1,71 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Author zxc
* @DateTime 2022/8/5 15:03
* @DESC
*/
@Data
public class PaCustomerDTO implements Serializable {
/**
* 客户id本主键和oper_crm.customer.id一致
*/
private String id;
/**
* 客户名称默认是根组织名称
*/
private String customerName;
/**
* 是否已经完成客户信息初始化 0未初始化1已初始化
*/
private Integer isInitialize;
/**
* 客户类型 mini 微信小程序客户 app 第三方app客户
*/
private String type;
/**
* 数据来源(dev:开发 test:体验 prod:生产)
*/
private String source;
/**
* 删除标识0.未删除 1.已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

3
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserMatchGridFormDTO.java

@ -20,5 +20,6 @@ public class IcUserMatchGridFormDTO implements Serializable {
@NotBlank(message = "idCard不能为空",groups = IcUserMatchGridForm.class)
private String idCard;
private String customerId;
@NotBlank(message = "appId不能为空",groups = IcUserMatchGridForm.class)
private String appId;
}

3
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -1301,9 +1301,8 @@ public class IcResiUserController implements ResultDataResolver {
* @date 2022/8/5 11:17
*/
@PostMapping("icUserMatchGrid")
public Result<IcUserMatchGridResultDTO> icUserMatchGrid(@LoginUser TokenDto tokenDto,@RequestBody IcUserMatchGridFormDTO formDTO){
public Result<IcUserMatchGridResultDTO> icUserMatchGrid(@RequestBody IcUserMatchGridFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, IcUserMatchGridFormDTO.IcUserMatchGridForm.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<IcUserMatchGridResultDTO>().ok(icResiUserService.icUserMatchGrid(formDTO));
}

28
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -20,6 +20,7 @@ package com.epmet.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@ -3253,8 +3254,12 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
*/
@Override
public IcUserMatchGridResultDTO icUserMatchGrid(IcUserMatchGridFormDTO formDTO) {
PaCustomerDTO customerInfo = getCustomerInfo(formDTO.getAppId());
if (null == customerInfo){
throw new EpmetException("根据APPID查询客户信息失败:"+formDTO.getAppId());
}
LambdaQueryWrapper<IcResiUserEntity> qw = new LambdaQueryWrapper<>();
qw.eq(IcResiUserEntity::getCustomerId,formDTO.getCustomerId())
qw.eq(IcResiUserEntity::getCustomerId,customerInfo.getId())
.eq(IcResiUserEntity::getIdCard,formDTO.getIdCard());
IcResiUserEntity icResiUserEntity = baseDao.selectOne(qw);
if (null == icResiUserEntity){
@ -3269,4 +3274,25 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
result.setGridName(gridInfo.getGridName());
return result;
}
public PaCustomerDTO getCustomerInfo(String appId) {
JSONObject jsonObject = new JSONObject();
String data = HttpClientManager.getInstance().sendPostByJSON("https://epmet-cloud.elinkservice.cn/api/third/customermp/getcustomermsg/" + appId, JSON.toJSONString(jsonObject)).getData();
logger.info("ThirdLoginServiceImpl.getCustomerInfo:httpclient->url:https://epmet-cloud.elinkservice.cn/api/third/customermp/getcustomermsg/ ,结果->" + data);
JSONObject toResult = JSON.parseObject(data);
Result mapToResult = ConvertUtils.mapToEntity(toResult, Result.class);
if (null != toResult.get("code")) {
mapToResult.setCode(((Integer) toResult.get("code")).intValue());
}
if (!mapToResult.success()) {
logger.error(String.format("根据appId查询客户Id失败,对应appId->" + appId));
throw new RenException(mapToResult.getMsg());
}
Object PublicCustomerResultDTO = mapToResult.getData();
JSONObject json = JSON.parseObject(PublicCustomerResultDTO.toString());
Map<String, Object> map = (Map) json.get("customer");
PaCustomerDTO customer = ConvertUtils.mapToEntity(map, PaCustomerDTO.class);
logger.info("小程序登陆third服务获取客户用户信息PaCustomerDTO->" + customer);
return customer;
}
}

Loading…
Cancel
Save