From 38596b03540250dd7de85c49f53ece5dd6bfe5b7 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期四, 10 十一月 2022 13:19:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/huacheng_test' into huacheng_test
---
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 555 +++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 438 insertions(+), 117 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 dabbc24..36aee16 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
@@ -1,54 +1,42 @@
package com.panzhihua.service_user.service.impl;
+import static java.util.Objects.isNull;
+import static java.util.Objects.nonNull;
+import static org.apache.commons.lang3.StringUtils.isNotBlank;
+
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
+
+import javax.annotation.Resource;
+
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.IdcardUtil;
import cn.hutool.core.util.NumberUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.core.util.*;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.panzhihua.common.constants.Constants;
-import com.panzhihua.common.constants.UserConstants;
-import com.panzhihua.common.exceptions.ServiceException;
-import com.panzhihua.common.model.dtos.DataKanBansDto;
-import com.panzhihua.common.model.dtos.PageDTO;
-import com.panzhihua.common.model.dtos.community.ExportUserDTO;
-import com.panzhihua.common.model.dtos.community.NoticeReadDTO;
-import com.panzhihua.common.model.dtos.community.convenient.ConvenientMerchantDTO;
-import com.panzhihua.common.model.dtos.community.convenient.DisableOrEnableConvenientMerchantDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.BindUserPhoneDTO;
-import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsMerchantDTO;
-import com.panzhihua.common.model.dtos.grid.*;
import com.panzhihua.common.model.dtos.partybuilding.ComPbCheckUserDTO;
-import com.panzhihua.common.model.dtos.user.*;
-import com.panzhihua.common.model.vos.*;
-import com.panzhihua.common.model.vos.community.*;
+import com.panzhihua.common.model.vos.community.ComAreaTownCommunityVO;
import com.panzhihua.common.model.vos.community.acid.ComActAcidCheckRecordVO;
import com.panzhihua.common.model.vos.community.acid.ComActAcidMemberVO;
import com.panzhihua.common.model.vos.community.acid.ComActAcidRecordVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.McsLoginUserInfoVO;
-import com.panzhihua.common.model.vos.grid.GridMemberVO;
-import com.panzhihua.common.model.vos.grid.admin.GridMemberBuildingVO;
-import com.panzhihua.common.model.vos.partybuilding.ActivityManagerVO;
-import com.panzhihua.common.model.vos.shop.ShopStoreVO;
+import com.panzhihua.common.model.vos.sanshuo.ComSanshuoExpertVO;
import com.panzhihua.common.model.vos.user.*;
+import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.utlis.*;
import com.panzhihua.service_user.dao.*;
import com.panzhihua.service_user.entity.SysAppConfig;
import com.panzhihua.service_user.entity.SysTemplateConfig;
-import com.panzhihua.service_user.model.dos.*;
-import com.panzhihua.service_user.model.dtos.DataKanbanDTO;
-import com.panzhihua.service_user.service.EventGridMemberBuildingRelationService;
-import com.panzhihua.service_user.service.UserService;
-import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;
import org.springframework.beans.BeanUtils;
@@ -59,16 +47,68 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.panzhihua.common.constants.Constants;
+import com.panzhihua.common.constants.UserConstants;
+import com.panzhihua.common.exceptions.ServiceException;
+import com.panzhihua.common.model.dtos.DataKanBansDto;
+import com.panzhihua.common.model.dtos.PageDTO;
+import com.panzhihua.common.model.dtos.community.ExportUserDTO;
+import com.panzhihua.common.model.dtos.community.NoticeReadDTO;
+import com.panzhihua.common.model.dtos.community.convenient.ConvenientMerchantDTO;
+import com.panzhihua.common.model.dtos.community.convenient.DisableOrEnableConvenientMerchantDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsMerchantDTO;
+import com.panzhihua.common.model.dtos.grid.EventGridMemberAddDTO;
+import com.panzhihua.common.model.dtos.grid.EventGridMemberEditAdminDTO;
+import com.panzhihua.common.model.dtos.grid.EventGridMemberEditStatusDTO;
+import com.panzhihua.common.model.dtos.grid.EventGridMemberPassResetDTO;
+import com.panzhihua.common.model.dtos.grid.PageEventGridMemberRelationDTO;
+import com.panzhihua.common.model.dtos.user.EexcelUserDTO;
+import com.panzhihua.common.model.dtos.user.PageFeedBackDTO;
+import com.panzhihua.common.model.dtos.user.PageUserAppletsBackstageDTO;
+import com.panzhihua.common.model.dtos.user.SysUserEditTipsDTO;
+import com.panzhihua.common.model.dtos.user.SysUserFeedbackDTO;
+import com.panzhihua.common.model.vos.AppletUserInfoVO;
+import com.panzhihua.common.model.vos.EditUserInfoPassAppDTO;
+import com.panzhihua.common.model.vos.IndexDataKanbanVO;
+import com.panzhihua.common.model.vos.IndexDataVO;
+import com.panzhihua.common.model.vos.LoginUserInfoVO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.SystemmanagementConfigVO;
+import com.panzhihua.common.model.vos.community.ComActVO;
+import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO;
+import com.panzhihua.common.model.vos.community.IndexUserCommunityVo;
+import com.panzhihua.common.model.vos.community.IndexUserStatisticsVo;
+import com.panzhihua.common.model.vos.community.IndexUserStreetVo;
+import com.panzhihua.common.model.vos.grid.GridMemberVO;
+import com.panzhihua.common.model.vos.grid.admin.GridMemberBuildingVO;
+import com.panzhihua.common.model.vos.partybuilding.ActivityManagerVO;
+import com.panzhihua.common.model.vos.shop.ShopStoreVO;
+import com.panzhihua.service_user.model.dos.ComActFourMember;
+import com.panzhihua.service_user.model.dos.ComMngFamilyInfoDO;
+import com.panzhihua.service_user.model.dos.ComMngUserTagDO;
+import com.panzhihua.service_user.model.dos.EventGridMemberBuildingRelationDO;
+import com.panzhihua.service_user.model.dos.LcCompareCodeMemberDO;
+import com.panzhihua.service_user.model.dos.SysMenuDO;
+import com.panzhihua.service_user.model.dos.SysOperLogDO;
+import com.panzhihua.service_user.model.dos.SysRoleDO;
+import com.panzhihua.service_user.model.dos.SysRoleMenuDO;
+import com.panzhihua.service_user.model.dos.SysUserAgreementDO;
+import com.panzhihua.service_user.model.dos.SysUserDO;
+import com.panzhihua.service_user.model.dos.SysUserFeedbackDO;
+import com.panzhihua.service_user.model.dos.SysUserNoticeDO;
+import com.panzhihua.service_user.model.dos.SysUserRoleDO;
+import com.panzhihua.service_user.model.dtos.DataKanbanDTO;
+import com.panzhihua.service_user.model.dtos.UsersStatisticsDTO;
+import com.panzhihua.service_user.service.EventGridMemberBuildingRelationService;
+import com.panzhihua.service_user.service.UserService;
-import static java.util.Objects.isNull;
-import static java.util.Objects.nonNull;
-import static org.apache.commons.lang3.StringUtils.isNotBlank;
+import cn.hutool.core.util.IdcardUtil;
+import lombok.extern.slf4j.Slf4j;
// import com.panzhihua.common.service.grid.GridService;
@@ -124,15 +164,15 @@
private SysTemplateConfigDao sysTemplateConfigDao;
@Resource
private ObjectMapper objectMapper;
- private static final Integer ALLCOUNTY = 1;
- private static final Integer ALLSTREET = 2;
- private static final Integer ALLCOMMUNITY = 3;
- private static final Integer BYSTREET = 4;
- private static final Integer BYAREA = 5;
- private static final String OTHERUSER = "其他用户";
- private static final String UPDATEACIDCHECKRECORD = "修改排查数据";
- private static final String UPDATEACIDMEMBER = "修改防疫工作人员信息";
- private static final String UPDATEACIDRECORD = "修改防疫信息数据";
+ private static final Integer ALLCOUNTY=1;
+ private static final Integer ALLSTREET=2;
+ private static final Integer ALLCOMMUNITY=3;
+ private static final Integer BYSTREET=4;
+ private static final Integer BYAREA=5;
+ private static final String OTHERUSER="其他用户";
+ private static final String UPDATEACIDCHECKRECORD="修改排查数据";
+ private static final String UPDATEACIDMEMBER="修改防疫工作人员信息";
+ private static final String UPDATEACIDRECORD="修改防疫信息数据";
// @Resource
// private GridService gridService;
@@ -141,13 +181,17 @@
// String encode = new BCryptPasswordEncoder().encode("lbsq123456");
// System.out.println(encode);
- List<String> dates = new ArrayList<>();
+// List<String> dates = new ArrayList<>();
+// Date date = new Date();
+// for (int i = 19; i >= 0; i--) {
+// Date date1 = DateUtils.addDays(date, -i);
+// dates.add(DateFormatUtils.format(date1, "MM-dd"));
+// }
+// System.out.println(dates);
+
Date date = new Date();
- for (int i = 19; i >= 0; i--) {
- Date date1 = DateUtils.addDays(date, -i);
- dates.add(DateFormatUtils.format(date1, "MM-dd"));
- }
- System.out.println(dates);
+ Long offset = DateUtil.between(new Date(), DateUtil.beginOfMonth(date), DateUnit.DAY);
+ System.out.println(offset);
// BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
// boolean matches = encoder.matches("admin1234567", encode);
@@ -180,6 +224,10 @@
sysUserDO1.setPassword(encode);
sysUserDO1.setType(1);
sysUserDO1.setAppId(appId);
+ //设置默认头像地址
+ sysUserDO1.setImageUrl("https://www.psciio.com//idcard/f15c91f940624ed59537ecced1059f18.jpg");
+ //设置默认用户名
+ sysUserDO1.setNickName("用户" + RandomUtil.randomString(8));
num = userDao.insert(sysUserDO1);
} else {
String encode = new BCryptPasswordEncoder().encode(UserConstants.PASSWORD);
@@ -255,18 +303,25 @@
* @return 用户基本信息、角色
*/
@Override
- public R<LoginUserInfoVO> getUserInfo(String name, int type, String appId) {
+ public R<LoginUserInfoVO> getUserInfo(String name, int type,String appId) {
+ //是否为三说会堂行业分中心或专家后台账号
SysUserDO sysUserDO = null;
+ Boolean isIndustryOrExpertAccount=(userDao.isIndustryCenterAccount(name)>0 || userDao.isExpertAccount(name)>0);
if (1 == type) {
sysUserDO = userDao.selectOne(
- new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type).eq(SysUserDO::getOpenid, name));
- } else {
+ new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type).eq(SysUserDO::getOpenid, name).eq(SysUserDO::getAppId, appId));
+ }else if(isIndustryOrExpertAccount) {
+ //三说会堂行业分中心或专家后台账号登陆
+ sysUserDO = userDao.selectOne(
+ new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount, name).eq(SysUserDO::getAppId, appId));
+ }
+ else {
LambdaQueryWrapper<SysUserDO> wrapper = new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type);
if (type == 11) {
//只允许通过account登录
- wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name).eq(SysUserDO::getAppId, appId));
+ wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name).eq(SysUserDO::getAppId,appId));
} else {
- wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAppId, appId).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);
@@ -276,6 +331,9 @@
return R.fail();
}
LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO();
+ if (nonNull(sysUserDO.getStreetId())){
+ loginUserInfoVO.setStreetId(sysUserDO.getStreetId());
+ }
loginUserInfoVO.setUserId(sysUserDO.getUserId());
loginUserInfoVO.setName(sysUserDO.getName());
loginUserInfoVO.setPassword(sysUserDO.getPassword());
@@ -283,13 +341,13 @@
loginUserInfoVO.setAccount(name);
loginUserInfoVO.setType(sysUserDO.getType());
loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard() != null);// 暂时 身份证判断实名制
- if (sysUserDO.getCommunityId() != null) {
+ if(sysUserDO.getCommunityId()!=null){
ComActVO comActVO = userDao.selectCommunity(sysUserDO.getCommunityId());
loginUserInfoVO.setCommunityId(sysUserDO.getCommunityId());
- if (comActVO != null) {
+ if(comActVO!=null){
loginUserInfoVO.setComActVO(comActVO);
- String areaName = userDao.selectAreaCodeByStreetId(comActVO.getStreetId());
- if (StringUtils.isNotEmpty(areaName)) {
+ String areaName=userDao.selectAreaCodeByStreetId(comActVO.getStreetId());
+ if(StringUtils.isNotEmpty(areaName)){
loginUserInfoVO.setAreaName(areaName);
}
// SysAppConfig sysAppConfig=sysAppConfigDao.selectOne(new QueryWrapper<SysAppConfig>().lambda().eq(SysAppConfig::getAreaCode,comActVO.getAreaCode()));
@@ -305,6 +363,13 @@
roleDOList.forEach(sysRoleDO -> {
set.add(sysRoleDO.getRoleKey());
});
+ }
+ //是否为人大代表
+ if (StringUtils.isNotEmpty(sysUserDO.getPhone()) && StringUtils.isNotEmpty(sysUserDO.getName())){
+ int i = userDao.isDpcMember(sysUserDO.getPhone(), sysUserDO.getName());
+ if (i>0){
+ loginUserInfoVO.setIsDpcMember(1);
+ }
}
return R.ok(loginUserInfoVO);
}
@@ -348,8 +413,8 @@
loginUserInfoVO.setCommunityName(comActVO.getName());
loginUserInfoVO.setComActVO(comActVO);
loginUserInfoVO.setAreaCode(comActVO.getAreaCode());
- SysAppConfig sysAppConfig = sysAppConfigDao.selectOne(new QueryWrapper<SysAppConfig>().lambda().eq(SysAppConfig::getAreaCode, comActVO.getAreaCode()));
- if (sysAppConfig != null) {
+ SysAppConfig sysAppConfig=sysAppConfigDao.selectOne(new QueryWrapper<SysAppConfig>().lambda().eq(SysAppConfig::getAreaCode,comActVO.getAreaCode()));
+ if(sysAppConfig!=null){
loginUserInfoVO.setAppId(sysAppConfig.getAppId());
loginUserInfoVO.setAppSecret(sysAppConfig.getSecret());
}
@@ -364,8 +429,8 @@
loginUserInfoVO.setVolunteerStatus(state);
}
//是否四长四员
- Integer countFourMember = comActFourMemberDao.selectCount(new QueryWrapper<ComActFourMember>().lambda().eq(ComActFourMember::getIdCard, sysUserDO.getIdCard()));
- if (countFourMember > 0) {
+ Integer countFourMember=comActFourMemberDao.selectCount(new QueryWrapper<ComActFourMember>().lambda().eq(ComActFourMember::getIdCard,sysUserDO.getIdCard()));
+ if(countFourMember>0){
loginUserInfoVO.setIsFourMember(1);
}
//是否是社区物业人员
@@ -381,21 +446,24 @@
//是否是防疫工作人员
ComActAcidMemberVO acidMember = userDao.selectAcidMemberByPhone(phone);
if (nonNull(acidMember)) {
- if (acidMember.getRelationName().equals("panzhihua") || acidMember.getRelationName().equals("西区") || acidMember.getRelationName().equals("东区") || acidMember.getRelationName().equals("仁和区") || acidMember.getRelationName().equals("米易县") || acidMember.getRelationName().equals("盐边县")) {
+ if(acidMember.getRelationName().equals("panzhihua")||acidMember.getRelationName().equals("西区")||acidMember.getRelationName().equals("东区")||acidMember.getRelationName().equals("仁和区")||acidMember.getRelationName().equals("米易县")||acidMember.getRelationName().equals("盐边县")){
loginUserInfoVO.setIsAcidMember(1);
- } else {
+ }
+ else {
loginUserInfoVO.setIsAcidMember(2);
}
loginUserInfoVO.setRelationName(acidMember.getRelationName());
}
- Integer count = userDao.selectOrgAdmin(phone);
- if (count > 0) {
+ Integer count=userDao.selectOrgAdmin(phone);
+ if(count>0){
loginUserInfoVO.setIsCheckUnitAdmin(1);
}
- Long checkUnitId = userDao.selectCheckUnitId(phone);
- if (checkUnitId != null) {
+ Long checkUnitId=userDao.selectCheckUnitId(phone);
+ if(checkUnitId!=null){
loginUserInfoVO.setCheckUnitId(checkUnitId);
- } else {
+ }
+
+ else {
loginUserInfoVO.setIsCheckUnitAdmin(0);
}
//是否网格员
@@ -415,19 +483,71 @@
} else if (isSysUser != null && isSysUser > 0) {
loginUserInfoVO.setIsmemberrole(1);
}
- Integer countSocialWorker = userDao.countSocialWorker(phone, userCommunityId);
- if (countSocialWorker > 0) {
+ Integer countSocialWorker = userDao.countSocialWorker(phone,userCommunityId);
+ if(countSocialWorker>0){
loginUserInfoVO.setIsSocialWorker(1);
}
}
loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard() != null);
+ //是否社区或街道后台
+ int countSocialOrg=userDao.countSocialOrg(sysUserDO.getUserId());
+ if(countSocialOrg>0){
+ loginUserInfoVO.setUserType(3);
+ }
+ if (nonNull(sysUserDO.getAccount())){
+ if (isStreetAccount(sysUserDO.getAccount())){
+ //街道账号
+ loginUserInfoVO.setLevel(3);
+ }
+ if (sysUserDO.getAccount().equals("admin")){
+ loginUserInfoVO.setLevel(1);
+ }
+ }
+ if (loginUserInfoVO.getType().equals(3)){
+ loginUserInfoVO.setLevel(4);
+ }
+ if (sysUserDO.getType().equals(11)){
+ //专家
+ loginUserInfoVO.setLevel(5);
+ }else if (sysUserDO.getType().equals(12)){
+ //行业分中心
+ loginUserInfoVO.setLevel(2);
+ }
+ //是否为三说会堂专家
+ ComSanshuoExpertVO expertVO=userDao.isExpert(loginUserInfoVO.getPhone());
+ if (nonNull(expertVO)){
+ loginUserInfoVO.setType(13);
+ }
+ //是否为人大代表
+ if (StringUtils.isNotEmpty(phone) && StringUtils.isNotEmpty(sysUserDO.getName())){
+ int i = userDao.isDpcMember(phone, sysUserDO.getName());
+ if (i>0){
+ loginUserInfoVO.setIsDpcMember(1);
+ }
+ }
return R.ok(loginUserInfoVO);
}
/**
+ * 是否为综治后台街道账号
+ * */
+ public Boolean isStreetAccount(String name){
+ Boolean flag=false;
+ String[] account={"glpz","qxpjd","tjdjd","dbdjd","yqjd","bcg","hmkjd","dhjd","jsgyy","dzhljd"};
+ if (nonNull(name)){
+ if (ArrayUtil.contains(account,name)){
+ flag=true;
+ }
+ }
+ return flag;
+ }
+
+
+ /**
* 修改用户登录密码
*
- * @param changePasswordVO 新密码
+ * @param changePasswordVO
+ * 新密码
* @return 修改结果
*/
@Override
@@ -459,8 +579,10 @@
/**
* 某社区后台人员查询
*
- * @param param 名字
- * @param communityId 社区id
+ * @param param
+ * 名字
+ * @param communityId
+ * 社区id
* @return 人员集合
*/
@Override
@@ -487,8 +609,10 @@
/**
* 微心愿搜索社区团队人员列表
*
- * @param param 请求参数
- * @param communityId 社区id
+ * @param param
+ * 请求参数
+ * @param communityId
+ * 社区id
* @return 社区团队人员列表
*/
@Override
@@ -499,7 +623,8 @@
/**
* 分页查询人脸识别
*
- * @param loginUserInfoVO 查询参数
+ * @param loginUserInfoVO
+ * 查询参数
* @return 分页集合
*/
@Override
@@ -667,6 +792,13 @@
//是否是防疫工作人员
loginUserInfoVO.setIsAcidMember(0);
ComActAcidMemberVO acidMember = userDao.selectAcidMemberByPhone(loginUserInfoVO.getPhone());
+ //是否为普达物业公司后台账号
+ if (nonNull(sysUserDO.getPhone())){
+ Long propertyAccount = userDao.isPropertyAccount(sysUserDO.getPhone());
+ if (nonNull(propertyAccount)){
+ loginUserInfoVO.setPropertyId(propertyAccount);
+ }
+ }
if (nonNull(acidMember)) {
if (acidMember.getRelationName().equals("panzhihua") || acidMember.getRelationName().equals("西区") || acidMember.getRelationName().equals("东区") || acidMember.getRelationName().equals("仁和区") || acidMember.getRelationName().equals("米易县") || acidMember.getRelationName().equals("盐边县")) {
loginUserInfoVO.setIsAcidMember(1);
@@ -686,7 +818,15 @@
loginUserInfoVO.setUserType(1);
} else {
loginUserInfoVO.setUserType(2);
+ loginUserInfoVO.setLevel(4);
}
+ }
+ if (sysUserDO.getType().equals(11)){
+ loginUserInfoVO.setLevel(5);
+ }else if (sysUserDO.getType().equals(12)){
+ loginUserInfoVO.setLevel(2);
+ }else if (isNull(loginUserInfoVO.getLevel())){
+ loginUserInfoVO.setLevel(1);
}
loginUserInfoVO.setBackstageType(1);
String[] account = {"dongqu", "xiqu", "yanbianxian", "miyixian", "renhequ", "fantaixinqu"};
@@ -868,7 +1008,7 @@
userDao.updateComPbMemberUserId(idCard, sysUserDO.getUserId());
}
- SysUserDO user = userDao.selectById(loginUserInfoVO.getUserId());
+ /*SysUserDO user = userDao.selectById(loginUserInfoVO.getUserId());
if (user != null) {
// 实名认证成功推送订阅消息给用户
try {
@@ -881,7 +1021,7 @@
} catch (Exception e) {
log.error("推送用户订阅消息失败,失败原因:" + e.getMessage());
}
- }
+ }*/
return R.ok();
}
return R.fail();
@@ -1221,6 +1361,11 @@
this.putMenuRole(menuRoleVO);
}
}
+ log.info("======================type"+administratorsUserVO.getType());
+ if (administratorsUserVO.getType().equals(20)){
+ roleId=1559112102373756548L;
+ }
+ log.info("=======================roleId"+roleId);
SysRoleDO roleDO = roleDAO.selectById(roleId);
if (ObjectUtils.isEmpty(roleDO)) {
return R.fail("角色不存在");
@@ -1241,7 +1386,6 @@
} else if (e.getMessage().contains("23000")) {
throw new ServiceException("手机号已存在");
}
-
}
if (insert > 0) {
SysUserDO sysUserDO1 = userDao
@@ -1485,6 +1629,11 @@
}
page.setSize(pageSize);
page.setCurrent(pageNum);
+ //因操作日志数据量太大,如果没有时间查询条件,默认查询最近十五天的数据
+ if (StrUtil.isEmpty(sysOperLogVO.getStartTime()) && StrUtil.isEmpty(sysOperLogVO.getEndTime())){
+ sysOperLogVO.setStartTime(com.panzhihua.common.utlis.DateUtils.getBeforeDay(15));
+ sysOperLogVO.setEndTime(com.panzhihua.common.utlis.DateUtils.getCurrentDateymd());
+ }
IPage<SysOperLogVO> iPage = sysOperLogDAO.pageOperLog(page, sysOperLogVO);
return R.ok(iPage);
}
@@ -2159,8 +2308,13 @@
sysUserDO.setPhone(storeVO.getPhone());
sysUserDO.setName(storeVO.getContacts());
sysUserDO.setPassword(encode);
+ sysUserDO.setAppId("wx0cef797390444b75");
try {
insert = userDao.insert(sysUserDO);
+ SysUserRoleDO sysUserRoleDO = new SysUserRoleDO();
+ sysUserRoleDO.setUserId(sysUserDO.getUserId());
+ sysUserRoleDO.setRoleId(sysRoleDO.getRoleId());
+ sysUserRoleDAO.insert(sysUserRoleDO);
// 把SysUserId赋值给店铺
if (sysUserDO.getUserId() != null) {
userDao.updateStoreByPhone(storeVO.getPhone(), sysUserDO.getUserId());
@@ -2830,14 +2984,24 @@
}
// 获取最近二十天数据
- List<Date> serverndays = com.panzhihua.common.utlis.DateUtils.getOldDays();
- serverndays.forEach(date -> {
- // 查询社区活动数量
- DataKanbanDTO dataKanbanDTO = userDao.selectCommunityAddUserOrder(dataKanBansDto.getAppId(), date);
+ List<Date> activeDate = getTwentyDays();
+
+ String twentyDay = com.panzhihua.common.utlis.DateUtils.getTwentyDay();
+ //获取最近活跃人数
+ List<UsersStatisticsDTO> actives = userDao.selectActive(twentyDay, dataKanBansDto.getAppId());
+ //获取最近注册人数
+ List<UsersStatisticsDTO> dailyAdds = userDao.selectDailyAdd(twentyDay, dataKanBansDto.getAppId());
+
+ Map<String, String> activeMap = actives.stream().collect(Collectors.toMap(UsersStatisticsDTO::getSpecificDate, UsersStatisticsDTO::getTotal));
+ Map<String, String> dailyAddMap = dailyAdds.stream().collect(Collectors.toMap(UsersStatisticsDTO::getSpecificDate, UsersStatisticsDTO::getTotal));
+
+
+ for (Date date : activeDate) {
+ String dateStr = DateUtil.format(date, "yyyy-MM-dd");
communityActiveUserX.add(DateFormatUtils.format(date, "MM-dd"));
- communityActiveUserY.add(dataKanbanDTO.getNum());
- communityActiveUserZ.add(dataKanbanDTO.getDayNum());
- });
+ communityActiveUserY.add(dailyAddMap.containsKey(dateStr) ? Integer.parseInt(dailyAddMap.get(dateStr)) : 0);
+ communityActiveUserZ.add(activeMap.containsKey(dateStr) ? Integer.parseInt(activeMap.get(dateStr)) : 0);
+ }
indexDataKanbanVO.setCommunityActiveUserX(communityActiveUserX);
indexDataKanbanVO.setCommunityAddUserY(communityActiveUserY);
indexDataKanbanVO.setCommunityActiveUserY(communityActiveUserZ);
@@ -3157,16 +3321,19 @@
@Override
public R updateUserPartyStatus(Long userId) {
- SysUserDO sysUserDO = userDao.selectById(userId);
- if (sysUserDO != null) {
- sysUserDO.setIsPartymember(1);
- int updated = userDao.updateById(sysUserDO);
- if (updated > 0) {
- // 删除用户信息缓存
- String userKey = UserConstants.LOGIN_USER_INFO + sysUserDO.getUserId();
- stringRedisTemplate.delete(userKey);
+ List<SysUserDO> sysUserDOs = userDao.selectByUserId(userId);
+ for (SysUserDO sysUserDO : sysUserDOs) {
+ if (sysUserDO != null) {
+ sysUserDO.setIsPartymember(1);
+ int updated = userDao.updateById(sysUserDO);
+ if (updated > 0) {
+ // 删除用户信息缓存
+ String userKey = UserConstants.LOGIN_USER_INFO + sysUserDO.getUserId();
+ stringRedisTemplate.delete(userKey);
+ }
}
}
+
return R.ok();
}
@@ -3180,7 +3347,7 @@
} else if ("wx98d62711dfbd8425".equals(uuLoginVO.getAppid())) {
appId = "10001";
secret = "d89f3a35931c386956c1a402a8e09941";
- }else {
+ } else {
return R.fail("appid未传");
}
uuLoginVO.setAppid(appId);
@@ -3193,7 +3360,7 @@
}
Map<String, String> headerMap = new HashMap<>();
headerMap.put("appid", appId);
- String resultJson = HttpClientUtil.get("https://api.uucsh.cn/member/wx/get-access?province=" + uuLoginVO.getProvince() + "&city=" + uuLoginVO.getCity() + "&area=" + uuLoginVO.getArea() + "&appid="+appId+"×tamp=" + uuLoginVO.getTimestamp() + "&sign=" + uuLoginVO.getSign() + "&mobile=" + uuLoginVO.getMobile() + "&couponId=" + uuLoginVO.getCouponId(), headerMap, null);
+ String resultJson = HttpClientUtil.get("https://api.uucsh.cn/member/wx/get-access?province=" + uuLoginVO.getProvince() + "&city=" + uuLoginVO.getCity() + "&area=" + uuLoginVO.getArea() + "&appid=" + appId + "×tamp=" + uuLoginVO.getTimestamp() + "&sign=" + uuLoginVO.getSign() + "&mobile=" + uuLoginVO.getMobile() + "&couponId=" + uuLoginVO.getCouponId(), headerMap, null);
JSONObject result = JSON.parseObject(resultJson);
if (result.get("status").equals(1)) {
return R.ok(result.get("data"));
@@ -3420,25 +3587,59 @@
return R.ok(realUserVO);
}
+// @Override
+// public R userActivity(Integer type, Long streetId, Long areaCode, Integer range, String appId) {
+// UserActivityAnalysisVO vo = new UserActivityAnalysisVO();
+// List<Date> activeX = getTwentyDays();
+// List<String> activeY = new ArrayList<>();
+// List<String> adY = new ArrayList<>();
+// if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(range)) {
+// if (range.equals(1)) {
+// //本月数据
+// activeX = getMonthTwentyDays();
+// }
+// }
+// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+// for (Date date : activeX) {
+// Map<String, Long> map = userDao.getDailyAddAndActive(DateUtil.parse(sdf.format(date)), streetId, areaCode, appId);
+// adY.add(map.get("addUser").toString());
+// activeY.add(map.get("activeUser").toString());
+// }
+// vo.setUserX(getMAndD(activeX));
+// vo.setAddUserY(adY);
+// vo.setActiveUserY(activeY);
+// return R.ok(vo);
+// }
+
@Override
public R userActivity(Integer type, Long streetId, Long areaCode, Integer range, String appId) {
UserActivityAnalysisVO vo = new UserActivityAnalysisVO();
- List<Date> activeX = getTwentyDays();
+ String activeX = com.panzhihua.common.utlis.DateUtils.getTwentyDay();
+ List<Date> activeDate = getTwentyDays();
List<String> activeY = new ArrayList<>();
List<String> adY = new ArrayList<>();
if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(range)) {
if (range.equals(1)) {
//本月数据
- activeX = getMonthTwentyDays();
+ activeX = com.panzhihua.common.utlis.DateUtils.getMonthTwentyDay();
+ activeDate = getMonthTwentyDays();
}
}
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- for (Date date : activeX) {
- Map<String, Long> map = userDao.getDailyAddAndActive(DateUtil.parse(sdf.format(date)), streetId, areaCode, appId);
- adY.add(map.get("addUser").toString());
- activeY.add(map.get("activeUser").toString());
+ //获取最近活跃人数
+ List<UsersStatisticsDTO> actives = userDao.getActive(activeX, streetId, areaCode, appId);
+ //获取最近注册人数
+ List<UsersStatisticsDTO> dailyAdds = userDao.getDailyAdd(activeX, streetId, areaCode, appId);
+ Map<String, String> activeMap = actives.stream().collect(Collectors.toMap(UsersStatisticsDTO::getSpecificDate, UsersStatisticsDTO::getTotal));
+ Map<String, String> dailyAddMap = dailyAdds.stream().collect(Collectors.toMap(UsersStatisticsDTO::getSpecificDate, UsersStatisticsDTO::getTotal));
+
+
+ for (Date date : activeDate) {
+ String dateStr = DateUtil.format(date, "yyyy-MM-dd");
+ activeY.add(activeMap.containsKey(dateStr) ? activeMap.get(dateStr) : "0");
+ adY.add(dailyAddMap.containsKey(dateStr) ? dailyAddMap.get(dateStr) : "0");
+
}
- vo.setUserX(getMAndD(activeX));
+ vo.setUserX(getMAndD(activeDate));
vo.setAddUserY(adY);
vo.setActiveUserY(activeY);
return R.ok(vo);
@@ -3453,7 +3654,7 @@
String accessToken = "";
WxXCXTempSend util = new WxXCXTempSend();
try {
- accessToken = util.getAccessToken();
+ accessToken = util.getAccessToken("wx118de8a734d269f0");
} catch (Exception e) {
e.printStackTrace();
}
@@ -3463,15 +3664,15 @@
WxUtil.sendUuWash3(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "sU18zbyzxFldHAdOREaQCR5uq_uMvCKTmGtklO1xw-w");
break;
case 4:
- status = "车美已开始服务";
+ status = "开始服务";
WxUtil.sendUuWash4(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "Eft5ksvsnOQANy2uNOGY43CC3pb33eDGA_lgCEoxuiw");
break;
case 6:
- status = "订单确认完成";
+ status = "订单完成";
WxUtil.sendUuWash6(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "k1aV97H3pDNNcNcDTeZBD9jQemNDADnRE801HhTXweI");
break;
case 9:
- status = "订单已取消";
+ status = "订单取消";
WxUtil.sendUuWash(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "9_2FhQPDxZoUqmAuIZ1L1zjjYXokdNvu7A0gzKfvruI");
break;
}
@@ -3499,15 +3700,15 @@
WxUtil.sendWsWash3(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "sNj6m-JBvW6rOokKGDX9X3-XH1AD0GY5_X0jA9JSLwc");
break;
case 4:
- status = "车美已开始服务";
+ status = "开始服务";
WxUtil.sendWsWash4(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "Eft5ksvsnOQANy2uNOGY43CC3pb33eDGA_lgCEoxuiw");
break;
case 6:
- status = "订单确认完成";
+ status = "订单完成";
WxUtil.sendWsWash6(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "iPS8yrsGDqy76hiP8bIbxkosveoX1xTFhdusSiGp-XM");
break;
case 9:
- status = "订单已取消";
+ status = "订单取消";
WxUtil.sendWsWash(sysUserDO.getOpenid(), accessToken, status, washName, washPhone, phone, "z_ysGXz9JWBc2rXuYZzVCXKJTyLf0w0WerrohuNoEng");
break;
}
@@ -3517,6 +3718,27 @@
}
@Override
+ public R getAllCommunityList() {
+ 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(), 3);
+ vo.setChildList(communityVOS);
+
+ }
+ areaVO.setChildList(streetVOS);
+ areaVOList.add(areaVO);
+ }
+ return R.ok(areaVOList);
+ }
+ @Override
public R getCommunityList(String name, Long id) {
//区级账号名
String[] streetList = {"bingcaogangjiedao", "donghuajiedao", "nongnongpingjiedao", "dadukoujiedaojiedao", "guazipingjiedao",
@@ -3524,7 +3746,7 @@
"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);
+// List<Integer> ids = userDao.selectIdsByAccount(streetList);
//村或社区账号
Integer type = isVilliage(name);
//是否为市级账号
@@ -3652,6 +3874,105 @@
return R.ok();
}
+ /**
+ * 三说会堂新增业务中心或专家账号
+ * */
+ @Override
+ public R addExpertOrIndustryCenter(AdministratorsUserVO administratorsUserVO) {
+ SysUserDO sysUserDO=new SysUserDO();
+ //是否存在相同账号
+ SysUserDO userDO = userDao.selectOne(new QueryWrapper<SysUserDO>().eq("account", administratorsUserVO.getAccount()));
+ if (isNull(userDO)){
+ sysUserDO.setAppId("wx0cef797390444b75");
+ sysUserDO.setCreateAt(new Date());
+ sysUserDO.setUserId(administratorsUserVO.getUserId());
+ sysUserDO.setAccount(administratorsUserVO.getAccount());
+ sysUserDO.setPassword(new BCryptPasswordEncoder().encode(administratorsUserVO.getPassword()));
+ sysUserDO.setName(administratorsUserVO.getName());
+ if (nonNull(administratorsUserVO.getImageUrl())){
+ sysUserDO.setImageUrl(administratorsUserVO.getImageUrl());
+ }
+ if (nonNull(administratorsUserVO.getType())){
+ sysUserDO.setType(administratorsUserVO.getType());
+ }
+ if (nonNull(administratorsUserVO.getPhone())){
+ sysUserDO.setPhone(administratorsUserVO.getPhone());
+ }
+ userDao.insert(sysUserDO);
+ //分配权限
+ SysUserRoleDO sysUserRole=new SysUserRoleDO();
+ sysUserRole.setUserId(sysUserDO.getUserId());
+ if (sysUserDO.getType().equals(11)){
+ sysUserRole.setRoleId(Long.parseLong(UserConstants.SANSHUO_EXPERT_ROLE));
+ //将专家小程序账号设置为专家权限
+ SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, 1).eq(SysUserDO::getPhone, administratorsUserVO.getPhone()));
+ if (nonNull(sysUserDO1)){
+ sysUserDO1.setType(13);
+ userDao.updateById(sysUserDO1);
+ log.info("添加专家小程序账号权限");
+ }
+ }else{
+ sysUserRole.setRoleId(Long.parseLong(UserConstants.SANSHUO_INDUSTRY_CENTER_ROLE));
+ }
+ //配置权限
+ sysUserRoleDAO.insert(sysUserRole);
+ return R.ok();
+ }
+ return R.fail("账户名已存在");
+ }
+
+ /**
+ * 三说会堂后台重置密码
+ * */
+ @Override
+ public R resetPassExpertOrIndustryCenter(String account,String password) {
+ SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().eq("account", account));
+ if (nonNull(sysUserDO)){
+ sysUserDO.setPassword(new BCryptPasswordEncoder().encode(password));
+ userDao.updateById(sysUserDO);
+ return R.ok();
+ }
+ return R.fail("修改失败");
+ }
+
+ /**
+ * 移除专家权限
+ * */
+ @Override
+ public R removeExpertRole(String phone) {
+ if (nonNull(phone)){
+ //是否有权限为专家的账号
+ SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, 11).eq(SysUserDO::getPhone, phone));
+ if (nonNull(sysUserDO)){
+ //删除后台账号
+ sysUserDO.setStatus(2);
+ userDao.updateById(sysUserDO);
+ log.info("禁用专家后台账号成功");
+ }
+ //小程序账号移除专家权限
+ SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, 13).eq(SysUserDO::getPhone, phone));
+ if (nonNull(sysUserDO1)){
+ sysUserDO1.setType(1);
+ userDao.updateById(sysUserDO1);
+ log.info("移除专家权限成功");
+ }
+ }
+ return R.ok();
+ }
+
+ @Override
+ public R feedBackReply(SysUserFeedbackVO sysUserFeedbackVO) {
+ SysUserFeedbackDO sysUserFeedbackDO=new SysUserFeedbackDO();
+ BeanUtils.copyProperties(sysUserFeedbackVO, sysUserFeedbackDO);
+ return R.ok(sysUserFeedbackDAO.updateById(sysUserFeedbackDO));
+ }
+
+ @Override
+ public R myFeedBack(Long id,Integer type) {
+ List<SysUserFeedbackDO> sysUserFeedbackDOS = sysUserFeedbackDAO.selectList(new QueryWrapper<SysUserFeedbackDO>().lambda().eq(SysUserFeedbackDO::getType, type).eq(SysUserFeedbackDO::getUserId, id));
+ return R.ok(sysUserFeedbackDOS);
+ }
+
@Override
public R getAreaAndStreet() {
--
Gitblit v1.7.1