From 159f9dbb2ea95f8814fb915556a50074439ef221 Mon Sep 17 00:00:00 2001
From: puhanshu <a9236326>
Date: 星期二, 28 九月 2021 14:03:48 +0800
Subject: [PATCH] 修改便民服务新增商家超时问题
---
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/SysUserInputServiceImpl.java | 432 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 422 insertions(+), 10 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/SysUserInputServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/SysUserInputServiceImpl.java
index a35c520..9cbe22a 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/SysUserInputServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/SysUserInputServiceImpl.java
@@ -1,11 +1,423 @@
-package com.panzhihua.service_user.service.impl;/**
-* @program: springcloud_k8s_panzhihuazhihuishequ
-*
-* @description: 居民导入
-*
-* @author: huang.hongfa weixin hhf9596 qq 959656820
-*
-* @create: 2021-02-05 17:42
-**/
-public class SysUserInputServiceImpl {
+package com.panzhihua.service_user.service.impl;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.data.redis.core.ValueOperations;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.model.dtos.community.ExportSpecialUserDTO;
+import com.panzhihua.common.model.dtos.community.ExportUserDTO;
+import com.panzhihua.common.model.dtos.user.ComMngUserTagDTO;
+import com.panzhihua.common.model.dtos.user.EexcelUserDTO;
+import com.panzhihua.common.model.dtos.user.InputUserTagsDTO;
+import com.panzhihua.common.model.dtos.user.PageInputUserDTO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.ComMngStructAreaVO;
+import com.panzhihua.common.model.vos.community.ComMngStructHouseVO;
+import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO;
+import com.panzhihua.common.model.vos.user.ComMngTagVO;
+import com.panzhihua.common.model.vos.user.CommunityUserInfoVO;
+import com.panzhihua.common.model.vos.user.InputUserInfoVO;
+import com.panzhihua.common.utlis.IdCard;
+import com.panzhihua.common.utlis.SensitiveUtil;
+import com.panzhihua.common.utlis.StringUtils;
+import com.panzhihua.service_user.dao.ComMngUserTagDAO;
+import com.panzhihua.service_user.dao.SysUserInputDAO;
+import com.panzhihua.service_user.model.dos.ComMngUserTagDO;
+import com.panzhihua.service_user.model.dos.SysUserInputDO;
+import com.panzhihua.service_user.service.SysUserInputService;
+
+/**
+ * @program: springcloud_k8s_panzhihuazhihuishequ
+ * @description: 居民导入
+ * @author: huang.hongfa weixin hhf9596 qq 959656820
+ * @create: 2021-02-05 17:42
+ **/
+@Service
+public class SysUserInputServiceImpl extends ServiceImpl<SysUserInputDAO, SysUserInputDO>
+ implements SysUserInputService {
+ @Resource
+ private SysUserInputDAO sysUserInputDAO;
+ @Resource
+ private StringRedisTemplate stringRedisTemplate;
+ @Resource
+ private ComMngUserTagDAO comMngUserTagDAO;
+
+ /**
+ * 批量导入居民用户
+ *
+ * @param list
+ * 居民用户集合
+ * @param areaName
+ * 小区名字
+ * @return 导入结果
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R batchSaveUser(List<EexcelUserDTO> list, StringBuffer areaName) {
+ List<SysUserInputDO> sysUserInputDOS = new ArrayList<>();
+ if (!ObjectUtils.isEmpty(list)) {
+ ComMngStructAreaVO comMngStructAreaVO = sysUserInputDAO.selectByAreaName(areaName.toString());
+ // 查询该小区所有房屋信息用来进行匹配房屋编码
+ String key = "house_" + areaName;
+ Boolean aBoolean = stringRedisTemplate.hasKey(key);
+ ValueOperations<String, String> stringStringValueOperations = stringRedisTemplate.opsForValue();
+ List<ComMngStructHouseVO> comMngStructHouseVOS = new ArrayList<>();
+ if (aBoolean) {
+ String value = stringStringValueOperations.get(key);
+ comMngStructHouseVOS = JSONArray.parseArray(value, ComMngStructHouseVO.class);
+ } else {
+ comMngStructHouseVOS = sysUserInputDAO.selectHouserByareaName(areaName.toString());
+ }
+ List<ComMngStructHouseVO> comMngStructHouseVOS1 = comMngStructHouseVOS;
+ list.forEach(eexcelUserDTO -> {
+ // 判断身份证和门牌号是否重复
+ int count = sysUserInputDAO.selectCount(
+ new QueryWrapper<SysUserInputDO>().lambda().eq(SysUserInputDO::getIdCard, eexcelUserDTO.getIdCard())
+ .and(wrapper -> wrapper.eq(SysUserInputDO::getDoorNumber, eexcelUserDTO.getDoorNumber())));
+ if (count == 0) {
+ SysUserInputDO sysUserInputDO = new SysUserInputDO();
+ String doorNumber = eexcelUserDTO.getDoorNumber();
+ // 暂时注释门牌号匹配设置房屋编号功能
+ // List<ComMngStructHouseVO> collect = comMngStructHouseVOS1.stream().filter(comMngStructHouseVO ->
+ // comMngStructHouseVO.getHouseName().equals(doorNumber)).collect(Collectors.toList());
+ // if (ObjectUtils.isEmpty(collect)) {
+ // throw new ServiceException("门牌号后台不存在或格式错误,错误门牌号为"+doorNumber);
+ // }else{
+ // sysUserInputDO.setHouseCode(collect.get(0).getHouseCode());
+ // }
+ sysUserInputDO.setAreaId(comMngStructAreaVO.getId());
+ sysUserInputDO.setCommunityId(comMngStructAreaVO.getCommunityId());
+ sysUserInputDO.setCompany(eexcelUserDTO.getCompany());
+ sysUserInputDO.setDoorNumber(doorNumber);
+ sysUserInputDO.setEducation(eexcelUserDTO.getEducation());
+ sysUserInputDO.setIdCard(eexcelUserDTO.getIdCard());
+ sysUserInputDO.setIsContact(eexcelUserDTO.getIsContact().equals("是") ? 1 : 0);
+ sysUserInputDO.setIsPanzhihua(eexcelUserDTO.getIsPanZhiHua().equals("是") ? 1 : 0);
+ sysUserInputDO.setIsRent(eexcelUserDTO.getIsRent().equals("是") ? 1 : 0);
+ sysUserInputDO.setKeyPersonnel(eexcelUserDTO.getKeyPersonnel().equals("是") ? 1 : 0);
+ sysUserInputDO.setLowincomeHouseholds(eexcelUserDTO.getLowIncomeHouseholds().equals("是") ? 1 : 0);
+ sysUserInputDO.setLowincomePeople(eexcelUserDTO.getLowIncomePeople().equals("是") ? 1 : 0);
+ sysUserInputDO.setMajor(eexcelUserDTO.getMajor().equals("是") ? 1 : 0);
+ sysUserInputDO.setMaritalStatus(eexcelUserDTO.getMaritalStatus().equals("是") ? 1 : 0);
+ sysUserInputDO.setName(eexcelUserDTO.getName());
+ sysUserInputDO.setNation(eexcelUserDTO.getNation());
+ sysUserInputDO.setOldPeople(eexcelUserDTO.getOldPeople().equals("是") ? 1 : 0);
+ sysUserInputDO.setDisability(eexcelUserDTO.getDisability().equals("是") ? 1 : 0);
+ sysUserInputDO.setPhone(eexcelUserDTO.getPhone());
+ String politicalOutlook = eexcelUserDTO.getPoliticalOutlook();
+ if (!ObjectUtils.isEmpty(politicalOutlook)) {
+ sysUserInputDO.setPoliticalOutlook(
+ politicalOutlook.equals("党员") ? 1 : politicalOutlook.equals("团员") ? 2 : 3);
+ } else {
+ sysUserInputDO.setPoliticalOutlook(3);
+ }
+ sysUserInputDO.setResidence(eexcelUserDTO.getResidence());
+ sysUserInputDO.setSituation(eexcelUserDTO.getSituation());
+ sysUserInputDO.setSoldier(eexcelUserDTO.getSoldier().equals("是") ? 1 : 0);
+ sysUserInputDO.setSpecialServiceFamily(eexcelUserDTO.getSpecialServiceFamily().equals("是") ? 1 : 0);
+
+ sysUserInputDOS.add(sysUserInputDO);
+ }
+ });
+ this.saveBatch(sysUserInputDOS);
+ }
+ return R.ok();
+ }
+
+ /**
+ * 社区人员详情包括导入人员
+ *
+ * @param userId
+ * 人员id
+ * @return CommunityUserInfoVO
+ */
+ @Override
+ public CommunityUserInfoVO detailUserComunity(Long userId) {
+ CommunityUserInfoVO communityUserInfoVO = new CommunityUserInfoVO();
+ userId = userId - 100000000l;
+ SysUserInputDO sysUserInputDO = sysUserInputDAO.selectById(userId);
+ if (!org.springframework.util.ObjectUtils.isEmpty(sysUserInputDO)) {
+ BeanUtils.copyProperties(sysUserInputDO, communityUserInfoVO);
+ String idCard = sysUserInputDO.getIdCard();
+ if (!org.springframework.util.ObjectUtils.isEmpty(idCard)) {
+ communityUserInfoVO.setAge(IdCard.IdNOToAge(idCard));
+ communityUserInfoVO.setBirthday(IdCard.birthDay(idCard));
+ communityUserInfoVO.setIdCard(idCard);
+ communityUserInfoVO.setSex(IdCard.sex(idCard));
+ }
+ String phone = sysUserInputDO.getPhone();
+ communityUserInfoVO.setPhone(phone);
+ Integer keyPersonnel = sysUserInputDO.getKeyPersonnel();
+ Integer specialServiceFamily = sysUserInputDO.getSpecialServiceFamily();
+ Integer soldier = sysUserInputDO.getSoldier();
+ Integer lowincomeHouseholds = sysUserInputDO.getLowincomeHouseholds();
+ Integer lowincomePeople = sysUserInputDO.getLowincomePeople();
+ Integer oldPeople = sysUserInputDO.getOldPeople();
+ Integer disability = sysUserInputDO.getDisability();
+
+ StringBuilder stringBuilder = new StringBuilder();
+ if (keyPersonnel.intValue() == 1) {
+ stringBuilder.append("重点人员,");
+ }
+ if (specialServiceFamily.intValue() == 1) {
+ stringBuilder.append("特服家庭,");
+ }
+ if (soldier.intValue() == 1) {
+ stringBuilder.append("军人,");
+ }
+ if (lowincomeHouseholds.intValue() == 1) {
+ stringBuilder.append("低保户,");
+ }
+ if (lowincomePeople.intValue() == 1) {
+ stringBuilder.append("低收入人员,");
+ }
+ if (oldPeople.intValue() == 1) {
+ stringBuilder.append("高龄老人,");
+ }
+ if (disability.intValue() == 1) {
+ stringBuilder.append("残疾人,");
+ }
+ communityUserInfoVO.setTags(stringBuilder.toString());
+ communityUserInfoVO.setUserId(userId);
+ communityUserInfoVO.setIsVolunteer(0);
+ String doorNumber = sysUserInputDO.getDoorNumber();
+ List<ComMngFamilyInfoVO> comMngFamilyInfoVOS = sysUserInputDAO.selectListFamily(doorNumber, userId);
+ communityUserInfoVO.setComMngFamilyInfoVOS(comMngFamilyInfoVOS);
+ }
+ return communityUserInfoVO;
+ }
+
+ @Override
+ public R pageInputUser(PageInputUserDTO pageInputUserDTO) {
+ Page page = new Page<>();
+ Long pageNum = pageInputUserDTO.getPageNum();
+ Long pageSize = pageInputUserDTO.getPageSize();
+ if (null == pageNum || 0 == pageNum) {
+ pageNum = 1l;
+ }
+ if (null == pageSize || 0 == pageSize) {
+ pageSize = 10l;
+ }
+ page.setSize(pageSize);
+ page.setCurrent(pageNum);
+ IPage<InputUserInfoVO> iPage = sysUserInputDAO.pageInputUser(page, pageInputUserDTO);
+ iPage.getRecords().forEach(record -> {
+ record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
+ record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
+ if (!StringUtils.isEmpty(record.getTags()) && record.getTags().endsWith(",")) {
+ record.setTags(record.getTags().substring(0, record.getTags().length() - 1));
+ }
+ });
+ return R.ok(iPage);
+ }
+
+ @Override
+ public R putUserTag(InputUserTagsDTO inputUserTagsDTO) {
+ SysUserInputDO userInputDO = new SysUserInputDO();
+ userInputDO.setId(inputUserTagsDTO.getId());
+ userInputDO.setTags(inputUserTagsDTO.getTags());
+ List<SysUserInputDO> all = sysUserInputDAO
+ .selectList(new QueryWrapper<SysUserInputDO>().lambda().eq(SysUserInputDO::getId, userInputDO.getId()));
+ all.forEach(d -> {
+ if (!StringUtils.isEmpty(d.getTags())) {
+ d.setTags(d.getTags() + "," + inputUserTagsDTO.getTags());
+ } else {
+ d.setTags(inputUserTagsDTO.getTags());
+ }
+ sysUserInputDAO.updateById(userInputDO);
+
+ });
+ return R.ok();
+ }
+
+ @Override
+ public R exportInputUser(ExportUserDTO exportUserDTO) {
+ List<EexcelUserDTO> eexcelUserDTOS = sysUserInputDAO.selectExport(exportUserDTO);
+ return R.ok(eexcelUserDTOS);
+ }
+
+ @Override
+ public R inputUserDetail(Long id) {
+ InputUserInfoVO inputUserInfoVO = new InputUserInfoVO();
+ SysUserInputDO sysUserInputDO = sysUserInputDAO.selectById(id);
+ if (!org.springframework.util.ObjectUtils.isEmpty(sysUserInputDO)) {
+ BeanUtils.copyProperties(sysUserInputDO, inputUserInfoVO);
+ String idCard = sysUserInputDO.getIdCard();
+ if (!org.springframework.util.ObjectUtils.isEmpty(idCard)) {
+ inputUserInfoVO.setAge(IdCard.IdNOToAge(idCard));
+ inputUserInfoVO.setBirthday(IdCard.birthDay(idCard));
+ inputUserInfoVO.setIdCard(idCard);
+ inputUserInfoVO.setSex(IdCard.sex(idCard));
+ }
+ Integer keyPersonnel = sysUserInputDO.getKeyPersonnel();
+ Integer specialServiceFamily = sysUserInputDO.getSpecialServiceFamily();
+ Integer soldier = sysUserInputDO.getSoldier();
+ Integer lowincomeHouseholds = sysUserInputDO.getLowincomeHouseholds();
+ Integer lowincomePeople = sysUserInputDO.getLowincomePeople();
+ Integer oldPeople = sysUserInputDO.getOldPeople();
+ Integer disability = sysUserInputDO.getDisability();
+
+ StringBuilder stringBuilder = new StringBuilder();
+ if (keyPersonnel.intValue() == 1) {
+ stringBuilder.append("重点人员,");
+ }
+ if (specialServiceFamily.intValue() == 1) {
+ stringBuilder.append("特服家庭,");
+ }
+ if (soldier.intValue() == 1) {
+ stringBuilder.append("军人,");
+ }
+ if (lowincomeHouseholds.intValue() == 1) {
+ stringBuilder.append("低保户,");
+ }
+ if (lowincomePeople.intValue() == 1) {
+ stringBuilder.append("低收入人员,");
+ }
+ if (oldPeople.intValue() == 1) {
+ stringBuilder.append("高龄老人,");
+ }
+ if (disability.intValue() == 1) {
+ stringBuilder.append("残疾人,");
+ }
+ inputUserInfoVO.setTags(stringBuilder.toString());
+ String doorNumber = sysUserInputDO.getDoorNumber();
+ List<ComMngFamilyInfoVO> comMngFamilyInfoVOS = sysUserInputDAO.selectListFamily(doorNumber, id);
+ inputUserInfoVO.setComMngFamilyInfoVOS(comMngFamilyInfoVOS);
+ List<ComMngStructHouseVO> comMngStructHouseVOS =
+ sysUserInputDAO.selectUserHouseList(inputUserInfoVO.getIdCard());
+ inputUserInfoVO.setComMngStructHouseVOS(comMngStructHouseVOS);
+ }
+ return R.ok(inputUserInfoVO);
+ }
+
+ @Override
+ public R specialInputUser(PageInputUserDTO pageInputUserDTO) {
+ Page page = new Page<>();
+ Long pageNum = pageInputUserDTO.getPageNum();
+ Long pageSize = pageInputUserDTO.getPageSize();
+ if (null == pageNum || 0 == pageNum) {
+ pageNum = 1l;
+ }
+ if (null == pageSize || 0 == pageSize) {
+ pageSize = 10l;
+ }
+ page.setSize(pageSize);
+ page.setCurrent(pageNum);
+ IPage<InputUserInfoVO> iPage = sysUserInputDAO.specialInputUser(page, pageInputUserDTO);
+ iPage.getRecords().forEach(record -> {
+ record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
+ record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
+ });
+ return R.ok(iPage);
+ }
+
+ @Override
+ public R specialInputUserTags(ComMngUserTagDTO comMngUserTagDTO) {
+ Page page = new Page<>();
+ Long pageNum = comMngUserTagDTO.getPageNum();
+ Long pageSize = comMngUserTagDTO.getPageSize();
+ if (null == pageNum || 0 == pageNum) {
+ pageNum = 1l;
+ }
+ if (null == pageSize || 0 == pageSize) {
+ pageSize = 10l;
+ }
+ page.setSize(pageSize);
+ page.setCurrent(pageNum);
+ IPage<ComMngTagVO> iPage = comMngUserTagDAO.pageSpecialInputUserTags(page, comMngUserTagDTO);
+ return R.ok(iPage);
+ }
+
+ @Override
+ public R saveSpecialInputUserTags(ComMngTagVO comMngTagVO) {
+ if (null != comMngTagVO.getId() && comMngTagVO.getId() != 0) {
+ ComMngUserTagDO comMngUserTagDO = comMngUserTagDAO.selectById(comMngTagVO.getId());
+ if (null == comMngUserTagDO) {
+ return R.fail("标签不存在");
+ }
+ if (comMngUserTagDO.getSysFlag() == 1) {
+ return R.fail("系统预置标签不可修改");
+ }
+ ComMngUserTagDO exist = comMngUserTagDAO.selectOne(
+ new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getTagName, comMngTagVO.getTagName()));
+ if (null != exist && !exist.getId().equals(comMngTagVO.getId())) {
+ return R.fail("标签重复");
+ }
+ comMngUserTagDO.setTagName(comMngTagVO.getTagName());
+ comMngUserTagDAO.updateById(comMngUserTagDO);
+ } else {
+ ComMngUserTagDO comMngUserTagDO = comMngUserTagDAO.getSpecialInputUserTagsByVO(comMngTagVO);
+ if (comMngUserTagDO != null) {
+ return R.fail("标签重复");
+ }
+ ComMngUserTagDO comMngUserTagDO1 = new ComMngUserTagDO();
+ comMngUserTagDO1.setTagName(comMngTagVO.getTagName());
+// comMngUserTagDO1.setCommunityId(comMngTagVO.getCommunityId());
+ comMngUserTagDO1.setSysFlag(0);
+ comMngUserTagDO1.setCreateAt(new Date());
+ comMngUserTagDAO.insert(comMngUserTagDO1);
+ }
+ return R.ok();
+ }
+
+ @Override
+ public R deleteSpecialInputUserTags(Long id) {
+ ComMngUserTagDO comMngUserTagDO = comMngUserTagDAO.selectById(id);
+ if (null == comMngUserTagDO) {
+ return R.fail("标签不存在");
+ }
+ if (comMngUserTagDO.getSysFlag() == 1) {
+ return R.fail("系统预置标签不可删除");
+ }
+ int delete = comMngUserTagDAO.deleteById(id);
+ if (delete > 0) {
+ return R.ok();
+ }
+ return R.fail("删除失败");
+ }
+
+ @Override
+ public R deleteSpecialInputUser(Long id) {
+ SysUserInputDO sysUserInputDO = sysUserInputDAO.selectById(id);
+ if (null == sysUserInputDO) {
+ return R.fail("用户不存在");
+ }
+ List<SysUserInputDO> sysUserInputDOS = sysUserInputDAO.selectList(
+ new QueryWrapper<SysUserInputDO>().lambda().eq(SysUserInputDO::getIdCard, sysUserInputDO.getIdCard()));
+ sysUserInputDOS.forEach(sysUserInput -> {
+ sysUserInput.setTags(null);
+ sysUserInput.setKeyPersonnel(0);
+ sysUserInput.setSpecialServiceFamily(0);
+ sysUserInput.setSoldier(0);
+ sysUserInput.setLowincomeHouseholds(0);
+ sysUserInput.setLowincomePeople(0);
+ sysUserInput.setOldPeople(0);
+ sysUserInput.setDisability(0);
+ });
+ boolean update = this.updateBatchById(sysUserInputDOS);
+ if (update) {
+ return R.ok();
+ }
+ return R.fail();
+ }
+
+ @Override
+ public R specialUserExport(ExportSpecialUserDTO exportSpecialUserDTO) {
+ List<EexcelUserDTO> eexcelUserDTOS = sysUserInputDAO.specialUserExport(exportSpecialUserDTO);
+ return R.ok(eexcelUserDTOS);
+ }
}
--
Gitblit v1.7.1