From 232d3efb20f87f9c60faeda7bae4bc96e5687bd3 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期三, 11 十月 2023 19:19:47 +0800 Subject: [PATCH] 10.12 --- cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 163 insertions(+), 5 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 0165162..ec78a66 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 @@ -1,10 +1,14 @@ package com.dsh.account.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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; import com.dsh.account.feignclient.activity.MerChandiseClient; import com.dsh.account.feignclient.activity.MerChandiseStoreClient; import com.dsh.account.feignclient.activity.UserConponClient; @@ -12,6 +16,7 @@ import com.dsh.account.feignclient.competition.DeductionCompetitionsClient; import com.dsh.account.feignclient.competition.model.BillingDataRequestVo; import com.dsh.account.feignclient.competition.model.PaymentCompetition; +import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; import com.dsh.account.feignclient.course.CoursePackageClient; import com.dsh.account.feignclient.course.CoursePackageConfigClient; import com.dsh.account.feignclient.course.CoursePaymentClient; @@ -29,15 +34,22 @@ import com.dsh.account.model.*; import com.dsh.account.model.dto.Coupon; import com.dsh.account.model.query.appUserQuery.QueryAppUser; +import com.dsh.account.model.vo.DetailsListVo; import com.dsh.account.model.vo.QueryAppUserVO; import com.dsh.account.model.vo.classDetails.CourseVenue; import com.dsh.account.model.vo.classDetails.ExerciseVideo; import com.dsh.account.model.vo.classDetails.RegisteredCourse; import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo; import com.dsh.account.model.vo.userBenefitDetail.*; +import com.dsh.account.service.TAppGiftService; 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; @@ -54,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; @@ -138,9 +151,94 @@ @Autowired private TAppUserMapper appUserMapper; + @Autowired + private TAppGiftService appGiftService; + + @Autowired + private IntroduceRewardsClient introduceRewardsClient; @Override public List<QueryAppUserVO> listAll(QueryAppUser query) { return appUserMapper.listAll(query); + } + + @Override + public HashMap<String,Object> weeksOfCourseDetailsList(Integer appUserId, Integer stuId, String time, Integer storeId,String lon,String lat) { + // 门店id 查出所有课程 + HashMap<String, Object> map = paymentClient.weeksOfCourseDetailsList(new CourseDetailReq(appUserId, stuId, time, storeId,lon,lat)); + + return map; + } + + + @Override + public List<SelectDto> getSelects(List<Integer> studentIds) { + return this.baseMapper.getSelects(studentIds); + } + + @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) { @@ -171,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()); @@ -179,6 +278,7 @@ course.setPeriodOfValidity(tCoursePackagePayment.getPeriodOfValidity()); courseList.add(course); } + } classInfoVo.setCourseList(courseList); List<ExerciseVideo> stuCourseOfVideoList = voclClient.getStuCourseOfVideoList(coursePackIds); @@ -225,6 +325,10 @@ couList.setTimeStr(courseOfStoreVo.getClassStartTime() + "-" + courseOfStoreVo.getClassEndTime()); couList.setDetail("¥" + courseOfStoreVo.getCoursePrice() + "/会员扣2学时"); couList.setStatus(courseOfStoreVo.getStatus()); + + couList.setAllNum(courseOfStoreVo.getAllNum()); + couList.setUseNum(courseOfStoreVo.getUseNum()); + couList.setLastNum(courseOfStoreVo.getLastNum()); courses.add(couList); } courseVenue.setCourses(courses); @@ -282,11 +386,37 @@ 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()); this.baseMapper.insert(tAppUser); + + + // 介绍有礼 + if(addAppUserVo.getReferralUserId()!=null){ + Map<String, String> geocode = gdMapGeocodingUtil.geocode(addAppUserVo.getLon(), addAppUserVo.getLat()); + Integer num=0; + if(null != geocode){ + String province = geocode.get("province"); + String provinceCode = geocode.get("provinceCode"); + String city = geocode.get("city"); + String cityCode = geocode.get("cityCode"); + num = introduceRewardsClient.getGiftList(cityCode); + } + TAppGift one = appGiftService.getOne(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, addAppUserVo.getReferralUserId())); + if(one!=null){ + one.setNum(one.getNum()+num); + appGiftService.updateById(one); + }else { + TAppGift tAppGift = new TAppGift(); + tAppGift.setUserId(addAppUserVo.getReferralUserId()); + tAppGift.setNum(num); + appGiftService.save(tAppGift); + } + + } + return ResultUtil.success(); } @@ -305,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("账号密码错误", ""); } @@ -353,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){ @@ -362,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); @@ -380,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); } @@ -417,7 +559,7 @@ if(tAppUser.getState() == 2){ return ResultUtil.error("您的账号已被冻结", ""); } - tAppUser.setPassword(Md5Util.MD5Encode(password, null)); + tAppUser.setPassword(password); this.updateById(tAppUser); return ResultUtil.success(); } @@ -699,6 +841,8 @@ commodity.setBelongsType(vicinityGood.getUserPopulation()); commodity.setGoodsType(1); commodity.setNums(mcClient.getRedeemedQuantity(vicinityGood.getId())); + List<Integer> integers = mcsClient.queryPointMerStoreIds(vicinityGood.getId()); + commodity.setShopIds(integers); break; case 2: commodity.setGoodId(vicinityGood.getCoursePackageId()); @@ -715,6 +859,7 @@ commodity.setBelongsType(vicinityGood.getUserPopulation()); commodity.setGoodsType(2); commodity.setNums(mcClient.getRedeemedQuantity(vicinityGood.getId())); + commodity.setShopIds(mcsClient.queryPointMerStoreIds(vicinityGood.getId())); break; case 3: commodity.setGoodId(vicinityGood.getId()); @@ -730,8 +875,10 @@ commodity.setBelongsType(vicinityGood.getUserPopulation()); commodity.setGoodsType(3); commodity.setNums(mcClient.getRedeemedQuantity(vicinityGood.getId())); + commodity.setShopIds(mcsClient.queryPointMerStoreIds(vicinityGood.getId())); break; default: + break; } goods.add(commodity); @@ -753,10 +900,12 @@ } commodity.setBelongsType(allCoupon.getUserPopulation()); commodity.setGoodsType(4); + commodity.setShopIds(ucponClient.getCouponStoreIds(allCoupon.getId())); commodity.setNums(ucponClient.getRedeemedQuantity(allCoupon.getId())); goods.add(commodity); } } + if (StringUtils.hasText(request.getSearch())){ if (goods.size() > 0 ){ goods = goods.stream() @@ -764,6 +913,15 @@ .collect(Collectors.toList()); } } + // 2.0 门店筛选 + if (request.getShopId()!=null){ + if (goods.size() > 0 ){ + goods = goods.stream() + .filter(merchandise -> merchandise.getShopIds().contains(request.getShopId())) + .collect(Collectors.toList()); + } + } + if (null != request.getRank()){ switch (request.getRank()){ case 1: -- Gitblit v1.7.1