From 0947c349e79d437dfb056bb2c622cba478c882f0 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期四, 21 七月 2022 15:40:56 +0800
Subject: [PATCH] bug修改
---
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 134 ++++++++++++++++++++++++++++++++++++--------
1 files changed, 110 insertions(+), 24 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 268b549..af569a8 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -105,6 +105,7 @@
import cn.hutool.core.util.IdcardUtil;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestParam;
// import com.panzhihua.common.service.grid.GridService;
@@ -300,7 +301,7 @@
* @return 用户基本信息、角色
*/
@Override
- public R<LoginUserInfoVO> getUserInfo(String name, int type) {
+ public R<LoginUserInfoVO> getUserInfo(String name, int type,String appId) {
SysUserDO sysUserDO = null;
if (1 == type) {
sysUserDO = userDao.selectOne(
@@ -337,11 +338,11 @@
if(StringUtils.isNotEmpty(areaName)){
loginUserInfoVO.setAreaName(areaName);
}
- SysAppConfig sysAppConfig=sysAppConfigDao.selectOne(new QueryWrapper<SysAppConfig>().lambda().eq(SysAppConfig::getAreaCode,comActVO.getAreaCode()));
- if(sysAppConfig!=null){
- loginUserInfoVO.setAppId(sysAppConfig.getAppId());
- loginUserInfoVO.setAppSecret(sysAppConfig.getSecret());
- }
+// SysAppConfig sysAppConfig=sysAppConfigDao.selectOne(new QueryWrapper<SysAppConfig>().lambda().eq(SysAppConfig::getAreaCode,comActVO.getAreaCode()));
+// if(sysAppConfig!=null){
+// loginUserInfoVO.setAppId(sysAppConfig.getAppId());
+// loginUserInfoVO.setAppSecret(sysAppConfig.getSecret());
+// }
}
}
List<SysRoleDO> roleDOList = roleDAO.selectByUserId(sysUserDO.getUserId());
@@ -1753,9 +1754,9 @@
* @return 协议内容
*/
@Override
- public R userAgreement(int type) {
+ public R userAgreement(int type,String appId) {
SysUserAgreementDO sysUserAgreementDO = sysUserAgreementDAO
- .selectOne(new QueryWrapper<SysUserAgreementDO>().lambda().eq(SysUserAgreementDO::getType, type));
+ .selectOne(new QueryWrapper<SysUserAgreementDO>().lambda().eq(SysUserAgreementDO::getType, type).eq(SysUserAgreementDO::getAppId,appId));
return R.ok(sysUserAgreementDO);
}
@@ -3343,7 +3344,7 @@
if (type.equals(ALLCOUNTY) || type.equals(ALLCOMMUNITY) || type.equals(ALLSTREET)){
BeanUtils.copyProperties(indexDataKanbanVO,vo);
}else {
- IndexDataKanbanVO indexDataVO = userDao.dataKanBanStreet(streetId,areaCode);
+ IndexDataKanbanVO indexDataVO = userDao.dataKanBanStreet(streetId,areaCode,null);
BeanUtils.copyProperties(indexDataVO,vo);
}
// List<UserProportion> userProportionsTotal = userDao.userAnalysis(type, null, streetId,areaCode);
@@ -3419,14 +3420,13 @@
IndexDataAnalysisVO analysisVO=new IndexDataAnalysisVO();
if (type.equals(BYSTREET) || type.equals(BYAREA)){
//街道,区县筛选
- IndexDataKanbanVO indexDataVO = userDao.dataKanBanStreet(streetId,areaCode);
+ IndexDataKanbanVO indexDataVO = userDao.dataKanBanStreet(streetId,areaCode,null);
BeanUtils.copyProperties(indexDataVO,analysisVO );
}else {
//总量数据
IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(null);
BeanUtils.copyProperties(indexDataKanbanVO,analysisVO );
}
- UserRateVO userRateVO=new UserRateVO();
String date="";
if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(range)){
if (range.equals(1)){
@@ -3436,26 +3436,45 @@
}
List<UserProportion> userProportions = userDao.userAnalysis(type, date, streetId,areaCode);
List<UserRateAnalysisVO> userRateAnalysisVOList=new ArrayList<>();
+ Boolean monthRange=false;
+ if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(range)){
+ if (range.equals(1)){
+ monthRange=true;
+ }
+ }
if (userProportions.size()>0){
for (UserProportion userProportion : userProportions) {
if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(userProportion)){
UserRateAnalysisVO vo=new UserRateAnalysisVO();
+ if (monthRange){
+ if (userProportion.getCommunityId().equals("11")){
+ continue;
+ }
+ //获取本月的用户总数作为计算占比的用户总数
+ //IndexDataKanbanVO data = userDao.dataKanBanStreet(streetId, areaCode, date);
+ Integer monthUsers = userDao.getMonthUsers(streetId, areaCode, date);
+ vo.setRate(getRate(monthUsers,userProportion.getUser()));
+ }else{
+ vo.setRate(getRate(analysisVO.getAllUser(),userProportion.getUser()));
+ }
vo.setName(typeToName(type,userProportion ));
- userProportion.setRate(getRate(analysisVO.getAllUser(),userProportion.getUser()));
vo.setCount(userProportion.getUser());
userRateAnalysisVOList.add(vo);
}
}
}
- //计算其他用户占比
- final Boolean flag=(type.equals(ALLSTREET) || type.equals(ALLCOMMUNITY) || type.equals(BYSTREET) || type.equals(BYAREA));
- if (flag){
- UserRateAnalysisVO vo=new UserRateAnalysisVO();
- vo.setName(OTHERUSER);
- vo.setCount(analysisVO.getAllUser()-countUser(userRateAnalysisVOList));
- vo.setRate(getRate(analysisVO.getAllUser(), vo.getCount()));
- userRateAnalysisVOList.add(vo);
+ if (ObjectUtils.isEmpty(range)){
+ //查看累计数据时才计算其他用户的比例 || type.equals(BYSTREET) || type.equals(BYAREA))
+ final Boolean flag=(type.equals(ALLSTREET) || type.equals(ALLCOMMUNITY));
+ if (flag){
+ UserRateAnalysisVO vo=new UserRateAnalysisVO();
+ vo.setName(OTHERUSER);
+ vo.setCount(analysisVO.getAllUser()-countUser(userRateAnalysisVOList));
+ vo.setRate(getRate(analysisVO.getAllUser(), vo.getCount()));
+ userRateAnalysisVOList.add(vo);
+ }
}
+ //计算其他用户占比
UserRateVO userRate=new UserRateVO();
userRate.setUserList(userRateAnalysisVOList);
return R.ok(userRate);
@@ -3466,7 +3485,7 @@
IndexDataAnalysisVO analysisVO=new IndexDataAnalysisVO();
if (type.equals(BYSTREET) || type.equals(BYAREA)){
//街道,区县筛选
- IndexDataKanbanVO indexDataVO = userDao.dataKanBanStreet(streetId,areaCode);
+ IndexDataKanbanVO indexDataVO = userDao.dataKanBanStreet(streetId,areaCode,null);
BeanUtils.copyProperties(indexDataVO,analysisVO );
}else {
//总量数据
@@ -3484,14 +3503,44 @@
List<RealUser> realUsers = userDao.realUserCount(type, date, streetId, areaCode);
List<RealUserAnalysisVO> realUserList=new ArrayList<>();
realUserVO.setRealUserCount(getStreetRealUser(realUsers));
- realUserVO.setRealUserRate(getRate(analysisVO.getAllUser(), realUserVO.getRealUserCount()));
+ Integer rate = getRate(analysisVO.getAllUser(), realUserVO.getRealUserCount());
+ if (null == rate){
+ realUserVO.setRealUserRate(0.0);
+ }else{
+ realUserVO.setRealUserRate(rate.doubleValue());
+ }
for (RealUser realUser : realUsers) {
+ if (!(type.equals(ALLCOUNTY))){
+ if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(realUser)){
+ if (realUser.getCommunityId().equals("11")){
+ continue;
+ }
+ }
+ }
RealUserAnalysisVO vo=new RealUserAnalysisVO();
vo.setCount(realUser.getCount());
vo.setName(typeToNameRealUser(type, realUser));
realUserList.add(vo);
}
realUserVO.setRealUserList(realUserList);
+ //使用索引迭代避免从列表移除数据后出现空指针异常
+ if (type.equals(BYSTREET) || type.equals(ALLCOMMUNITY)){
+ for (int i = 0; i < realUserList.size() ; i++) {
+ RealUserAnalysisVO realUserAnalysisVO = realUserList.get(i);
+ if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(realUserAnalysisVO)){
+ if (StringUtils.isNotEmpty(realUserAnalysisVO.getName())){
+ if (realUserAnalysisVO.getName().equals("请选择社区")){
+ realUserList.remove(i);
+ }
+ }
+ }
+ }
+ }else {
+ //只保留十条
+ if (realUserList.size()>=11){
+ realUserList.remove(10);
+ }
+ }
return R.ok(realUserVO);
}
@@ -3519,6 +3568,38 @@
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"));
+ if(sysUserDO!=null&&StringUtils.isNotEmpty(sysUserDO.getOpenid())){
+ String status="";
+ String accessToken="";
+ WxXCXTempSend util = new WxXCXTempSend();
+ try {
+ accessToken = util.getAccessToken();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ switch (orderStatus){
+ case 3 : status="已分配车美";
+ WxUtil.sendUuWash3(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"sU18zbyzxFldHAdOREaQCR5uq_uMvCKTmGtklO1xw-w");
+ 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,"k1aV97H3pDNNcNcDTeZBD9jQemNDADnRE801HhTXweI");
+ break;
+ case 9 : status="订单已取消";
+ WxUtil.sendUuWash(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"9_2FhQPDxZoUqmAuIZ1L1zjjYXokdNvu7A0gzKfvruI");
+ break;
+ }
+ }
+ }
+ return R.ok();
+ }
@Override
public R getAreaAndStreet() {
List<Integer> areaCodeList=areaCodeList();
@@ -3532,6 +3613,7 @@
}
return R.ok(areaVOList);
}
+
/**
* 获取最近20天数据
@@ -3576,11 +3658,12 @@
/**
* 计算占比
* */
- private Double getRate(Integer total,Integer count){
+ private Integer getRate(Integer total,Integer count){
if (0 != total && null != total){
if (0 != count && null != count){
BigDecimal div = NumberUtil.div(count.toString(), total.toString(),2);
- return div.doubleValue();
+ BigDecimal mul = NumberUtil.mul(div, 100);
+ return mul.intValue();
}
}
return null;
@@ -3634,6 +3717,7 @@
return dateList;
}
+
/**
* areaCode转区县名
* */
@@ -3646,6 +3730,7 @@
break;
case "510402":
name="东区";
+ break;
case "510411":
name="仁和区";
break;
@@ -3663,6 +3748,7 @@
*根据type选择要设置的名称
* */
private String typeToName(Integer type,UserProportion proportion){
+ log.info("当前code"+proportion.getAreaCode());
String name="";
if (type.equals(ALLCOUNTY)){
name=areaCodeToName(proportion.getAreaCode());
--
Gitblit v1.7.1