From 062fb1ed6efcaac5d75bbe184524c4929dff7fcd Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期三, 18 十月 2023 15:25:35 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 127 +++++++++++++++++++++++++++++++++++++++-- 1 files changed, 119 insertions(+), 8 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java index 656063c..49341f6 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.account.dto.SelectDto; +import com.dsh.account.dto.UserInfoQueryDTO; import com.dsh.account.entity.*; import com.dsh.account.enums.RechargeRecordEnum; import com.dsh.account.feignclient.activity.IntroduceRewardsClient; @@ -44,6 +45,11 @@ import com.dsh.account.service.TAppUserService; import com.dsh.account.util.*; import com.dsh.account.util.akeylogin.Md5Util; +import com.dsh.account.vo.GroupCityInfoVO; +import com.dsh.account.vo.entity.DayData; +import com.dsh.account.vo.entity.MonthData; +import com.dsh.account.vo.entity.WeekData; +import com.dsh.account.vo.entity.YearData; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; @@ -60,6 +66,7 @@ import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -169,6 +176,71 @@ } @Override + public Object changeState(AdvertisementChangeStateDTO dto) { + return appUserMapper.changeState(dto.getIds(),dto.getState()); + } + + @Override + public List<TAppUser> queryAPPUserByNameAndPhone(AppUserByNameAndPhoneDTO dto) { + return appUserMapper.queryAPPUserByNameAndPhone(dto); + } + @Override + public List<YearData> getYearUserCount(UserInfoQueryDTO dto) { + return appUserMapper.getYearUserCount(dto); + } + + @Override + public List<MonthData> getMonthUserCount(UserInfoQueryDTO dto) { + List<MonthData> monthUserCount = appUserMapper.getMonthUserCount(dto); + for (int i = 1; i <= 12; i++) { + String time = String.valueOf(i); + if (i < 10) { + time = "0" + time; + } + monthUserCount.add(Optional.ofNullable(monthUserCount.get(i)).orElse(new MonthData(time, 0))); + } + return monthUserCount.stream().sorted(Comparator.comparing(MonthData::getMonth)).collect(Collectors.toList()); + } + + @Override + public WeekData getWeekUserCount4(UserInfoQueryDTO dto) { + return appUserMapper.getWeekUserCount4(dto); + } + @Override + public WeekData getWeekUserCount3(UserInfoQueryDTO dto) { + return appUserMapper.getWeekUserCount3(dto); + } + @Override + public WeekData getWeekUserCount2(UserInfoQueryDTO dto) { + return appUserMapper.getWeekUserCount2(dto); + } + @Override + public WeekData getWeekUserCount1(UserInfoQueryDTO dto) { + return appUserMapper.getWeekUserCount1(dto); + } + + @Override + public List<DayData> getDayUserCount(UserInfoQueryDTO dto) { + List<DayData> dayUserCount = appUserMapper.getDayUserCount(dto); + if(dayUserCount.size()<7){ + for (int i = 1; i <= 6; i++) { + String time = LocalDate.now().minusDays(i).toString(); + for (DayData dayData : dayUserCount) { + if(!time.equals(dayData.getDay())){ + dayUserCount.add(new DayData(time,0)); + } + } + } + } + dayUserCount.forEach(dayData->dayData.setDay(dayData.getDay().split("-")[2])); + return dayUserCount.stream().sorted(Comparator.comparing(DayData::getDay)).collect(Collectors.toList()); + } + + @Override + public List<GroupCityInfoVO> groupCityInfo(UserInfoQueryDTO dto) { + return appUserMapper.groupCityInfo(dto); + } + @Override public ClassInfoVo queryUserOfStus(Integer id) { TAppUser tAppUser = this.baseMapper.selectById(id); ClassInfoVo classInfoVo = new ClassInfoVo(); @@ -197,6 +269,7 @@ coursePackIds = stuCoursePayment.stream().map(StuCourseResp::getCourseId).collect(Collectors.toList()); for (StuCourseResp tCoursePackagePayment : stuCoursePayment) { RegisteredCourse course = new RegisteredCourse(); + course.setId(tCoursePackagePayment.getId()); course.setCourseId(tCoursePackagePayment.getCourseId()); course.setCourseName(tCoursePackagePayment.getCourseName()); course.setTotalNums(ToolUtil.isEmpty(tCoursePackagePayment.getTotalCourseNums()) ? 0 : tCoursePackagePayment.getTotalCourseNums()); @@ -205,6 +278,7 @@ course.setPeriodOfValidity(tCoursePackagePayment.getPeriodOfValidity()); courseList.add(course); } + } classInfoVo.setCourseList(courseList); List<ExerciseVideo> stuCourseOfVideoList = voclClient.getStuCourseOfVideoList(coursePackIds); @@ -312,7 +386,7 @@ tAppUser = new TAppUser(); tAppUser.setCode(UUIDUtil.getNumberRandom(16)); tAppUser.setPhone(addAppUserVo.getPhone()); - tAppUser.setPassword(Md5Util.MD5Encode(addAppUserVo.getPassword(), null)); + tAppUser.setPassword(addAppUserVo.getPassword()); tAppUser.setIsVip(0); tAppUser.setState(1); tAppUser.setInsertTime(new Date()); @@ -361,9 +435,9 @@ return ResultUtil.error("请先注册", ""); } if(tAppUser.getState() == 2){ - return ResultUtil.error("您的账号已被冻结", ""); + return ResultUtil.errorCode("您的账号已被冻结", ""); } - password = Md5Util.MD5Encode(password, null); +// password = Md5Util.MD5Encode(password, null); if(!tAppUser.getPassword().equals(password)){ return ResultUtil.error("账号密码错误", ""); } @@ -409,6 +483,7 @@ @Override public ResultUtil loginWechat(LoginWeChatVo loginWechatVo) throws Exception { TAppUser tAppUser = this.baseMapper.selectOne(new QueryWrapper<TAppUser>().eq("openid", loginWechatVo.getOpenId()).ne("state", 3)); + if(null == tAppUser){ tAppUser = this.baseMapper.selectOne(new QueryWrapper<TAppUser>().eq("phone", loginWechatVo.getPhone()).ne("state", 3)); if(null == tAppUser){ @@ -418,6 +493,9 @@ tAppUser.setPhone(loginWechatVo.getPhone()); tAppUser.setPassword(Md5Util.MD5Encode("111111", null)); tAppUser.setIsVip(0); + tAppUser.setName(loginWechatVo.getNickname()); + tAppUser.setHeadImg(loginWechatVo.getHeadimgurl()); + tAppUser.setGender(loginWechatVo.getSex()); tAppUser.setState(1); tAppUser.setInsertTime(new Date()); this.baseMapper.insert(tAppUser); @@ -436,7 +514,15 @@ this.updateById(tAppUser); String token = getToken(tAppUser); - return ResultUtil.success(token); + + HashMap<String, String> map = new HashMap<>(); + map.put("token",token); + if(ToolUtil.isEmpty(tAppUser.getPhone())){ + map.put("isBind","0"); + }else { + map.put("isBind","1"); + } + return ResultUtil.success(map); } @@ -470,10 +556,13 @@ return ResultUtil.error("验证码无效"); } TAppUser tAppUser = this.baseMapper.selectOne(new QueryWrapper<TAppUser>().eq("phone", phone).ne("state", 3)); + if(tAppUser==null){ + return ResultUtil.error("该账号未注册", ""); + } if(tAppUser.getState() == 2){ return ResultUtil.error("您的账号已被冻结", ""); } - tAppUser.setPassword(Md5Util.MD5Encode(password, null)); + tAppUser.setPassword(password); this.updateById(tAppUser); return ResultUtil.success(); } @@ -530,7 +619,7 @@ for (Store store : stores) { Map<String, Double> distance = GeodesyUtil.getDistance(lon + "," + lat, store.getLon() + "," + store.getLat()); Double wgs84 = distance.get("WGS84"); - if(s == null || d.compareTo(wgs84) < 0){ + if(s == null || d>wgs84){ s = store; d = wgs84; } @@ -749,7 +838,7 @@ if (vicinityGood.getRedemptionMethod() == 1) { commodity.setIntegral(vicinityGood.getIntegral().intValue()); } else { - commodity.setIntegral(vicinityGood.getIntegral().intValue()); + commodity.setIntegral(ToolUtil.isEmpty(vicinityGood.getIntegral())?0:vicinityGood.getIntegral()); commodity.setAmount(vicinityGood.getCash()); } commodity.setBelongsType(vicinityGood.getUserPopulation()); @@ -783,7 +872,7 @@ if (vicinityGood.getRedemptionMethod() == 1) { commodity.setIntegral(vicinityGood.getIntegral().intValue()); } else { - commodity.setIntegral(vicinityGood.getIntegral().intValue()); + commodity.setIntegral(ToolUtil.isEmpty(vicinityGood.getIntegral())?0:vicinityGood.getIntegral()); commodity.setAmount(vicinityGood.getCash()); } commodity.setBelongsType(vicinityGood.getUserPopulation()); @@ -792,6 +881,7 @@ commodity.setShopIds(mcsClient.queryPointMerStoreIds(vicinityGood.getId())); break; default: + break; } goods.add(commodity); @@ -813,6 +903,7 @@ } commodity.setBelongsType(allCoupon.getUserPopulation()); commodity.setGoodsType(4); + commodity.setShopIds(ucponClient.getCouponStoreIds(allCoupon.getId())); commodity.setNums(ucponClient.getRedeemedQuantity(allCoupon.getId())); goods.add(commodity); } @@ -944,7 +1035,27 @@ if (ToolUtil.isEmpty(merchandise)){ return ResultUtil.error("商品不存在"); } + + TAppUser tAppUser = this.baseMapper.selectById(userIdFormRedis); + + + if(merchandise.getUserPopulation()==2){ + if(tAppUser.getIsVip()==0){ + return ResultUtil.error("该商品只能年度会员购买"); + } + } + + + + if(merchandise.getUserPopulation()==3){ + List<TStudent> students = tsmapper.selectList(new LambdaQueryWrapper<TStudent>().eq(TStudent::getAppUserId, userIdFormRedis)); + if(students.size()==0){ + return ResultUtil.error("该商品只能已有学员用户购买"); + } + } + + if (ToolUtil.isEmpty(tAppUser)){ return ResultUtil.error("用户不存在"); } -- Gitblit v1.7.1