Browse Source

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

# Conflicts:
#	epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
#	epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
#	epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
#	epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
master
jianjun 3 years ago
parent
commit
5a151ab746
  1. 2
      epmet-gateway/pom.xml
  2. 1
      epmet-gateway/src/main/resources/bootstrap.yml
  3. 1
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java
  4. 7
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/controller/ResiMineGridController.java
  5. 9
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java
  6. 1
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  7. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  8. 21
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/OperUserController.java
  9. 38
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
  10. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/OperUserService.java
  11. 160
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  12. 14
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java

2
epmet-gateway/pom.xml

@ -379,6 +379,8 @@
<!--问卷服务-->
<gateway.routes.tduck-api.url>lb://tduck-api</gateway.routes.tduck-api.url>
<!--<gateway.routes.tduck-api.url>http://localhost:8116</gateway.routes.tduck-api.url>-->
<!-- 插件:数字底座动力主轴 -->
<gateway.routes.plugin.power-base-server.url>lb://pli-power-base-server</gateway.routes.plugin.power-base-server.url>
<!--钉钉 机器人地址-->
<dingTalk.robot.webHook>https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4</dingTalk.robot.webHook>
<dingTalk.robot.secret>SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd</dingTalk.robot.secret>

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

@ -514,6 +514,7 @@ epmet:
- /gov/org/icbuildingunit/unitoption
- /gov/org/ichouse/houseoption
- /epmetuser/icresicollect/save
- /gov/org/customergrid/gridoption
# 外部应用认证,使用AccessToken等头进行认证
externalOpenUrls:
- /data/report/**

1
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java

@ -308,6 +308,7 @@ public class CustomerGridController {
* @Return {@link Result<List<OptionResultDTO>>}
* @Author zhaoqifeng
* @Date 2021/10/26 14:02
* 此接口给城阳小程序使用已经在gateway中放开此接口无需校验token
*/
@PostMapping("gridoption")
public Result<List<OptionResultDTO>> getGridOption(@RequestBody GridOptionFormDTO formDTO){

7
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/controller/ResiMineGridController.java

@ -50,15 +50,16 @@ public class ResiMineGridController {
/**
* @return
* @param appId
* @Author sun
* @Description 单客户-获取用户最近访问网格
* @Date 2020/8/3
**/
@GetMapping("latestgridinfo")
public Result<LatestGridInfoResultDTO> latestGridInfo(@LoginUser TokenDto token, @RequestParam("appId") String appId) {
//public Result<LatestGridInfoResultDTO> latestGridInfo(@LoginUser TokenDto token, @RequestParam("appId") String appId) {
public Result<LatestGridInfoResultDTO> latestGridInfo_new(@LoginUser TokenDto token) {
LatestGridInfoFormDTO formDTO = new LatestGridInfoFormDTO();
formDTO.setAppId(appId);
//formDTO.setAppId(appId);
formDTO.setCustomerId(token.getCustomerId());
formDTO.setUserId(token.getUserId());
return new Result<LatestGridInfoResultDTO>().ok(resiMineGridService.latestGridInfo(formDTO));
}

9
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java

@ -130,7 +130,10 @@ public class ResiMineGridServiceImpl implements ResiMineGridService {
}
}
}
//1.调用third服务,根据appId获取客户Id
/*
//2022.4.29 应前端要求 入参不再传appid值
//1.调用third服务,根据appId获取客户Id
JSONObject jsonObject = new JSONObject();
String customerMsgUrl = "https://epmet-cloud.elinkservice.cn/api/third/customermp/getcustomermsg/";
String data = HttpClientManager.getInstance().sendPostByJSON(customerMsgUrl + formDTO.getAppId(), JSON.toJSONString(jsonObject)).getData();
@ -148,10 +151,10 @@ public class ResiMineGridServiceImpl implements ResiMineGridService {
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);
logger.info("小程序登陆third服务获取客户用户信息PaCustomerDTO->" + customer);*/
//2.调用epmet-user服务,根据客户Id和用户Id查询最后一次访问记录
formDTO.setCustomerId(customer.getId());
//formDTO.setCustomerId(customer.getId());
Result<LatestGridInfoResultDTO> userResult = epmetUserOpenFeignClient.latestGridInfo(formDTO);
if (!userResult.success()) {
logger.error(String.format("居民端获取用户最近访问网格失败,接口入参客户Id->%s,appId->%s,调用epmet-user-server服务返回->%s", formDTO.getCustomerId(), formDTO.getAppId(), JSON.toJSONString(userResult)));

1
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java

@ -542,4 +542,5 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
public Result<List<UserChartResultDTO>> userChartList(UserChartFormDTO userDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "userChartList", userDTO);
}
}

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

@ -241,8 +241,8 @@ public class IcResiUserController implements ResultDataResolver {
* @date 2022/4/26 10:48
*/
@PostMapping("rent/updateimage")
public Result updateImage(@RequestBody RentTenantFormDTO formDTO) {
String resiUserId = icResiUserService.updateImage(formDTO);
public Result updateImage(@LoginUser TokenDto tokenDto, @RequestBody RentTenantFormDTO formDTO) {
String resiUserId = icResiUserService.updateImage(tokenDto, formDTO);
//推送MQ事件
editResiMq(formDTO.getCustomerId(), resiUserId);
return new Result();

21
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/OperUserController.java

@ -18,6 +18,9 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
@ -29,9 +32,11 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.OperUserDTO;
import com.epmet.dto.PasswordDTO;
import com.epmet.dto.result.QueryOperUserResultDto;
import com.epmet.excel.OperUserExcel;
import com.epmet.service.OperUserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -82,6 +87,22 @@ public class OperUserController {
return new Result();
}
/**
* desc:修改运营端用户 密码
* @param tokenDto
* @param dto
* @return
*/
@PostMapping(value = "updatePwd")
public Result updatePwd(@LoginUser TokenDto tokenDto,@RequestBody PasswordDTO dto) {
if (StringUtils.isBlank(dto.getNewPassword()) && AppClientConstant.APP_OPER.equals(tokenDto.getClient())){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"参数错误","参数错误");
}
operUserService.updatePwd(tokenDto.getUserId(),dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids) {
//效验数据

38
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java

@ -88,7 +88,14 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
String staffOrgPath);
/**
* @Description 查询个人数据
* @param formDTO
* @author zxc
* @date 2021/11/3 9:21 上午
*/
PersonDataResultDTO personData(PersonDataFormDTO formDTO);
/**
* @Description 根据名字搜索
* @param formDTO
* @Description 根据名字搜索
@ -301,4 +308,35 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
* @date 2022/4/26 10:48
*/
String updateImage(RentTenantFormDTO formDTO);
/**
* 租客房东黑名单查询个人数据
*
* @param formDTO
* @return com.epmet.dto.result.RentTenantDataResultDTO
* @author zhy
* @date 2022/4/26 16:03
*/
RentTenantDataResultDTO getRentResiUserInfo(RentTenantDataFormDTO formDTO);
/**
* 租客房东黑名单查询个人数据
*
* @param idCard
* @return com.epmet.dto.result.RentTenantDataResultDTO
* @author zhy
* @date 2022/4/26 16:03
*/
List<RentTenantDataResultDTO> getRentResiUserInfoByIdCard(String idCard);
/**
* 租客房东根据身份证更新头像
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author zhy
* @date 2022/4/26 10:48
*/
String updateImage(TokenDto tokenDto, RentTenantFormDTO formDTO);
}

10
epmet-user/epmet-user-server/src/main/java/com/epmet/service/OperUserService.java

@ -20,6 +20,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.OperUserDTO;
import com.epmet.dto.PasswordDTO;
import com.epmet.entity.OperUserEntity;
import java.util.List;
@ -99,4 +100,11 @@ public interface OperUserService extends BaseService<OperUserEntity> {
* @return
*/
OperUserDTO getOperUserInfoById(String id);
}
/**
* desc:修改密码
* @param userId
* @param dto
*/
void updatePwd(String userId, PasswordDTO dto);
}

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

@ -259,14 +259,33 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
});
//3.变更记录表和变更记录明细表新增数据
saveUserChangeRecord(tokenDto,map,resiUserId,name);
return resiUserId;
}
/**
* 3.变更记录表和变更记录明细表新增数据
*
* @param tokenDto
* @param map
* @param icUserId
* @param icUserName
* @return void
* @author zhy
* @date 2022/4/29 14:49
*/
private void saveUserChangeRecord(TokenDto tokenDto, LinkedHashMap<String, String> map, String icUserId, String icUserName) {
//变更记录表和变更记录明细表新增数据
CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
//3-1.变更记录表
IcUserChangeRecordEntity changeRecordEntity = new IcUserChangeRecordEntity();
changeRecordEntity.setCustomerId(tokenDto.getCustomerId());
changeRecordEntity.setOperatorId(tokenDto.getUserId());
changeRecordEntity.setIcUserId(resiUserId);
changeRecordEntity.setIcUserId(icUserId);
changeRecordEntity.setOperatorName(staffInfoCache.getRealName());
changeRecordEntity.setIcUserName(name);
changeRecordEntity.setIcUserName(icUserName);
changeRecordEntity.setType("add");
changeRecordEntity.setTypeName("新增");
changeRecordEntity.setBeforeChangeName("-");
@ -274,11 +293,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
changeRecordEntity.setChangeTime(new java.util.Date());
icUserChangeRecordService.insert(changeRecordEntity);
//3-2.变更明细表
List<IcUserChangeDetailedEntity> changeDetailedEntityList = saveChangeRecord(tokenDto, map, resiUserId, changeRecordEntity.getId());
List<IcUserChangeDetailedEntity> changeDetailedEntityList = saveChangeRecord(tokenDto, map, icUserId, changeRecordEntity.getId());
icUserChangeDetailedService.insertBatch(changeDetailedEntityList);
return resiUserId;
}
/**
@ -799,7 +815,93 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
map.put("groupByTables", new ArrayList<>(groupByTables));
return map;
}
/**
* @param formDTO
* @Description 查询个人数据
* @author zxc
* @date 2021/11/3 9:21 上午
*/
@Override
public PersonDataResultDTO personData(PersonDataFormDTO formDTO) {
PersonDataResultDTO personData = baseDao.personData(formDTO.getUserId());
if (null == personData) {
return new PersonDataResultDTO();
}
//新增以下2个返参
ResiUserFormDTO resiUserFormDTO = new ResiUserFormDTO();
resiUserFormDTO.setIcResiUserId(formDTO.getUserId());
resiUserFormDTO.setIdNum(personData.getIdCard());
resiUserFormDTO.setCustomerId(formDTO.getCustomerId());
//根据身份证号+ic_resi_user.id找epmetUserId
ResiUserResDTO resiUserResDTO = userService.findEpmetUser(resiUserFormDTO);
personData.setEpmetUserIdList(null != resiUserResDTO ? resiUserResDTO.getEpmetUserIdList() : new ArrayList<>());
personData.setIcResiUserId(formDTO.getUserId());
// 房屋信息查询
Result<List<String>> listResult = govOrgOpenFeignClient.selectHouseInfoByIdCard(personData.getIdCard(), formDTO.getCustomerId());
if (!listResult.success()) {
throw new RenException("查询房屋信息失败");
}
personData.setHouseInfo(listResult.getData());
// 志愿者处理
if (personData.getIsVolunteer().equals(NumConstant.ONE_STR)) {
List<String> volunteerList = baseDao.selectVolunteerByUserId(formDTO.getUserId());
if (!CollectionUtils.isEmpty(volunteerList)) {
List<String> volunteers = new ArrayList<>();
List<String> finalVolunteers = volunteers;
volunteerList.forEach(v -> {
List<String> collect = Arrays.stream(v.split(",")).collect(Collectors.toList());
finalVolunteers.addAll(collect);
});
volunteers = volunteers.stream().distinct().collect(Collectors.toList());
// 去customize 查询志愿者类别
Result<List<String>> volunteerResult = operCustomizeOpenFeignClient.volunteerLabelByValues(volunteers, personData.getCustomerId());
if (!volunteerResult.success()) {
throw new RenException("查询志愿者类别失败...");
}
personData.setVolunteerCategory(volunteerResult.getData());
}
}
// 网格名
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(personData.getGridId());
if (null != gridInfo) {
personData.setGridName(gridInfo.getGridNamePath());
}
/**
* 人员类别
* 先查询customize配置的
* 再根据配置去查询字段
*/
IcResiCategoryStatsConfigDTO dto = new IcResiCategoryStatsConfigDTO();
dto.setCustomerId(personData.getCustomerId());
Result<List<IcResiCategoryStatsConfigDTO>> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(dto);
if (!categoryListResult.success()) {
throw new RenException("查询客户下的人员类别失败...");
}
List<IcResiCategoryStatsConfigDTO> categoryData = categoryListResult.getData();
if (!CollectionUtils.isEmpty(categoryData)) {
Map<String, List<IcResiCategoryStatsConfigDTO>> groupByStatus = categoryData.stream().collect(Collectors.groupingBy(IcResiCategoryStatsConfigDTO::getStatus));
List<IcResiCategoryStatsConfigDTO> showList = groupByStatus.get(IcPlatformConstant.PERSON_CATEGORY_SHOW);
List<String> personCategoryList = new ArrayList<>();
if (!CollectionUtils.isEmpty(showList)) {
Map<String, List<IcResiCategoryStatsConfigDTO>> groupByTableName = showList.stream().collect(Collectors.groupingBy(IcResiCategoryStatsConfigDTO::getTableName));
groupByTableName.forEach((tableName, list) -> {
List<String> columns = list.stream().map(IcResiCategoryStatsConfigDTO::getColumnName).collect(Collectors.toList());
Map<String, String> result = baseDao.selectPersonType(columns, personData.getCustomerId(), tableName, formDTO.getUserId());
list.forEach(l -> {
result.forEach((k, v) -> {
if (l.getColumnName().equals(k) && v.equals(NumConstant.ONE_STR)) {
personCategoryList.add(l.getLabel());
}
});
});
});
personData.setPersonCategory(personCategoryList);
}
}
return personData;
}
/**
* @param formDTO
* @Description 根据名字搜索
@ -1672,4 +1774,48 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
return resiUserId;
}
@Override
public RentTenantDataResultDTO getRentResiUserInfo(RentTenantDataFormDTO formDTO) {
IcResiUserEntity entity = baseDao.selectById(formDTO.getUserId());
return ConvertUtils.sourceToTarget(entity, RentTenantDataResultDTO.class);
}
@Override
public List<RentTenantDataResultDTO> getRentResiUserInfoByIdCard(String idCard) {
Map<String, Object> params = new HashMap<>(8);
params.put("idCard", idCard);
List<IcResiUserEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, RentTenantDataResultDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public String updateImage(TokenDto tokenDto, RentTenantFormDTO formDTO) {
String resiUserId = "";
IcResiUserDTO userDTO = baseDao.getResiUserByIdCard(formDTO.getIdCard(), formDTO.getCustomerId());
if (null != userDTO) {
resiUserId = userDTO.getId();
// 插入附件头像(只有一张)
List<IcResiUserAttachmentDTO> images = formDTO.getImages();
images.forEach(item -> item.setUserId(userDTO.getId()));
images.forEach(item-> icResiUserAttachmentService.save(item));
} else if (NumConstant.ONE_STR.equals(formDTO.getType())) {
// 如果是新增的租客,需要新增一条信息,不存在的房东就不管了
IcResiUserEntity entity = ConvertUtils.sourceToTarget(formDTO.getUser(), IcResiUserEntity.class);
insert(entity);
resiUserId = entity.getId();
// 变更记录表和变更记录明细表新增数据
LinkedHashMap<String, String> map = new LinkedHashMap();
map.put("AGENCY_ID",entity.getAgencyId());
saveUserChangeRecord(tokenDto,map,resiUserId,entity.getName());
// 新增用户后保存头像信息
List<IcResiUserAttachmentDTO> images = formDTO.getImages();
images.forEach(item -> item.setUserId(entity.getId()));
images.forEach(item -> icResiUserAttachmentService.save(item));
}
return resiUserId;
}
}

14
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java

@ -17,6 +17,7 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
@ -29,6 +30,7 @@ import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.OperUserDao;
import com.epmet.dto.OperUserDTO;
import com.epmet.dto.PasswordDTO;
import com.epmet.entity.OperUserEntity;
import com.epmet.entity.UserEntity;
import com.epmet.feign.OperRoleUserFeignClient;
@ -40,6 +42,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -142,4 +145,15 @@ public class OperUserServiceImpl extends BaseServiceImpl<OperUserDao, OperUserEn
return operUserDao.selectOperUserInfoById(id);
}
@Override
public void updatePwd(String userId, PasswordDTO dto) {
OperUserEntity param = new OperUserEntity();
param.setPassword(PasswordUtils.encode(dto.getNewPassword()));
param.setUpdatedTime(new Date());
param.setUpdatedBy(userId);
LambdaQueryWrapper<OperUserEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(OperUserEntity::getUserId,userId);
baseDao.update(param, lambdaQueryWrapper);
}
}

Loading…
Cancel
Save