From d1169af7e268c6b38f441f549a042267fb77412d Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期二, 11 十月 2022 17:56:07 +0800
Subject: [PATCH] 三说会堂登陆账号处理
---
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 487 ++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 417 insertions(+), 70 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 7ce8a46..03fb117 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;
@@ -16,19 +15,22 @@
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;
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;
import com.panzhihua.common.model.vos.community.acid.ComActAcidRecordVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.McsLoginUserInfoVO;
+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;
@@ -96,7 +98,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;
@@ -105,7 +106,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;
@@ -203,7 +203,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);
@@ -219,6 +219,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);
@@ -227,6 +228,7 @@
sysUserDO.setPassword(encode);
sysUserDO.setLastLoginTime(date);
sysUserDO.setType(1);
+ sysUserDO.setAppId(appId);
num = userDao.updateById(sysUserDO);
}
if (num > 0) {
@@ -301,18 +303,24 @@
* @return 用户基本信息、角色
*/
@Override
- public R<LoginUserInfoVO> getUserInfo(String name, int type) {
+ 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 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));
+ 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);
@@ -471,8 +479,37 @@
}
}
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);
+ }
+ //是否为三说会堂专家
+ ComSanshuoExpertVO expertVO=userDao.isExpert(loginUserInfoVO.getPhone());
+ if (nonNull(expertVO)){
+ loginUserInfoVO.setType(13);
+ }
return R.ok(loginUserInfoVO);
}
+
+
/**
* 修改用户登录密码
@@ -689,12 +726,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 +742,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());
@@ -785,10 +783,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);
}
@@ -1251,6 +1269,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);
@@ -2075,9 +2094,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("协议不存在");
}
@@ -2291,14 +2310,20 @@
String encode = new BCryptPasswordEncoder().encode(storeVO.getStorePassword());
BeanUtils.copyProperties(storeVO, sysUserDO);
sysUserDO.setAccount(storeVO.getStoreAccount());
- sysUserDO.setType(5);
+ sysUserDO.setType(20);
+ sysUserDO.setCommunityId(communityId);
sysUserDO.setAreaId(null);
sysUserDO.setStatus(1);
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());
@@ -2945,7 +2970,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<>();
@@ -2963,9 +2988,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 -> {
@@ -2978,7 +3003,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());
@@ -3317,7 +3342,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"));
@@ -3334,8 +3359,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)){
//不传默认为所有区县
@@ -3416,7 +3441,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)){
//街道,区县筛选
@@ -3424,7 +3449,7 @@
BeanUtils.copyProperties(indexDataVO,analysisVO );
}else {
//总量数据
- IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(null);
+ IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(appId);
BeanUtils.copyProperties(indexDataKanbanVO,analysisVO );
}
String date="";
@@ -3434,7 +3459,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)){
@@ -3452,7 +3477,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()));
@@ -3481,7 +3506,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)){
//街道,区县筛选
@@ -3489,7 +3514,7 @@
BeanUtils.copyProperties(indexDataVO,analysisVO );
}else {
//总量数据
- IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(null);
+ IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(appId);
BeanUtils.copyProperties(indexDataKanbanVO,analysisVO );
}
String date="";
@@ -3500,7 +3525,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());
@@ -3545,7 +3570,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<>();
@@ -3558,7 +3583,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());
}
@@ -3568,11 +3593,10 @@
return R.ok(vo);
}
-
@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="";
@@ -3600,6 +3624,258 @@
}
return R.ok();
}
+
+ @Override
+ public R wsPush(String washPhone,String phone,String washName,Integer orderStatus) {
+ if(StringUtils.isNotEmpty(phone)){
+ SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone,phone).eq(SysUserDO::getAppId,"wx98d62711dfbd8425").orderByDesc(SysUserDO::getCreateAt).last("limit 1"));
+ if(sysUserDO!=null&&StringUtils.isNotEmpty(sysUserDO.getOpenid())){
+ String status="";
+ String accessToken="";
+ WxXCXTempSend util = new WxXCXTempSend();
+ try {
+ accessToken = util.getWsAccessToken();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ switch (orderStatus){
+ case 3 : status="已分配车美";
+ WxUtil.sendUuWash3(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"sNj6m-JBvW6rOokKGDX9X3-XH1AD0GY5_X0jA9JSLwc");
+ break;
+ case 4 : status="车美已开始服务";
+ WxUtil.sendUuWash4(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"Eft5ksvsnOQANy2uNOGY43CC3pb33eDGA_lgCEoxuiw");
+ break;
+ case 6 : status="订单确认完成";
+ WxUtil.sendUuWash6(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"iPS8yrsGDqy76hiP8bIbxkosveoX1xTFhdusSiGp-XM");
+ break;
+ case 9 : status="订单已取消";
+ WxUtil.sendUuWash(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"z_ysGXz9JWBc2rXuYZzVCXKJTyLf0w0WerrohuNoEng");
+ break;
+ }
+ }
+ }
+ 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,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);
+ }
+ 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 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() {
List<Integer> areaCodeList=areaCodeList();
@@ -3608,7 +3884,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 +4016,9 @@
case "510422":
name="盐边县";
break;
+ case "510424":
+ name="钒钛新区";
+ break;
}
return name;
}
@@ -3780,11 +4059,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 +4087,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