From eb4cfe7327323367a08ac449ce838f95b2e96783 Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期四, 29 九月 2022 14:40:50 +0800
Subject: [PATCH] Merge branch 'sanshuohuitang_dev' into huacheng_test
---
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 211 ++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 184 insertions(+), 27 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 91347b2..52ed26a 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
@@ -2,7 +2,6 @@
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
-import static org.apache.commons.lang3.StringUtils.capitalize;
import static org.apache.commons.lang3.StringUtils.isNotBlank;
import java.math.BigDecimal;
@@ -13,8 +12,6 @@
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;
@@ -23,9 +20,9 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.BindUserPhoneDTO;
+import com.panzhihua.common.model.dtos.partybuilding.ComPbCheckUserDTO;
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;
@@ -44,7 +41,6 @@
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;
@@ -100,7 +96,6 @@
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.SysUserInputDO;
import com.panzhihua.service_user.model.dos.SysUserNoticeDO;
import com.panzhihua.service_user.model.dos.SysUserRoleDO;
import com.panzhihua.service_user.model.dtos.DataKanbanDTO;
@@ -109,7 +104,6 @@
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;
@@ -207,7 +201,7 @@
* @return token
*/
@Override
- public R updateInsertUser(String openid, String sessionKey, String unionid) {
+ public R updateInsertUser(String openid, String sessionKey, String unionid,String appId) {
SysUserDO sysUserDO =
userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getOpenid, openid));
boolean empty = ObjectUtils.isEmpty(sysUserDO);
@@ -223,6 +217,7 @@
sysUserDO1.setLastLoginTime(date);
sysUserDO1.setPassword(encode);
sysUserDO1.setType(1);
+ sysUserDO1.setAppId(appId);
num = userDao.insert(sysUserDO1);
} else {
String encode = new BCryptPasswordEncoder().encode(UserConstants.PASSWORD);
@@ -231,6 +226,7 @@
sysUserDO.setPassword(encode);
sysUserDO.setLastLoginTime(date);
sysUserDO.setType(1);
+ sysUserDO.setAppId(appId);
num = userDao.updateById(sysUserDO);
}
if (num > 0) {
@@ -475,6 +471,28 @@
}
}
loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard() != null);
+ //是否社区或街道后台
+ int countSocialOrg=userDao.countSocialOrg(sysUserDO.getUserId());
+ if(countSocialOrg>0){
+ loginUserInfoVO.setUserType(3);
+ }
+ else {
+ if(loginUserInfoVO.getStreetId()!=null){
+ loginUserInfoVO.setUserType(1);
+ loginUserInfoVO.setLevel(3);
+ }
+ 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);
+ }
return R.ok(loginUserInfoVO);
}
@@ -750,10 +768,30 @@
else {
if(loginUserInfoVO.getStreetId()!=null){
loginUserInfoVO.setUserType(1);
+ loginUserInfoVO.setLevel(3);
}
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"};
+ if("zuzhibu".equals(sysUserDO.getAccount())){
+ loginUserInfoVO.setBackstageType(2);
+ }
+ if(ArrayUtil.contains(account,sysUserDO.getAccount())){
+ loginUserInfoVO.setBackstageType(3);
+ }
+ if(sysUserDO.getBindingCheckUnitId()!=null){
+ loginUserInfoVO.setBackstageType(4);
}
return R.ok(loginUserInfoVO);
}
@@ -1216,6 +1254,7 @@
String encode = new BCryptPasswordEncoder().encode(administratorsUserVO.getPassword());
administratorsUserVO.setPassword(encode);
BeanUtils.copyProperties(administratorsUserVO, sysUserDO);
+ sysUserDO.setAppId(administratorsUserVO.getAppid());
int insert = 0;
try {
insert = userDao.insert(sysUserDO);
@@ -2257,6 +2296,7 @@
BeanUtils.copyProperties(storeVO, sysUserDO);
sysUserDO.setAccount(storeVO.getStoreAccount());
sysUserDO.setType(20);
+ sysUserDO.setCommunityId(communityId);
sysUserDO.setAreaId(null);
sysUserDO.setStatus(1);
sysUserDO.setPhone(storeVO.getPhone());
@@ -2915,7 +2955,7 @@
*/
@Override
public R dataKanBans(DataKanBansDto dataKanBansDto){
- IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(dataKanBansDto.getAreaCode());
+ IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(dataKanBansDto.getAppId());
List<String> communityUserX = new ArrayList<>();
List<Integer> communityUserY = new ArrayList<>();
@@ -2933,9 +2973,9 @@
page.setSize(20L);
}
if(dataKanBansDto.getType() != null && dataKanBansDto.getType().equals(DataKanBansDto.type.by)){
- dataKanbanDTOS = userDao.selectCommunityUserOrderMonth(page, dataKanBansDto.getAreaCode()).getRecords();
+ dataKanbanDTOS = userDao.selectCommunityUserOrderMonth(page, dataKanBansDto.getAppId()).getRecords();
}else{
- dataKanbanDTOS = userDao.selectCommunityUserOrder(page, dataKanBansDto.getAreaCode()).getRecords();
+ dataKanbanDTOS = userDao.selectCommunityUserOrder(page, dataKanBansDto.getAppId()).getRecords();
}
if (!ObjectUtils.isEmpty(dataKanbanDTOS)) {
dataKanbanDTOS.forEach(dataKanbanDTO -> {
@@ -2948,7 +2988,7 @@
List<Date> serverndays = com.panzhihua.common.utlis.DateUtils.getOldDays();
serverndays.forEach(date -> {
// 查询社区活动数量
- DataKanbanDTO dataKanbanDTO = userDao.selectCommunityAddUserOrder(dataKanBansDto.getAreaCode(),date);
+ DataKanbanDTO dataKanbanDTO = userDao.selectCommunityAddUserOrder(dataKanBansDto.getAppId(),date);
communityActiveUserX.add(DateFormatUtils.format(date, "MM-dd"));
communityActiveUserY.add(dataKanbanDTO.getNum());
communityActiveUserZ.add(dataKanbanDTO.getDayNum());
@@ -3287,7 +3327,7 @@
}
Map<String, String> headerMap=new HashMap<>();
headerMap.put("appid","10000");
- String resultJson=HttpClientUtil.get("https://api.uucsh.cn/member/wx/get-access?province="+uuLoginVO.getProvince()+"&city="+uuLoginVO.getCity()+"&area="+uuLoginVO.getArea()+"&appid=10000×tamp="+uuLoginVO.getTimestamp()+"&sign="+uuLoginVO.getSign()+"&mobile="+uuLoginVO.getMobile(),headerMap,null);
+ String resultJson=HttpClientUtil.get("https://api.uucsh.cn/member/wx/get-access?province="+uuLoginVO.getProvince()+"&city="+uuLoginVO.getCity()+"&area="+uuLoginVO.getArea()+"&appid=10000×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"));
@@ -3304,8 +3344,8 @@
}
@Override
- public R newIndexData(Integer type, Long streetId,Long areaCode) {
- IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(null);
+ public R newIndexData(Integer type, Long streetId,Long areaCode,String appId) {
+ IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(appId);
IndexDataAnalysisVO vo=new IndexDataAnalysisVO();
if (ObjectUtils.isEmpty(type)){
//不传默认为所有区县
@@ -3386,7 +3426,7 @@
}
@Override
- public R userRate(Integer type, Long streetId, Long areaCode, Integer range) {
+ public R userRate(Integer type, Long streetId, Long areaCode, Integer range,String appId) {
IndexDataAnalysisVO analysisVO=new IndexDataAnalysisVO();
if (type.equals(BYSTREET) || type.equals(BYAREA)){
//街道,区县筛选
@@ -3394,7 +3434,7 @@
BeanUtils.copyProperties(indexDataVO,analysisVO );
}else {
//总量数据
- IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(null);
+ IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(appId);
BeanUtils.copyProperties(indexDataKanbanVO,analysisVO );
}
String date="";
@@ -3404,7 +3444,7 @@
date = DateUtil.parse(dateTime.toString(), "yyyy-MM-dd HH:mm:ss").toString();
}
}
- List<UserProportion> userProportions = userDao.userAnalysis(type, date, streetId,areaCode);
+ List<UserProportion> userProportions = userDao.userAnalysis(type, date, streetId,areaCode,appId);
List<UserRateAnalysisVO> userRateAnalysisVOList=new ArrayList<>();
Boolean monthRange=false;
if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(range)){
@@ -3422,7 +3462,7 @@
}
//获取本月的用户总数作为计算占比的用户总数
//IndexDataKanbanVO data = userDao.dataKanBanStreet(streetId, areaCode, date);
- Integer monthUsers = userDao.getMonthUsers(streetId, areaCode, date);
+ Integer monthUsers = userDao.getMonthUsers(streetId, areaCode, date,appId);
vo.setRate(getRate(monthUsers,userProportion.getUser()));
}else{
vo.setRate(getRate(analysisVO.getAllUser(),userProportion.getUser()));
@@ -3451,7 +3491,7 @@
}
@Override
- public R realUser(Integer type, Long streetId, Long areaCode, Integer range) {
+ public R realUser(Integer type, Long streetId, Long areaCode, Integer range,String appId) {
IndexDataAnalysisVO analysisVO=new IndexDataAnalysisVO();
if (type.equals(BYSTREET) || type.equals(BYAREA)){
//街道,区县筛选
@@ -3459,7 +3499,7 @@
BeanUtils.copyProperties(indexDataVO,analysisVO );
}else {
//总量数据
- IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(null);
+ IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(appId);
BeanUtils.copyProperties(indexDataKanbanVO,analysisVO );
}
String date="";
@@ -3470,7 +3510,7 @@
}
}
RealUserVO realUserVO=new RealUserVO();
- List<RealUser> realUsers = userDao.realUserCount(type, date, streetId, areaCode);
+ List<RealUser> realUsers = userDao.realUserCount(type, date, streetId, areaCode,appId);
List<RealUserAnalysisVO> realUserList=new ArrayList<>();
realUserVO.setRealUserCount(getStreetRealUser(realUsers));
Integer rate = getRate(analysisVO.getAllUser(), realUserVO.getRealUserCount());
@@ -3515,7 +3555,7 @@
}
@Override
- public R userActivity(Integer type, Long streetId, Long areaCode, Integer range) {
+ 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<>();
@@ -3528,7 +3568,7 @@
}
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
for (Date date : activeX) {
- Map<String, Long> map = userDao.getDailyAddAndActive(DateUtil.parse(sdf.format(date)), streetId,areaCode);
+ 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());
}
@@ -3541,7 +3581,7 @@
@Override
public R uuPush(String washPhone,String phone,String washName,Integer orderStatus) {
if(StringUtils.isNotEmpty(phone)){
- SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone,phone).orderByDesc(SysUserDO::getCreateAt).last("limit 1"));
+ SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone,phone).eq(SysUserDO::getAppId,"wx118de8a734d269f0").orderByDesc(SysUserDO::getCreateAt).last("limit 1"));
if(sysUserDO!=null&&StringUtils.isNotEmpty(sysUserDO.getOpenid())){
String status="";
String accessToken="";
@@ -3646,8 +3686,8 @@
}
@Override
- public R resetPassword(Integer type, String account) {
- SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount,account).eq(SysUserDO::getType,type));
+ public R resetPassword(Integer type, String account,String appId) {
+ SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount,account).eq(SysUserDO::getType,type).eq(SysUserDO::getAppId,appId));
if(sysUserDO!=null){
sysUserDO.setPassword("$2a$10$F/2lE2NMhKNHJfi5.FLmfu7jIr7ImRWgCTTeO6m3IRNR2V4sv8YR.");
userDao.updateById(sysUserDO);
@@ -3671,6 +3711,123 @@
return R.ok();
}
+ @Override
+ public R accept(Long userId) {
+ SysUserDO sysUserDO=new SysUserDO();
+ sysUserDO.setUserId(userId);
+ sysUserDO.setIsAccept(1);
+ userDao.updateById(sysUserDO);
+ return R.ok();
+ }
+
+ @Override
+ @Transactional
+ public R addComPbCheckUser(ComPbCheckUserDTO comPbCheckUserDTO) {
+ SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount,comPbCheckUserDTO.getAccount()).eq(SysUserDO::getType,3).eq(SysUserDO::getAppId,"wx118de8a734d269f0"));
+ if(sysUserDO!=null){
+ return R.fail("账户名已存在");
+ }
+ SysUserDO sysUserDO1=new SysUserDO();
+ sysUserDO1.setUserId(Snowflake.getId());
+ sysUserDO1.setAccount(comPbCheckUserDTO.getAccount());
+ sysUserDO1.setPassword(new BCryptPasswordEncoder().encode(comPbCheckUserDTO.getPassword()));
+ sysUserDO1.setType(3);
+ sysUserDO1.setAppId("wx118de8a734d269f0");
+ sysUserDO1.setCommunityId(0L);
+ sysUserDO1.setBindingCheckUnitId(comPbCheckUserDTO.getCheckUnitId());
+ int restlt=userDao.insert(sysUserDO1);
+ if(restlt>0){
+ SysUserRoleDO sysUserRoleDO=new SysUserRoleDO();
+ sysUserRoleDO.setRoleId(123321L);
+ sysUserRoleDO.setUserId(sysUserDO1.getUserId());
+ sysUserRoleDAO.insert(sysUserRoleDO);
+ }
+ 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());
+ }
+ 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 getAreaAndStreet() {
--
Gitblit v1.7.1