diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml
index 18c98bf5aa..56bde19105 100644
--- a/epmet-gateway/pom.xml
+++ b/epmet-gateway/pom.xml
@@ -379,6 +379,8 @@
lb://tduck-api
+
+ lb://pli-power-base-server
https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4
SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd
diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml
index 691c441552..a1d2a74c11 100644
--- a/epmet-gateway/src/main/resources/bootstrap.yml
+++ b/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/**
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java
index 34628a197f..3bf68a00ca 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java
+++ b/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>}
* @Author zhaoqifeng
* @Date 2021/10/26 14:02
+ * !!!:此接口给城阳小程序使用,已经在gateway中放开此接口无需校验token
*/
@PostMapping("gridoption")
public Result> getGridOption(@RequestBody GridOptionFormDTO formDTO){
diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/controller/ResiMineGridController.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/controller/ResiMineGridController.java
index 606d4d9d44..318b7f6aa6 100644
--- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/controller/ResiMineGridController.java
+++ b/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 latestGridInfo(@LoginUser TokenDto token, @RequestParam("appId") String appId) {
+ //public Result latestGridInfo(@LoginUser TokenDto token, @RequestParam("appId") String appId) {
+ public Result 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().ok(resiMineGridService.latestGridInfo(formDTO));
}
diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java
index 68ac4ef3c1..3778e941c3 100644
--- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java
+++ b/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 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 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)));
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
index f2bbbf32f8..aa0cb1e7f9 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
+++ b/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> userChartList(UserChartFormDTO userDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "userChartList", userDTO);
}
+
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
index 6fb974f26d..a6f696a39f 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
+++ b/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();
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/OperUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/OperUserController.java
index fabb61d0a0..02d15a0b46 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/OperUserController.java
+++ b/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) {
//效验数据
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
index 9a4a5c48a3..ca9a6d3af3 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
@@ -88,7 +88,14 @@ public interface IcResiUserService extends BaseService {
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 {
* @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 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);
+
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/OperUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/OperUserService.java
index fd7b4f60e8..4aff1ed012 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/OperUserService.java
+++ b/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 {
* @return
*/
OperUserDTO getOperUserInfoById(String id);
-}
\ No newline at end of file
+
+ /**
+ * desc:修改密码
+ * @param userId
+ * @param dto
+ */
+ void updatePwd(String userId, PasswordDTO dto);
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
index 6cee68d249..233df4117a 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
@@ -259,14 +259,33 @@ public class IcResiUserServiceImpl extends BaseServiceImpl 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 changeDetailedEntityList = saveChangeRecord(tokenDto, map, resiUserId, changeRecordEntity.getId());
+ List changeDetailedEntityList = saveChangeRecord(tokenDto, map, icUserId, changeRecordEntity.getId());
icUserChangeDetailedService.insertBatch(changeDetailedEntityList);
-
- return resiUserId;
-
}
/**
@@ -799,7 +815,93 @@ public class IcResiUserServiceImpl extends BaseServiceImpl(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> 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 volunteerList = baseDao.selectVolunteerByUserId(formDTO.getUserId());
+ if (!CollectionUtils.isEmpty(volunteerList)) {
+ List volunteers = new ArrayList<>();
+ List finalVolunteers = volunteers;
+ volunteerList.forEach(v -> {
+ List collect = Arrays.stream(v.split(",")).collect(Collectors.toList());
+ finalVolunteers.addAll(collect);
+ });
+ volunteers = volunteers.stream().distinct().collect(Collectors.toList());
+ // 去customize 查询志愿者类别
+ Result> 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> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(dto);
+ if (!categoryListResult.success()) {
+ throw new RenException("查询客户下的人员类别失败...");
+ }
+ List categoryData = categoryListResult.getData();
+ if (!CollectionUtils.isEmpty(categoryData)) {
+ Map> groupByStatus = categoryData.stream().collect(Collectors.groupingBy(IcResiCategoryStatsConfigDTO::getStatus));
+ List showList = groupByStatus.get(IcPlatformConstant.PERSON_CATEGORY_SHOW);
+ List personCategoryList = new ArrayList<>();
+ if (!CollectionUtils.isEmpty(showList)) {
+ Map> groupByTableName = showList.stream().collect(Collectors.groupingBy(IcResiCategoryStatsConfigDTO::getTableName));
+ groupByTableName.forEach((tableName, list) -> {
+ List columns = list.stream().map(IcResiCategoryStatsConfigDTO::getColumnName).collect(Collectors.toList());
+ Map 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 getRentResiUserInfoByIdCard(String idCard) {
+ Map params = new HashMap<>(8);
+ params.put("idCard", idCard);
+ List 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 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 map = new LinkedHashMap();
+ map.put("AGENCY_ID",entity.getAgencyId());
+ saveUserChangeRecord(tokenDto,map,resiUserId,entity.getName());
+ // 新增用户后保存头像信息
+ List images = formDTO.getImages();
+ images.forEach(item -> item.setUserId(entity.getId()));
+ images.forEach(item -> icResiUserAttachmentService.save(item));
+ }
+
+ return resiUserId;
+ }
+
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java
index aba125363b..f3dddd6a59 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java
+++ b/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 lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ lambdaQueryWrapper.eq(OperUserEntity::getUserId,userId);
+ baseDao.update(param, lambdaQueryWrapper);
+ }
+
}