From 79883c3462247e015e8485dd2e44b8892feb05b1 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期四, 21 七月 2022 15:59:25 +0800
Subject: [PATCH] bug修改
---
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 116 +++++++++++++++++++++++++---------------------------------
1 files changed, 50 insertions(+), 66 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 a3cc003..daeb6a8 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
@@ -105,6 +105,7 @@
import cn.hutool.core.util.IdcardUtil;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestParam;
// import com.panzhihua.common.service.grid.GridService;
@@ -300,7 +301,7 @@
* @return 用户基本信息、角色
*/
@Override
- public R<LoginUserInfoVO> getUserInfo(String name, int type) {
+ public R<LoginUserInfoVO> getUserInfo(String name, int type,String appId) {
SysUserDO sysUserDO = null;
if (1 == type) {
sysUserDO = userDao.selectOne(
@@ -309,9 +310,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);
@@ -337,11 +338,11 @@
if(StringUtils.isNotEmpty(areaName)){
loginUserInfoVO.setAreaName(areaName);
}
- SysAppConfig sysAppConfig=sysAppConfigDao.selectOne(new QueryWrapper<SysAppConfig>().lambda().eq(SysAppConfig::getAreaCode,comActVO.getAreaCode()));
- if(sysAppConfig!=null){
- loginUserInfoVO.setAppId(sysAppConfig.getAppId());
- loginUserInfoVO.setAppSecret(sysAppConfig.getSecret());
- }
+// SysAppConfig sysAppConfig=sysAppConfigDao.selectOne(new QueryWrapper<SysAppConfig>().lambda().eq(SysAppConfig::getAreaCode,comActVO.getAreaCode()));
+// if(sysAppConfig!=null){
+// loginUserInfoVO.setAppId(sysAppConfig.getAppId());
+// loginUserInfoVO.setAppSecret(sysAppConfig.getSecret());
+// }
}
}
List<SysRoleDO> roleDOList = roleDAO.selectByUserId(sysUserDO.getUserId());
@@ -688,12 +689,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));
@@ -706,43 +705,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());
@@ -1753,9 +1715,9 @@
* @return 协议内容
*/
@Override
- public R userAgreement(int type) {
+ public R userAgreement(int 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));
return R.ok(sysUserAgreementDO);
}
@@ -3445,33 +3407,39 @@
for (UserProportion userProportion : userProportions) {
if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(userProportion)){
UserRateAnalysisVO vo=new UserRateAnalysisVO();
- vo.setName(typeToName(type,userProportion ));
if (monthRange){
+ if (userProportion.getCommunityId().equals("11")){
+ continue;
+ }
//获取本月的用户总数作为计算占比的用户总数
- IndexDataKanbanVO data = userDao.dataKanBanStreet(streetId, areaCode, date);
- vo.setRate(getRate(data.getAllUser(),userProportion.getUser()));
+ //IndexDataKanbanVO data = userDao.dataKanBanStreet(streetId, areaCode, date);
+ Integer monthUsers = userDao.getMonthUsers(streetId, areaCode, date);
+ vo.setRate(getRate(monthUsers,userProportion.getUser()));
}else{
vo.setRate(getRate(analysisVO.getAllUser(),userProportion.getUser()));
}
+ vo.setName(typeToName(type,userProportion ));
vo.setCount(userProportion.getUser());
userRateAnalysisVOList.add(vo);
}
}
}
- //计算其他用户占比
- final Boolean flag=(type.equals(ALLSTREET) || type.equals(ALLCOMMUNITY) || type.equals(BYSTREET) || type.equals(BYAREA));
- if (flag){
- UserRateAnalysisVO vo=new UserRateAnalysisVO();
- vo.setName(OTHERUSER);
- vo.setCount(analysisVO.getAllUser()-countUser(userRateAnalysisVOList));
- vo.setRate(getRate(analysisVO.getAllUser(), vo.getCount()));
- userRateAnalysisVOList.add(vo);
+ if (ObjectUtils.isEmpty(range)){
+ //查看累计数据时才计算其他用户的比例 || type.equals(BYSTREET) || type.equals(BYAREA))
+ final Boolean flag=(type.equals(ALLSTREET) || type.equals(ALLCOMMUNITY));
+ if (flag){
+ UserRateAnalysisVO vo=new UserRateAnalysisVO();
+ vo.setName(OTHERUSER);
+ vo.setCount(analysisVO.getAllUser()-countUser(userRateAnalysisVOList));
+ vo.setRate(getRate(analysisVO.getAllUser(), vo.getCount()));
+ userRateAnalysisVOList.add(vo);
+ }
}
+ //计算其他用户占比
UserRateVO userRate=new UserRateVO();
userRate.setUserList(userRateAnalysisVOList);
return R.ok(userRate);
}
-
@Override
public R realUser(Integer type, Long streetId, Long areaCode, Integer range) {
@@ -3496,8 +3464,20 @@
List<RealUser> realUsers = userDao.realUserCount(type, date, streetId, areaCode);
List<RealUserAnalysisVO> realUserList=new ArrayList<>();
realUserVO.setRealUserCount(getStreetRealUser(realUsers));
- realUserVO.setRealUserRate(NumberUtil.div(realUserVO.getRealUserCount(), analysisVO.getAllUser()).doubleValue());
+ Integer rate = getRate(analysisVO.getAllUser(), realUserVO.getRealUserCount());
+ if (null == rate){
+ realUserVO.setRealUserRate(0.0);
+ }else{
+ realUserVO.setRealUserRate(rate.doubleValue());
+ }
for (RealUser realUser : realUsers) {
+ if (!(type.equals(ALLCOUNTY))){
+ if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(realUser)){
+ if (realUser.getCommunityId().equals("11")){
+ continue;
+ }
+ }
+ }
RealUserAnalysisVO vo=new RealUserAnalysisVO();
vo.setCount(realUser.getCount());
vo.setName(typeToNameRealUser(type, realUser));
@@ -3506,19 +3486,21 @@
realUserVO.setRealUserList(realUserList);
//使用索引迭代避免从列表移除数据后出现空指针异常
if (type.equals(BYSTREET) || type.equals(ALLCOMMUNITY)){
- for (int i = 0; i <= realUserList.size() ; i++) {
+ for (int i = 0; i < realUserList.size() ; i++) {
RealUserAnalysisVO realUserAnalysisVO = realUserList.get(i);
if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(realUserAnalysisVO)){
if (StringUtils.isNotEmpty(realUserAnalysisVO.getName())){
if (realUserAnalysisVO.getName().equals("请选择社区")){
- realUserList.remove(realUserAnalysisVO);
+ realUserList.remove(i);
}
}
}
}
}else {
//只保留十条
- realUserList.remove(10);
+ if (realUserList.size()>=11){
+ realUserList.remove(10);
+ }
}
return R.ok(realUserVO);
}
@@ -3579,7 +3561,6 @@
}
return R.ok();
}
-
@Override
public R getAreaAndStreet() {
List<Integer> areaCodeList=areaCodeList();
@@ -3593,6 +3574,7 @@
}
return R.ok(areaVOList);
}
+
/**
* 获取最近20天数据
@@ -3709,6 +3691,7 @@
break;
case "510402":
name="东区";
+ break;
case "510411":
name="仁和区";
break;
@@ -3726,6 +3709,7 @@
*根据type选择要设置的名称
* */
private String typeToName(Integer type,UserProportion proportion){
+ log.info("当前code"+proportion.getAreaCode());
String name="";
if (type.equals(ALLCOUNTY)){
name=areaCodeToName(proportion.getAreaCode());
--
Gitblit v1.7.1