From 43f0578e80af82ecae6c61b51bd0539c6b960603 Mon Sep 17 00:00:00 2001
From: puhanshu <a9236326>
Date: 星期二, 16 八月 2022 19:08:32 +0800
Subject: [PATCH] 服务范围优化
---
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 230 ++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 184 insertions(+), 46 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
index af569a8..dfc8765 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -13,9 +13,12 @@
import javax.annotation.Resource;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.NumberUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
@@ -41,6 +44,7 @@
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -310,9 +314,9 @@
LambdaQueryWrapper<SysUserDO> wrapper = new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type);
if (type == 11) {
//只允许通过account登录
- wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name));
+ wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name).eq(SysUserDO::getAppId,appId));
} else {
- wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name).or()
+ wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAppId,appId).eq(SysUserDO::getAccount, name).or()
.eq(SysUserDO::getPhone, name));
}
sysUserDO = userDao.selectOne(wrapper);
@@ -689,12 +693,10 @@
@Override
public R<LoginUserInfoVO> detailUser(Long userId) {
LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO();
- if (userId < 100000000l) {
SysUserDO sysUserDO = userDao.selectById(userId);
if (ObjectUtils.isEmpty(sysUserDO)) {
return R.fail("人员不存在");
}
-
BeanUtils.copyProperties(sysUserDO, loginUserInfoVO);
List<ComMngFamilyInfoDO> comMngFamilyInfoDOS = comMngFamilyInfoDAO
.selectList(new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getUserId, userId));
@@ -707,43 +709,6 @@
});
loginUserInfoVO.setComMngFamilyInfoVOS(comMngFamilyInfoVOS);
}
-
- } else {
- // 导入社区人员
- SysUserInputDO sysUserInputDO = sysUserInputDAO.selectById(userId - 100000000);
- if (ObjectUtils.isEmpty(sysUserInputDO)) {
- return R.fail("人员不存在");
- }
- String name1 = sysUserInputDO.getName();
- BeanUtils.copyProperties(sysUserInputDO, loginUserInfoVO);
- String doorNumber = sysUserInputDO.getDoorNumber();
- Long areaId = sysUserInputDO.getAreaId();
- List<SysUserInputDO> sysUserInputDOS = sysUserInputDAO.selectList(new QueryWrapper<SysUserInputDO>()
- .lambda().eq(SysUserInputDO::getDoorNumber, doorNumber).eq(SysUserInputDO::getAreaId, areaId));
- if (!ObjectUtils.isEmpty(sysUserInputDOS)) {
- List<ComMngFamilyInfoVO> comMngFamilyInfoVOS = new ArrayList<>();
- sysUserInputDOS.forEach(sysUserInputDO1 -> {
- String name = sysUserInputDO1.getName();
- if (name1.equals(name)) {
- return;
- }
- Integer isRent = sysUserInputDO1.getIsRent();
- ComMngFamilyInfoVO comMngFamilyInfoVO = new ComMngFamilyInfoVO();
- comMngFamilyInfoVO.setIdCard(SensitiveUtil.desensitizedIdNumber(sysUserInputDO1.getIdCard()));
- comMngFamilyInfoVO.setName(name);
- comMngFamilyInfoVO.setPhone(SensitiveUtil.desensitizedPhoneNumber(sysUserInputDO1.getPhone()));
- if (isRent.intValue() == 0) {
- comMngFamilyInfoVO.setRelationship("家人");
- } else {
- comMngFamilyInfoVO.setRelationship("合租");
- }
- comMngFamilyInfoVO.setAge(IdCard.IdNOToAge(sysUserInputDO1.getIdCard()));
- comMngFamilyInfoVOS.add(comMngFamilyInfoVO);
- });
- loginUserInfoVO.setComMngFamilyInfoVOS(comMngFamilyInfoVOS);
- }
-
- }
ComActVO comActVO = userDao.selectCommunity(loginUserInfoVO.getCommunityId());
if (!ObjectUtils.isEmpty(comActVO)) {
String areaName=userDao.selectAreaCodeByStreetId(comActVO.getStreetId());
@@ -2075,9 +2040,9 @@
* @return 协议内容
*/
@Override
- public R agreement(Integer type) {
+ public R agreement(Integer type,String appId) {
SysUserAgreementDO sysUserAgreementDO = sysUserAgreementDAO
- .selectOne(new QueryWrapper<SysUserAgreementDO>().lambda().eq(SysUserAgreementDO::getType, type));
+ .selectOne(new QueryWrapper<SysUserAgreementDO>().lambda().eq(SysUserAgreementDO::getType, type).eq(SysUserAgreementDO::getAppId,appId));
if (ObjectUtils.isEmpty(sysUserAgreementDO)) {
return R.fail("协议不存在");
}
@@ -3568,7 +3533,6 @@
return R.ok(vo);
}
-
@Override
public R uuPush(String washPhone,String phone,String washName,Integer orderStatus) {
if(StringUtils.isNotEmpty(phone)){
@@ -3601,6 +3565,109 @@
return R.ok();
}
@Override
+ public R getCommunityList(String name,Long id) {
+ //区级账号名
+ String[] streetList={"bingcaogangjiedao","donghuajiedao","nongnongpingjiedao","dadukoujiedaojiedao","guazipingjiedao",
+ "yinjiangzhen","qingxiangpingjiedao","yuquanjiedao","hemenkoujiedao","dabaodingjiedao","taojiadujiedao","gelipinzhen","dahezhonglujiedao",
+ "jingjiangzhen","renhezhen","pingdizhen","datianzhen","tongdezhen","futianzhen","qianjinzhen","panlianzhen","binguzhen","baimazhen",
+ "salianzhen","puweizhen","deshizhen","wanqiuyizuxiang","caochangzhen","xinshanlisuzuxiang","tongzilinzhen","yongxingzhen","yumenzhen",
+ "honggezhen","hongguoyizuxiang"};
+ List<Integer> ids = userDao.selectIdsByAccount(streetList);
+ //村或社区账号
+ Integer type=isVilliage(name);
+ //是否为市级账号
+ Boolean cityAccount = isCityAccount(name);
+ if (cityAccount){
+ List<Integer> areaList=areaCodeList();
+ List<AreaVOS> areaVOList=new ArrayList<>();
+ for (Integer code : areaList) {
+ AreaVOS areaVO=new AreaVOS();
+ areaVO.setId(code);
+ areaVO.setName(areaCodeToName(code.longValue()));
+ List<StreetVOS> streetVOS = userDao.selectStreetByAreaCode(code);
+ Iterator<StreetVOS> iterator = streetVOS.listIterator();
+ while (iterator.hasNext()){
+ StreetVOS vo = iterator.next();
+ List<CommunityVO> communityVOS = userDao.selectCommunityByStreetId(vo.getId(), type);
+ vo.setChildList(communityVOS);
+ if (type!=3){
+ if (communityVOS==null || communityVOS.size()==0){
+ iterator.remove();
+ }
+ }
+ }
+ areaVO.setChildList(streetVOS);
+ areaVOList.add(areaVO);
+ }
+ return R.ok(areaVOList);
+ }else{
+ Boolean areaAccount = isAreaAccount(name);
+ if (areaAccount){
+ Integer areaCode = accountToCode(name);
+ List<Integer> areaList=new ArrayList<>();
+ areaList.add(areaCode);
+ List<AreaVOS> areaVOList=new ArrayList<>();
+ for (Integer code : areaList) {
+ AreaVOS areaVO=new AreaVOS();
+ areaVO.setId(code);
+ areaVO.setName(areaCodeToName(code.longValue()));
+ List<StreetVOS> streetVOS = userDao.selectStreetByAreaCode(code);
+ Iterator<StreetVOS> iterator = streetVOS.listIterator();
+ while (iterator.hasNext()){
+ StreetVOS vo = iterator.next();
+ List<CommunityVO> communityVOS = userDao.selectCommunityByStreetId(vo.getId(), type);
+ vo.setChildList(communityVOS);
+ }
+ areaVO.setChildList(streetVOS);
+ areaVOList.add(areaVO);
+ }
+ return R.ok(areaVOList);
+ }else{
+ //非区县账号,只看街道下属社区
+ if (ArrayUtil.contains(streetList, name)){
+ List<StreetVOS> list=new ArrayList<>();
+ //只看当前街道下属社区
+ StreetVOS streetVOS = userDao.selectStreetByName(name);
+ List<CommunityVO> communityVOS = userDao.selectCommunityByStreetName(name);
+ if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(streetVOS)) {
+ streetVOS.setChildList(communityVOS);
+ }
+ list.add(streetVOS);
+ return R.ok(list);
+ }
+ }
+ }
+ return R.ok(null);
+ }
+
+ @Override
+ public R resetPassword(Integer type, String account) {
+ SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount,account).eq(SysUserDO::getType,type));
+ if(sysUserDO!=null){
+ sysUserDO.setPassword("$2a$10$F/2lE2NMhKNHJfi5.FLmfu7jIr7ImRWgCTTeO6m3IRNR2V4sv8YR.");
+ userDao.updateById(sysUserDO);
+ }
+ return R.ok();
+ }
+
+ @Override
+ public R tfLogin(UuLoginVO uuLoginVO) {
+ SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone,uuLoginVO.getMobile()).eq(SysUserDO::getType,16));
+ if(sysUserDO==null){
+ sysUserDO=new SysUserDO();
+ sysUserDO.setPassword("$2a$10$F/2lE2NMhKNHJfi5.FLmfu7jIr7ImRWgCTTeO6m3IRNR2V4sv8YR.");
+ sysUserDO.setType(16);
+ sysUserDO.setStatus(1);
+ sysUserDO.setPhone(uuLoginVO.getMobile());
+ sysUserDO.setAccount(uuLoginVO.getMobile());
+ sysUserDO.setAppId("wx0cef797390444b75");
+ userDao.insert(sysUserDO);
+ }
+ return R.ok();
+ }
+
+
+ @Override
public R getAreaAndStreet() {
List<Integer> areaCodeList=areaCodeList();
List<AreaVO> areaVOList=new ArrayList<>();
@@ -3608,7 +3675,7 @@
AreaVO vo=new AreaVO();
vo.setId(code);
vo.setName(areaCodeToName(code.longValue()));
- vo.setStreetList(userDao.selectStreetByAreaCode(code));
+ vo.setStreetList(userDao.selectStreetsByAreaCode(code));
areaVOList.add(vo);
}
return R.ok(areaVOList);
@@ -3740,6 +3807,9 @@
case "510422":
name="盐边县";
break;
+ case "510424":
+ name="钒钛新区";
+ break;
}
return name;
}
@@ -3780,11 +3850,12 @@
* */
private List<Integer> areaCodeList(){
List<Integer> list=new ArrayList<>();
- list.add(510423);
list.add(510402);
+ list.add(510423);
list.add(510411);
list.add(510421);
list.add(510422);
+ list.add(510424);
return list;
}
@@ -3807,6 +3878,73 @@
return null;
}
+ /**
+ * 是否需要区分村落/社区
+ * */
+ private Integer isVilliage(String name){
+ if ("fangyipingtai".equals(name)){
+ return 3;
+ }else if ("pandashujuzhongxin".equals(name)){
+ return 1;
+ }else if ("pannongyenongcunju".equals(name)){
+ return 2;
+ }
+ return 3;
+ }
+ /**
+ * 是否为市级账号
+ * */
+ private Boolean isCityAccount(String name){
+ if(("fangyipingtai").equals(name) || ("pandashujuzhongxin").equals(name) || ("pannongyenongcunju").equals(name)){
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * 是否为区级账号
+ * */
+ private Boolean isAreaAccount(String name){
+ Boolean flag=false;
+ switch (name){
+ case "dongqu":
+ case "xiqu":
+ case "renhequ":
+ case "miyixian":
+ case "yanbianxian":
+ flag=true;
+ break;
+ }
+ return flag;
+ }
+
+ /**
+ * account转区areaCode
+ * */
+ private Integer accountToCode(String code){
+ String name="100000";
+ switch (code){
+ case "xiqu" :
+ name= "510423";
+ break;
+ case "dongqu":
+ name="510402";
+ break;
+ case "renhequ":
+ name="510411";
+ break;
+ case "miyixian":
+ name="510421";
+ break;
+ case "yanbianxian":
+ name="510422";
+ break;
+ case "fantaixinqu":
+ name="510424";
+ break;
+ }
+ return Integer.parseInt(name);
+ }
}
--
Gitblit v1.7.1