From b1fc2df27e776b52204abd6707660b90c48ab820 Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期一, 14 十一月 2022 10:45:12 +0800
Subject: [PATCH] token获取物业id处理
---
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 220 ++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 177 insertions(+), 43 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 4c5ed8d..460d90a 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
@@ -17,6 +17,8 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ArrayUtil;
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.fasterxml.jackson.core.JsonProcessingException;
@@ -222,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);
@@ -303,7 +309,7 @@
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));
+ new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type).eq(SysUserDO::getOpenid, name).eq(SysUserDO::getAppId, appId));
}else if(isIndustryOrExpertAccount) {
//三说会堂行业分中心或专家后台账号登陆
sysUserDO = userDao.selectOne(
@@ -325,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());
@@ -354,6 +363,20 @@
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);
+ }
+ }
+ //是否为物业公司账号
+ if (nonNull(sysUserDO.getPhone())){
+ Long propertyAccount = userDao.isPropertyAccount(sysUserDO.getPhone());
+ if (nonNull(propertyAccount)){
+ loginUserInfoVO.setPropertyId(propertyAccount);
+ }
}
return R.ok(loginUserInfoVO);
}
@@ -478,31 +501,60 @@
if(countSocialOrg>0){
loginUserInfoVO.setUserType(3);
}
- else {
- if(loginUserInfoVO.getStreetId()!=null){
- loginUserInfoVO.setUserType(1);
+ if (nonNull(sysUserDO.getAccount())){
+ if (isStreetAccount(sysUserDO.getAccount())){
+ //街道账号
loginUserInfoVO.setLevel(3);
}
- else {
- loginUserInfoVO.setUserType(2);
- loginUserInfoVO.setLevel(4);
+ 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);
- }else if (isNull(loginUserInfoVO.getLevel())){
- loginUserInfoVO.setLevel(1);
}
//是否为三说会堂专家
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);
+ }
+ }
+ //是否为物业公司账号
+ if (nonNull(sysUserDO.getPhone())){
+ Long propertyAccount = userDao.isPropertyAccount(sysUserDO.getPhone());
+ if (nonNull(propertyAccount)){
+ loginUserInfoVO.setPropertyId(propertyAccount);
+ }
+ }
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;
+ }
/**
@@ -754,6 +806,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);
@@ -963,7 +1022,7 @@
userDao.updateComPbMemberUserId(idCard, sysUserDO.getUserId());
}
- SysUserDO user = userDao.selectById(loginUserInfoVO.getUserId());
+ /*SysUserDO user = userDao.selectById(loginUserInfoVO.getUserId());
if (user != null) {
// 实名认证成功推送订阅消息给用户
try {
@@ -976,7 +1035,7 @@
} catch (Exception e) {
log.error("推送用户订阅消息失败,失败原因:" + e.getMessage());
}
- }
+ }*/
return R.ok();
}
return R.fail();
@@ -1276,6 +1335,7 @@
@Override
public R addUserBackstageProperty(AdministratorsUserVO administratorsUserVO) {
SysUserDO sysUserDO = new SysUserDO();
+ String appId=userDao.getCommunityAppId(administratorsUserVO.getCommunityId());
Long roleId = administratorsUserVO.getRoleId();
if (roleId.intValue() == 777777777) {
SysRoleDO sysRoleDO = new SysRoleDO();
@@ -1316,6 +1376,8 @@
this.putMenuRole(menuRoleVO);
}
}
+ log.info("======================type"+administratorsUserVO.getType());
+ log.info("=======================roleId"+roleId);
SysRoleDO roleDO = roleDAO.selectById(roleId);
if (ObjectUtils.isEmpty(roleDO)) {
return R.fail("角色不存在");
@@ -1323,6 +1385,7 @@
String encode = new BCryptPasswordEncoder().encode(administratorsUserVO.getPassword());
administratorsUserVO.setPassword(encode);
BeanUtils.copyProperties(administratorsUserVO, sysUserDO);
+ sysUserDO.setAppId(appId);
int insert = 0;
try {
insert = userDao.insert(sysUserDO);
@@ -1336,7 +1399,6 @@
} else if (e.getMessage().contains("23000")) {
throw new ServiceException("手机号已存在");
}
-
}
if (insert > 0) {
SysUserDO sysUserDO1 = userDao
@@ -1346,6 +1408,9 @@
SysUserRoleDO sysUserRoleDO = new SysUserRoleDO();
sysUserRoleDO.setUserId(userId);
sysUserRoleDO.setRoleId(roleDO.getRoleId());
+ if (administratorsUserVO.getCommunityId().equals(10172)){
+ sysUserRoleDO.setRoleId(1559112102373756548L);
+ }
int insert1 = sysUserRoleDAO.insert(sysUserRoleDO);
if (insert1 > 0) {
return R.ok(userId);
@@ -1580,6 +1645,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);
}
@@ -2802,7 +2872,8 @@
@Transactional(rollbackFor = Exception.class)
public R addConvenientMerchantUser(ConvenientMerchantDTO convenientMerchantDTO) {
SysUserDO sysUserDO;
- sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount, convenientMerchantDTO.getAccount()));
+ sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount, convenientMerchantDTO.getAccount())
+ .eq(SysUserDO::getPhone,convenientMerchantDTO.getMobilePhone()).eq(SysUserDO::getAppId,"wx118de8a734d269f0"));
if (nonNull(sysUserDO)) {
return R.fail("账户已经存在");
}
@@ -2811,10 +2882,10 @@
String encode = new BCryptPasswordEncoder().encode(convenientMerchantDTO.getPassword());
BeanUtils.copyProperties(convenientMerchantDTO, sysUserDO);
sysUserDO.setAccount(convenientMerchantDTO.getAccount());
- sysUserDO.setType(10);
+ sysUserDO.setType(5);
sysUserDO.setAreaId(null);
sysUserDO.setStatus(1);
- sysUserDO.setPhone(null);
+ sysUserDO.setPhone(convenientMerchantDTO.getMobilePhone());
sysUserDO.setName(convenientMerchantDTO.getContacts());
sysUserDO.setPassword(encode);
try {
@@ -2930,14 +3001,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);
@@ -3257,16 +3338,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();
}
@@ -3558,15 +3642,18 @@
activeDate = getMonthTwentyDays();
}
}
-
//获取最近活跃人数
- Map<String, Long> active = userDao.getActive(activeX, streetId, areaCode, appId);
+ List<UsersStatisticsDTO> actives = userDao.getActive(activeX, streetId, areaCode, appId);
//获取最近注册人数
- Map<String, Long> dailyAdd = userDao.getDailyAdd(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(active.containsKey(dateStr) ? active.get("activeUser").toString() : "0");
- adY.add(dailyAdd.containsKey(dateStr) ? dailyAdd.get("addUser").toString() : "0");
+ activeY.add(activeMap.containsKey(dateStr) ? activeMap.get(dateStr) : "0");
+ adY.add(dailyAddMap.containsKey(dateStr) ? dailyAddMap.get(dateStr) : "0");
}
vo.setUserX(getMAndD(activeDate));
@@ -3584,7 +3671,7 @@
String accessToken = "";
WxXCXTempSend util = new WxXCXTempSend();
try {
- accessToken = util.getAccessToken();
+ accessToken = util.getAccessToken("wx118de8a734d269f0");
} catch (Exception e) {
e.printStackTrace();
}
@@ -3594,15 +3681,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;
}
@@ -3630,15 +3717,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;
}
@@ -3648,6 +3735,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",
@@ -3655,7 +3763,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);
//是否为市级账号
@@ -3869,6 +3977,32 @@
return R.ok();
}
+ @Override
+ public R feedBackReply(SysUserFeedbackVO sysUserFeedbackVO) {
+ if (isNull(sysUserFeedbackVO.getReply())){
+ return R.fail("回复内容不能为空");
+ }
+ SysUserFeedbackDO sysUserFeedbackDO1 = sysUserFeedbackDAO.selectById(sysUserFeedbackVO.getId());
+ sysUserFeedbackDO1.setReply(sysUserFeedbackVO.getReply());
+ return R.ok(sysUserFeedbackDAO.reply(sysUserFeedbackDO1));
+ }
+
+ @Override
+ public R myFeedBack(Long id,Integer type,Long propertyId) {
+ List<SysUserFeedbackDO> sysUserFeedbackDOS = sysUserFeedbackDAO.selectList(new QueryWrapper<SysUserFeedbackDO>().lambda().eq(SysUserFeedbackDO::getType, type).eq(SysUserFeedbackDO::getUserId, id).eq(SysUserFeedbackDO::getPropertyId,propertyId ));
+ return R.ok(sysUserFeedbackDOS);
+ }
+
+ @Override
+ public R propertyCheck(String phone) {
+ Long propertyAccount = userDao.isPropertyAccount(phone);
+ log.info("==============物业公司id"+propertyAccount);
+ if (isNull(propertyAccount)){
+ return R.fail();
+ }
+ return R.ok(propertyAccount);
+ }
+
@Override
public R getAreaAndStreet() {
--
Gitblit v1.7.1