From 640ff18d2d7f4be02ddb7f8f75e899f05545eb98 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 05 二月 2024 11:56:52 +0800 Subject: [PATCH] 更新bug修改 --- cloud-server-management/src/main/java/com/dsh/course/feignClient/account/StudentHonorClient.java | 20 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java | 28 - cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 175 ------- cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java | 123 ++--- cloud-server-other/src/main/java/com/dsh/other/controller/HonorController.java | 6 cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java | 4 cloud-server-account/src/main/java/com/dsh/account/service/StudentHonorService.java | 2 cloud-server-account/src/main/resources/sharding-jdbc.properties | 28 cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/model/StudentHonor.java | 19 cloud-server-account/src/main/java/com/dsh/account/controller/StudentHonorController.java | 59 ++ cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/StudentHonorClient.java | 20 cloud-server-account/src/main/java/com/dsh/account/feignclient/other/HonorRulesClient.java | 30 + cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java | 99 +-- cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/StudentHonor.java | 19 cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java | 31 + cloud-server-other/src/main/java/com/dsh/other/feignclient/account/StudentHonorClient.java | 20 cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java | 6 cloud-server-course/src/main/java/com/dsh/course/feignclient/account/model/StudentHonor.java | 19 cloud-server-course/src/main/java/com/dsh/course/feignclient/account/StudentHonorClient.java | 20 cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageSchedulingClient.java | 1 cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java | 10 cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java | 18 cloud-server-account/src/main/java/com/dsh/account/entity/StudentHonor.java | 11 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java | 45 - cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/HonorRules.java | 21 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 135 ++--- cloud-server-competition/src/main/java/com/dsh/competition/util/TaskUtilCompetition.java | 36 + cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java | 5 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 22 cloud-server-other/src/main/java/com/dsh/other/controller/HonorRulesController.java | 49 ++ cloud-server-other/src/main/java/com/dsh/other/feignclient/account/model/StudentHonor.java | 19 cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/IntroduceRewardsClient.java | 2 cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CancelledClassesClient.java | 3 cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java | 121 +--- cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java | 46 ++ 35 files changed, 705 insertions(+), 567 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java index 7d92af3..b156500 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java @@ -170,11 +170,9 @@ return ResultUtil.tokenErr(); } TAppGift one = appGiftService.getOne(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, appUserId)); - Boolean b = false; Integer i = 0; if (one != null && one.getNum() > 0) { i = appGiftService.weeksOfAddHours(packetId, appUserId, one.getNum()); - } if (i == 1) { // 送完清0 @@ -575,13 +573,11 @@ }) public ResultUtil<List<StuMedalVo>> queryStuMedal(Integer stuId) { try { - - Integer appUserId = tokenUtil.getUserIdFormRedis(); if (null == appUserId) { return ResultUtil.tokenErr(); } - return ResultUtil.success(honorService.queryHonorDetails(stuId)); + return ResultUtil.success(honorService.queryHonorDetails(appUserId)); } catch (Exception e) { return ResultUtil.runErr(); } diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/StudentHonorController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/StudentHonorController.java new file mode 100644 index 0000000..d07d6d7 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/StudentHonorController.java @@ -0,0 +1,59 @@ +package com.dsh.account.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsh.account.entity.StudentHonor; +import com.dsh.account.feignclient.other.HonorRulesClient; +import com.dsh.account.feignclient.other.model.HonorRules; +import com.dsh.account.service.StudentHonorService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; + + +/** + * 勋章 + */ +@RestController +@RequestMapping("/studentHonor") +public class StudentHonorController { + + @Autowired + private StudentHonorService studentHonorService; + + @Resource + private HonorRulesClient honorRulesClient; + + + + + + /** + * 保存用户勋章 + * @param studentHonor + */ + @ResponseBody + @PostMapping("/saveStudentHonor") + public void saveStudentHonor(@RequestBody StudentHonor studentHonor){ + StudentHonor one = studentHonorService.getOne(new QueryWrapper<StudentHonor>() + .eq("appUserId", studentHonor.getAppUserId()).eq("honorType", studentHonor.getHonorType())); + if(null == one){ + one = new StudentHonor(); + } + //获取荣耀规则 + HonorRules honorRules = new HonorRules(); + honorRules.setType(studentHonor.getHonorType()); + honorRules.setCondition(studentHonor.getNumber()); + HonorRules honorRules1 = honorRulesClient.getHonorRules(honorRules); + if(null != honorRules1){ + one.setAppUserId(studentHonor.getAppUserId()); + one.setHonorType(studentHonor.getHonorType()); + one.setNumber(studentHonor.getNumber()); + one.setHonorRuleId(honorRules1.getId()); + one.setHonorLevel(honorRules1.getLevel()); + one.setInsertTime(new Date()); + studentHonorService.saveOrUpdate(one); + } + } +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/entity/StudentHonor.java b/cloud-server-account/src/main/java/com/dsh/account/entity/StudentHonor.java index 7f78a73..158cce9 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/entity/StudentHonor.java +++ b/cloud-server-account/src/main/java/com/dsh/account/entity/StudentHonor.java @@ -34,10 +34,10 @@ @TableId(value = "id", type = IdType.AUTO) private Integer id; /** - * 学员id + * 用户id */ - @TableField("stuId") - private Integer stuId; + @TableField("appUserId") + private Integer appUserId; /** * 荣耀规则id */ @@ -54,6 +54,11 @@ @TableField("honorLevel") private Integer honorLevel; /** + * 当前次数 + */ + @TableField("number") + private Integer number; + /** * 添加时间 */ @TableField("insertTime") diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/IntroduceRewardsClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/IntroduceRewardsClient.java index 393b0ec..25c534e 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/IntroduceRewardsClient.java +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/IntroduceRewardsClient.java @@ -18,7 +18,7 @@ public List<PurchaseRecordVo> queryAppUsersofIntroduce(@RequestBody IntrduceOfUserRequest request); @PostMapping("/base/introduce/getGiftList") - IntroduceRewards getGiftList(@RequestBody String cityCode); + List<IntroduceRewards> getGiftList(@RequestBody String cityCode); } diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/HonorRulesClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/HonorRulesClient.java new file mode 100644 index 0000000..cc0dae4 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/HonorRulesClient.java @@ -0,0 +1,30 @@ +package com.dsh.account.feignclient.other; + +import com.dsh.account.feignclient.other.model.HonorRules; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + + +/** + * 荣耀规则 + */ +@FeignClient("mb-cloud-other") +public interface HonorRulesClient { + + + /** + * 获取合适的规则 + * @param honorRules + * @return + */ + @PostMapping("/honorRules/getHonorRules") + HonorRules getHonorRules(HonorRules honorRules); + + /** + * 根据id获取数据 + * @param id + * @return + */ + @PostMapping("/honorRules/getHonorRulesById") + HonorRules getHonorRulesById(Integer id); +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/HonorRules.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/HonorRules.java new file mode 100644 index 0000000..ad51b47 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/HonorRules.java @@ -0,0 +1,21 @@ +package com.dsh.account.feignclient.other.model; + + +import lombok.Data; + +@Data +public class HonorRules { + private Integer id; + /** + * 数据类型(1=俱乐部之星,2=运动达人,3=社区之王,4=深度玩家) + */ + private Integer type; + /** + * 等级 + */ + private Integer level; + /** + * 满足条件值 + */ + private Integer condition; +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/StudentHonorService.java b/cloud-server-account/src/main/java/com/dsh/account/service/StudentHonorService.java index d14ca47..b4e6464 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/StudentHonorService.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/StudentHonorService.java @@ -19,6 +19,6 @@ List<GongVo> queryStuOfMedalData(Integer stuId); - List<StuMedalVo> queryHonorDetails(Integer stuId); + List<StuMedalVo> queryHonorDetails(Integer appUserId); } diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java index 60ec8c2..a7bbcb8 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java @@ -9,6 +9,7 @@ import com.dsh.account.feignclient.course.CoursePackageClient; import com.dsh.account.feignclient.course.model.CoursePackage; import com.dsh.account.feignclient.other.HonorDeClient; +import com.dsh.account.feignclient.other.HonorRulesClient; import com.dsh.account.feignclient.other.SiteClient; import com.dsh.account.mapper.StudentHonorMapper; import com.dsh.account.model.vo.medalDetail.GongVo; @@ -45,13 +46,19 @@ @Resource private SiteClient siteClient; - @Autowired private HonorDeClient honorDeClient; - @Autowired private TStudentService studentService; + + @Autowired + private HonorRulesClient honorRulesClient; + + + + + @Override public List<GongVo> queryStuOfMedalData(Integer stuId) { @@ -124,101 +131,41 @@ @Override - public List<StuMedalVo> queryHonorDetails(Integer stuId) { - List<StuMedalVo> studentHonors = new ArrayList<>(); -// List<Integer> collect = studentHonors.stream().map(StudentHonor::getHonorRuleId).collect(Collectors.toList()); - - Integer count1 = coursePackageClient.counts(stuId); - if (count1 > 0) { + public List<StuMedalVo> queryHonorDetails(Integer appUserId) { + List<StuMedalVo> list = new ArrayList<>(); + List<StudentHonor> studentHonors = this.list(new QueryWrapper<StudentHonor>().eq("appUserId", appUserId)); + for (StudentHonor studentHonor : studentHonors) { StuMedalVo vo = new StuMedalVo(); - vo.setMedalType(1); - vo.setMedalName("俱乐部之星"); + vo.setMedalType(studentHonor.getHonorType()); + switch (studentHonor.getHonorType()){ + case 1: + vo.setMedalName("俱乐部之星"); + break; + case 2: + vo.setMedalName("运动达人"); + break; + case 3: + vo.setMedalName("社区之王"); + break; + case 4: + vo.setMedalName("深度玩家"); + break; + } //拿到当前对应的rule对象 List<Integer> integers = new ArrayList<>(); - integers.add(1); - integers.add(count1); + integers.add(studentHonor.getHonorType()); + integers.add(studentHonor.getNumber()); HonorRules honorRules = honorDeClient.getHonor(integers); - if (count1 < Integer.valueOf(honorRules.getCondition())) { + if (studentHonor.getNumber() < Integer.valueOf(honorRules.getCondition())) { vo.setLevelNum(Integer.valueOf(honorRules.getLevel()) - 1); vo.setNextLevel(Integer.valueOf(honorRules.getLevel())); - vo.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition()) - count1)); + vo.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition()) - studentHonor.getNumber())); vo.setIsTopLevel(0); } else { vo.setIsTopLevel(1); } - - studentHonors.add(vo); + list.add(vo); } - - Integer count2 = participantClient.counts(stuId); - if (count2 > 0) { - StuMedalVo vo = new StuMedalVo(); - vo.setMedalType(2); - vo.setMedalName("运动达人"); - //拿到当前对应的rule对象 - List<Integer> integers = new ArrayList<>(); - integers.add(2); - integers.add(count2); - HonorRules honorRules = honorDeClient.getHonor(integers); - if (count2 < Integer.valueOf(honorRules.getCondition())) { - vo.setLevelNum(Integer.valueOf(honorRules.getLevel()) - 1); - vo.setNextLevel(Integer.valueOf(honorRules.getLevel())); - vo.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition()) - count2)); - vo.setIsTopLevel(0); - } else { - vo.setIsTopLevel(1); - } - - studentHonors.add(vo); - } - TStudent student = studentService.getById(stuId); - - Integer count3 = siteClient.counts(student.getAppUserId()); - if (count3 > 0) { - StuMedalVo vo = new StuMedalVo(); - vo.setMedalType(3); - vo.setMedalName("社区之王"); - //拿到当前对应的rule对象 - List<Integer> integers = new ArrayList<>(); - integers.add(3); - integers.add(count3); - HonorRules honorRules = honorDeClient.getHonor(integers); - if (count3 < Integer.valueOf(honorRules.getCondition())) { - vo.setLevelNum(Integer.valueOf(honorRules.getLevel()) - 1); - vo.setNextLevel(Integer.valueOf(honorRules.getLevel())); - vo.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition()) - count3)); - vo.setIsTopLevel(0); - } else { - vo.setIsTopLevel(1); - } - - studentHonors.add(vo); - } - - - Integer count4 = coursePackageClient.counts1(stuId); - if (count4 > 0) { - StuMedalVo vo = new StuMedalVo(); - vo.setMedalType(4); - vo.setMedalName("深度玩家"); - //拿到当前对应的rule对象 - List<Integer> integers = new ArrayList<>(); - integers.add(4); - integers.add(count4); - HonorRules honorRules = honorDeClient.getHonor(integers); - if (count4 < Integer.valueOf(honorRules.getCondition())) { - vo.setLevelNum(Integer.valueOf(honorRules.getLevel()) - 1); - vo.setNextLevel(Integer.valueOf(honorRules.getLevel())); - vo.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition()) - count4)); - vo.setIsTopLevel(0); - } else { - vo.setIsTopLevel(1); - } - - studentHonors.add(vo); - } - - - return studentHonors; + return list; } } 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 979be10..8676cfc 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 @@ -459,43 +459,40 @@ return ResultUtil.error("请先开启定位", ""); } Map<String, String> geocode = gdMapGeocodingUtil.geocode(addAppUserVo.getLon(), addAppUserVo.getLat()); - Integer num = 0; - Integer activityId = null; if (null != geocode) { - String province = geocode.get("province"); - String provinceCode = geocode.get("provinceCode"); - String city = geocode.get("city"); String cityCode = geocode.get("cityCode"); // 根据所在市code 查询是否有介绍有礼活动 - IntroduceRewards res = introduceRewardsClient.getGiftList(cityCode); + List<IntroduceRewards> res = introduceRewardsClient.getGiftList(cityCode); if (res != null) { - num = res.getGiveClass(); - activityId = res.getId(); - if (ToolUtil.isNotEmpty(addAppUserVo.getInvitePhone())) { - List<TAppUser> tAppUsers = this.baseMapper.selectList(new LambdaQueryWrapper<TAppUser>() - .eq(TAppUser::getPhone, addAppUserVo.getInvitePhone())); - if (tAppUsers.size() > 0) { - addAppUserVo.setReferralUserId(tAppUsers.get(0).getId()); + for (IntroduceRewards re : res) { + Integer num = re.getGiveClass(); + Integer activityId = re.getId(); + if (ToolUtil.isNotEmpty(addAppUserVo.getInvitePhone())) { + List<TAppUser> tAppUsers = this.baseMapper.selectList(new LambdaQueryWrapper<TAppUser>() + .eq(TAppUser::getPhone, addAppUserVo.getInvitePhone())); + if (tAppUsers.size() > 0) { + addAppUserVo.setReferralUserId(tAppUsers.get(0).getId()); + } } - } - if (num != 0) { - TAppGift tAppGift = new TAppGift(); - TAppUser phone = appUserService.getOne(new QueryWrapper<TAppUser>() - .eq("phone", addAppUserVo.getInvitePhone())); - if (phone == null) { - return ResultUtil.error("推荐人手机号未注册玩湃会员!"); - } else { - tAppGift.setUserName(phone.getName()); - tAppGift.setUserPhone(phone.getPhone()); + if (num != 0) { + TAppGift tAppGift = new TAppGift(); + TAppUser phone = appUserService.getOne(new QueryWrapper<TAppUser>() + .eq("phone", addAppUserVo.getInvitePhone())); + if (phone == null) { + return ResultUtil.error("推荐人手机号未注册玩湃会员!"); + } else { + tAppGift.setUserName(phone.getName()); + tAppGift.setUserPhone(phone.getPhone()); + } + tAppGift.setUserId(addAppUserVo.getReferralUserId()); + tAppGift.setNum(num); + tAppGift.setShareUserId(tAppUser.getId()); + tAppGift.setShareUserName(tAppUser.getPhone()); + tAppGift.setShareUserPhone(tAppUser.getPhone()); + tAppGift.setActivityId(activityId); + tAppGift.setInsertTime(new Date()); + appGiftService.save(tAppGift); } - tAppGift.setUserId(addAppUserVo.getReferralUserId()); - tAppGift.setNum(num); - tAppGift.setShareUserId(tAppUser.getId()); - tAppGift.setShareUserName(tAppUser.getPhone()); - tAppGift.setShareUserPhone(tAppUser.getPhone()); - tAppGift.setActivityId(activityId); - tAppGift.setInsertTime(new Date()); - appGiftService.save(tAppGift); } } } @@ -1175,6 +1172,7 @@ if (tAppUser.getState() == 2) { return ResultUtil.error("您的账号已被冻结"); } + boolean newUser = false; List<TAppUser> tAppUsers1 = appUserMapper.selectList(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getPhone, dto.getPhone()).eq(TAppUser::getState, 1)); if (tAppUsers1.size() > 0) { TAppUser tAppUser1 = tAppUsers1.get(0); @@ -1192,56 +1190,49 @@ appUserMapper.updateById(tAppUser); token = getToken(tAppUser); map.put("token", token); - + newUser = true; } -// tAppUser.setPhone(dto.getPhone()); - - if (ToolUtil.isNotEmpty(dto.getInvitePhone())) { + if (newUser && ToolUtil.isNotEmpty(dto.getInvitePhone())) { if (ToolUtil.isEmpty(dto.getLat()) || ToolUtil.isEmpty(dto.getLon())) { return ResultUtil.error("请先开启定位"); } - TAppUser tAppUser1 = appUserMapper.selectOne(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getPhone, dto.getInvitePhone()).eq(TAppUser::getState, 1)); - if (tAppUser1 != null) { - Map<String, String> geocode = null; - try { - geocode = gdMapGeocodingUtil.geocode(dto.getLon(), dto.getLat()); - } catch (Exception e) { - e.printStackTrace(); - } - 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"); - IntroduceRewards giftList = introduceRewardsClient.getGiftList(cityCode); - num = giftList.getGiveClass(); - } - Integer userId = null; - if (ToolUtil.isNotEmpty(dto.getInvitePhone())) { - List<TAppUser> tAppUsers = this.baseMapper.selectList(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getPhone, dto.getInvitePhone())); - if (tAppUsers.size() > 0) { - userId = tAppUsers.get(0).getId(); - } - } - if (userId != null) { - TAppGift one = appGiftService.getOne(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, userId)); - if (one != null) { - one.setNum(one.getNum() + num); - appGiftService.updateById(one); - } else { - TAppGift tAppGift = new TAppGift(); - tAppGift.setUserId(userId); - tAppGift.setNum(num); - appGiftService.save(tAppGift); + TAppUser tAppUser1 = appUserMapper.selectOne(new LambdaQueryWrapper<TAppUser>() + .eq(TAppUser::getPhone, dto.getInvitePhone()).eq(TAppUser::getState, 1)); + if(null == tAppUser1){ + return ResultUtil.error("邀请人还未注册账号"); + } + Map<String, String> geocode = null; + try { + geocode = gdMapGeocodingUtil.geocode(dto.getLon(), dto.getLat()); + } catch (Exception e) { + e.printStackTrace(); + } + if (null != geocode) { + String cityCode = geocode.get("cityCode"); + // 根据所在市code 查询是否有介绍有礼活动 + List<IntroduceRewards> res = introduceRewardsClient.getGiftList(cityCode); + if (res != null) { + for (IntroduceRewards re : res) { + Integer num = re.getGiveClass(); + Integer activityId = re.getId(); + if (num != 0) { + TAppGift tAppGift = new TAppGift(); + tAppGift.setUserName(tAppUser1.getName()); + tAppGift.setUserPhone(tAppUser1.getPhone()); + tAppGift.setUserId(tAppUser1.getId()); + tAppGift.setNum(num); + tAppGift.setShareUserId(tAppUser.getId()); + tAppGift.setShareUserName(tAppUser.getPhone()); + tAppGift.setShareUserPhone(tAppUser.getPhone()); + tAppGift.setActivityId(activityId); + tAppGift.setInsertTime(new Date()); + appGiftService.save(tAppGift); + } } } } } - -// appUserMapper.updateById(tAppUser); - return ResultUtil.success(map); } diff --git a/cloud-server-account/src/main/resources/sharding-jdbc.properties b/cloud-server-account/src/main/resources/sharding-jdbc.properties index d28f1a8..367da05 100644 --- a/cloud-server-account/src/main/resources/sharding-jdbc.properties +++ b/cloud-server-account/src/main/resources/sharding-jdbc.properties @@ -1,20 +1,7 @@ -#datasource.names=master0 -#datasource.master0.type=com.alibaba.druid.pool.DruidDataSource -#datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver -#datasource.master0.url=jdbc:mysql://192.168.110.80:3306/playpai_account?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai -#datasource.master0.username=root -#datasource.master0.password=123456 -#datasource.master0.maxActive=20 -#datasource.master0.maxWait=60000 -#datasource.master0.minIdle=5 -#datasource.master0.initialSize=2 - - - datasource.names=master0 datasource.master0.type=com.alibaba.druid.pool.DruidDataSource datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver -datasource.master0.url=jdbc:mysql://192.168.110.80/playpai_account?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai +datasource.master0.url=jdbc:mysql://192.168.110.80:3306/playpai_account?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai datasource.master0.username=root datasource.master0.password=123456 datasource.master0.maxActive=20 @@ -24,3 +11,16 @@ +#datasource.names=master0 +#datasource.master0.type=com.alibaba.druid.pool.DruidDataSource +#datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver +#datasource.master0.url=jdbc:mysql://192.168.110.80/playpai_account?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai +#datasource.master0.username=root +#datasource.master0.password=123456 +#datasource.master0.maxActive=20 +#datasource.master0.maxWait=60000 +#datasource.master0.minIdle=5 +#datasource.master0.initialSize=2 + + + diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java index 96fa6a2..d7573c9 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java @@ -147,17 +147,15 @@ @PostMapping("/base/introduce/getGiftList") @ResponseBody - public IntroduceRewards getGiftList(@RequestBody String cityCode) { + public List<IntroduceRewards> getGiftList(@RequestBody String cityCode) { List<IntroduceRewards> list = idrService.list(new LambdaQueryWrapper<IntroduceRewards>() .eq(IntroduceRewards::getCityCode, cityCode) .le(IntroduceRewards::getStartTime, new Date()) .ge(IntroduceRewards::getEndTime, new Date()) + .eq(IntroduceRewards::getState, 1) .orderByDesc(IntroduceRewards::getInsertTime) - .last("LIMIT 1")); - if (list.size() > 0) { - return list.get(0); - } - return null; + ); + return list; } } diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java index 808b218..01fbc2a 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java @@ -12,7 +12,9 @@ import com.dsh.competition.entity.UserCompetition; import com.dsh.competition.feignclient.account.AppUserClient; import com.dsh.competition.feignclient.account.StudentClient; +import com.dsh.competition.feignclient.account.StudentHonorClient; import com.dsh.competition.feignclient.account.model.AppUser; +import com.dsh.competition.feignclient.account.model.StudentHonor; import com.dsh.competition.feignclient.account.model.TStudent; import com.dsh.competition.feignclient.course.CoursePackagePaymentClient; import com.dsh.competition.feignclient.course.model.PaymentDeductionClassHour; @@ -81,6 +83,12 @@ @Autowired private AppUserClient appUserClient; + + @Resource + private StudentHonorClient studentHonorClient; + + + /** * 根据门店ids 获取对应的赛事 根据赛事支付记录获取用户ids @@ -356,8 +364,6 @@ try { Competition byId = competitionService.getById(paymentCompetitionVo.getId()); Date date = byId.getEndTime(); - // Assuming you have a Date object - // Check if the date is past the current time boolean isPast = date.after(new Date()); if (!isPast) { return new ResultUtil(0, "已超过截至报名时间"); @@ -694,9 +700,27 @@ } else { competition.setStatus(3); } + + if(competition.getStatus() == 2){ + //添加勋章数据 + List<PaymentCompetition> list = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>() + .eq("competitionId", competition.getId()).eq("payStatus", 2).eq("state", 1)); + Set<Integer> collect = list.stream().map(PaymentCompetition::getAppUserId).collect(Collectors.toSet()); + for (Integer integer : collect) { + int count = paymentCompetitionService.count(new QueryWrapper<PaymentCompetition>() + .eq("appUserId", integer).eq("payStatus", 2).eq("state", 1)); + StudentHonor studentHonor = new StudentHonor(); + studentHonor.setAppUserId(integer); + studentHonor.setHonorType(2); + studentHonor.setNumber(count); + studentHonorClient.saveStudentHonor(studentHonor); + } + } } competition.setInsertTime(new Date()); cttService.save(competition); + + } catch (Exception e) { e.printStackTrace(); } @@ -714,8 +738,26 @@ } else { competition.setStatus(3); } + + if(competition.getStatus() == 2){ + //添加勋章数据 + List<PaymentCompetition> list = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>() + .eq("competitionId", competition.getId()).eq("payStatus", 2).eq("state", 1)); + Set<Integer> collect = list.stream().map(PaymentCompetition::getAppUserId).collect(Collectors.toSet()); + for (Integer integer : collect) { + int count = paymentCompetitionService.count(new QueryWrapper<PaymentCompetition>() + .eq("appUserId", integer).eq("payStatus", 2).eq("state", 1)); + StudentHonor studentHonor = new StudentHonor(); + studentHonor.setAppUserId(integer); + studentHonor.setHonorType(2); + studentHonor.setNumber(count); + studentHonorClient.saveStudentHonor(studentHonor); + } + } } cttService.updateById(competition); + + } catch (Exception e) { e.printStackTrace(); } diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/StudentHonorClient.java b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/StudentHonorClient.java new file mode 100644 index 0000000..0e14f9d --- /dev/null +++ b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/StudentHonorClient.java @@ -0,0 +1,20 @@ +package com.dsh.competition.feignclient.account; + +import com.dsh.competition.feignclient.account.model.StudentHonor; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +/** + * 勋章 + */ +@FeignClient("mb-cloud-account") +public interface StudentHonorClient { + + + /** + * 保存用户勋章 + * @param studentHonor + */ + @PostMapping("/studentHonor/saveStudentHonor") + void saveStudentHonor(StudentHonor studentHonor); +} diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/model/StudentHonor.java b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/model/StudentHonor.java new file mode 100644 index 0000000..fa57b6c --- /dev/null +++ b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/model/StudentHonor.java @@ -0,0 +1,19 @@ +package com.dsh.competition.feignclient.account.model; + +import lombok.Data; + +@Data +public class StudentHonor { + /** + * 用户id + */ + private Integer appUserId; + /** + * 荣耀类型 + */ + private Integer honorType; + /** + * 当前次数 + */ + private Integer number; +} diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java index 8e71751..42600b9 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java @@ -259,18 +259,9 @@ } if (paymentCompetitionVo.getPayType() == 4) {//课程 money = new BigDecimal(competition.getClassPrice()).multiply(new BigDecimal(jsonArray.size())).setScale(2, RoundingMode.HALF_EVEN); - for (int i = 0; i < jsonArray.size(); i++) { -// Participant participant = participantService.getById(s); -// Student student = studentClient.queryStudentByPhone(participant.getPhone()); -// if(null == student){ -// return ResultUtil.error(participant.getName() + "不是学员,无法使用课时支付。"); -// } - // 2.0 - Integer integer = coursePackagePaymentClient.queryResidueClassHourById(paymentCompetitionVo.getCoursePaymentId()); - if (new BigDecimal(integer).compareTo(new BigDecimal(competition.getClassPrice())) < 0) { - return new ResultUtil(3, "剩余课时不足,无法完成支付。"); - - } + Integer integer = coursePackagePaymentClient.queryResidueClassHourById(paymentCompetitionVo.getCoursePaymentId()); + if (new BigDecimal(integer).compareTo(money) < 0) { + return new ResultUtil(3, "剩余课时不足,无法完成支付。"); } } @@ -327,7 +318,6 @@ paymentCompetition.setPayOrderNo(""); paymentCompetitionService.updateById(paymentCompetition); -// competition.setApplicantsNumber(competition.getApplicantsNumber() + 1); this.updateById(competition); } if (paymentCompetitionVo.getPayType() == 4) {//课程 @@ -338,6 +328,7 @@ if(isStudent == 0){ continue; } + //扣减课时 PaymentDeductionClassHour paymentDeductionClassHour = new PaymentDeductionClassHour(); paymentDeductionClassHour.setId(id); paymentDeductionClassHour.setClassHour(competition.getClassPrice()); @@ -346,6 +337,7 @@ paymentDeductionClassHour.setUid(uid); coursePackagePaymentClient.paymentDeductionClassHour(paymentDeductionClassHour); } + paymentCompetition = paymentCompetitionService.getById(paymentCompetition.getId()); paymentCompetition.setAppUserId(null); paymentCompetition.setPayStatus(2); diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/util/TaskUtilCompetition.java b/cloud-server-competition/src/main/java/com/dsh/competition/util/TaskUtilCompetition.java index 7bf9077..d661dd3 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/util/TaskUtilCompetition.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/util/TaskUtilCompetition.java @@ -3,14 +3,22 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.competition.entity.Competition; +import com.dsh.competition.entity.PaymentCompetition; +import com.dsh.competition.feignclient.account.StudentHonorClient; +import com.dsh.competition.feignclient.account.model.StudentHonor; import com.dsh.competition.model.TCompetition; import com.dsh.competition.service.CompetitionService; +import com.dsh.competition.service.IPaymentCompetitionService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.util.Arrays; import java.util.Date; import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * @author shaqian @@ -22,6 +30,14 @@ @Resource private CompetitionService competitionService; + @Resource + private StudentHonorClient studentHonorClient; + + @Autowired + private IPaymentCompetitionService paymentCompetitionService; + + + /** * 每秒去处理的定时任务 */ @@ -32,15 +48,31 @@ .ne("status", 4).ne("state", 3)); for (Competition competition : list) { // 当前时间小于开始时间 - if (competition.getStartTime().after(new Date())) { + if (competition.getStatus() != 1 && competition.getStartTime().after(new Date())) { competition.setStatus(1); } - if (competition.getStartTime().before(new Date())) { + if (competition.getStatus() == 1 && competition.getStartTime().before(new Date())) { if (competition.getEndTime().after(new Date())) { competition.setStatus(2); } else { competition.setStatus(3); } + + if(competition.getStatus() == 2){ + //添加勋章数据 + List<PaymentCompetition> list1 = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>() + .eq("competitionId", competition.getId()).eq("payStatus", 2).eq("state", 1)); + Set<Integer> collect = list1.stream().map(PaymentCompetition::getAppUserId).collect(Collectors.toSet()); + for (Integer integer : collect) { + int count = paymentCompetitionService.count(new QueryWrapper<PaymentCompetition>() + .eq("appUserId", integer).eq("payStatus", 2).eq("state", 1)); + StudentHonor studentHonor = new StudentHonor(); + studentHonor.setAppUserId(integer); + studentHonor.setHonorType(2); + studentHonor.setNumber(count); + studentHonorClient.saveStudentHonor(studentHonor); + } + } } competitionService.updateById(competition); } diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java index bbf7b1d..c8bf140 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java @@ -1,6 +1,7 @@ package com.dsh.course.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.course.entity.*; import com.dsh.course.feignclient.account.AppUserClient; import com.dsh.course.feignclient.account.CoachClient; @@ -140,8 +141,6 @@ @PostMapping("/cancelledClasses/addCancelledClasses") public void addCancelledClasses(@RequestBody CancelledClasses cancelledClasses) { cancelledClassesService.save(cancelledClasses); - -// TCoursePackagePayment byId = coursePackagePaymentService.getById(cancelledClasses.getCoursePackagePaymentId()); orderStudentService.getById(cancelledClasses.getCoursePackagePaymentId()); CourseCounsum courseCounsum = new CourseCounsum(); courseCounsum.setPaymentId(cancelledClasses.getCoursePackagePaymentId()); @@ -152,4 +151,5 @@ courseCounsumService.save(courseCounsum); } + } diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java index a767089..d7630ef 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java @@ -1303,18 +1303,7 @@ @PostMapping("/coursePackagePayment/paymentDeductionClassHour") public void paymentDeductionClassHour(@RequestBody PaymentDeductionClassHour paymentDeductionClassHour) { try { - // 2.0 用id进行查询 -// TCoursePackagePayment coursePackagePayment = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", paymentDeductionClassHour.getCourseId()).eq("payStatus", 2) -// .eq("status", 1).eq("state", 1).gt("laveClassHours", 0)); -// Integer classHour = paymentDeductionClassHour.getClassHour(); -// for (TCoursePackagePayment coursePackagePayment : list) { - - - CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(paymentDeductionClassHour.getCourseId()); -// if (paymentDeductionClassHour.getClassHour() > coursePackageOrderStudent.getLaveClassHours()) { -// return ResultUtil.error("当前课包课时数不足"); -// } TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId()); coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - paymentDeductionClassHour.getClassHour()); coursePackageOrderStudentService.updateById(coursePackageOrderStudent); @@ -1343,131 +1332,14 @@ } } - - - - - -// if (coursePackagePayment.getLaveClassHours().compareTo(classHour) >= 0) { -// coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() - classHour); -// coursePackagePayment.setAppUserId(null); -// packagePaymentService.updateById(coursePackagePayment); -// -// CourseCounsum courseCounsum = new CourseCounsum(); -// courseCounsum.setPaymentId(coursePackagePayment.getId()); -// courseCounsum.setChangeType(0); -// courseCounsum.setNum(classHour); -// courseCounsum.setInsertTime(new Date()); -// courseCounsum.setReason("报名赛事"); -// courseCounsumService.save(courseCounsum); -// -// -// List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackagePayment.getStudentId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId())); -// List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); -// coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect)); -// coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", paymentDeductionClassHour.getId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId())); -// -// -// TCoursePackage tCoursePackage = packageService.getById(coursePackagePayment.getCoursePackageId()); -// String classWeeks = tCoursePackage.getClassWeeks(); -// List<Integer> week = week(classWeeks); -// -// TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackagePayment.getCoursePackageId()).eq("studentId", coursePackagePayment.getStudentId())); -// -// Date today = new Date(); -// Calendar calendar = Calendar.getInstance(); -// calendar.add(Calendar.DATE, -1); -// today = calendar.getTime(); -// -// -// Integer laveClassHours = pay.getLaveClassHours(); -// Integer codeTime = tCoursePackage.getCodeTime(); -// Integer can = laveClassHours / codeTime; -// -// int count = 0; -// String[] split = tCoursePackage.getClassStartTime().split(","); -// String[] split1 = tCoursePackage.getClassEndTime().split(","); -// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); -// SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); -// -// Date[] dates = generateDateArray(14, today); -// for (Date date : dates) { -// if (count == can) { -// break; -// } -// int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date); -// if (week.contains(wei)) { -// for (int i1 = 0; i1 < split.length; i1++) { -// if (count == can) { -// break; -// } -// CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); -// coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); -// Date parse = format1.parse(format.format(date) + " " + split[i1]); -// Date parse1 = format1.parse(format.format(date) + " " + split1[i1]); -// coursePackageScheduling.setClassDate(parse); -// coursePackageScheduling.setEndDate(parse1); -// coursePackageScheduling.setStatus(1); -// coursePackageSchedulingService.save(coursePackageScheduling); -// CoursePackageStudent student1 = new CoursePackageStudent(); -// student1.setAppUserId(pay.getAppUserId()); -// student1.setStudentId(pay.getStudentId()); -// student1.setCoursePackageId(pay.getCoursePackageId()); -// student1.setCoursePackagePaymentId(pay.getId()); -// student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); -// student1.setSignInOrNot(1); -// student1.setReservationStatus(1); -// student1.setInsertTime(new Date()); -// studentService.save(student1); -// count++; -// } -// } -// } -// -// -// // 2.0 少于3课时 推送 -// if (coursePackagePayment.getLaveClassHours() <= 3) { -// Integer appUserId = coursePackagePayment.getAppUserId(); -// -// //调用推送 -// HttpHeaders headers = new HttpHeaders(); -// // 以表单的方式提交 -// headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); -// String s1 = appUserId + "_" + "Three"; -// //定时修改排课状态 -// String s = internalRestTemplate.getForObject("http://mb-cloud-gateway/netty/sendMsgToClient?id=" + s1, String.class); -// JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); -// if (jsonObject1.getIntValue("code") != 200) { -// System.err.println(jsonObject1.getString("msg")); -// } -// } -// -// CancelledClasses cancelledClasses = new CancelledClasses(); -// cancelledClasses.setType(2); -// cancelledClasses.setVoucher(paymentDeductionClassHour.getCode()); -// cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId()); -// cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId()); -// cancelledClasses.setCancelledClassesNumber(classHour); -// cancelledClasses.setInsertTime(new Date()); -// cancelledClassesService.save(cancelledClasses); -// -// } else { -// CancelledClasses cancelledClasses = new CancelledClasses(); -// cancelledClasses.setType(2); -// cancelledClasses.setVoucher(paymentDeductionClassHour.getCode()); -// cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId()); -// cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId()); -// cancelledClasses.setCancelledClassesNumber(coursePackagePayment.getLaveClassHours()); -// cancelledClasses.setInsertTime(new Date()); -// cancelledClassesService.save(cancelledClasses); -// -// coursePackagePayment.setLaveClassHours(0); -// packagePaymentService.updateById(coursePackagePayment); -// -// classHour -= cancelledClasses.getCancelledClassesNumber(); -// } -// } - + CourseCounsum courseCounsum = new CourseCounsum(); + courseCounsum.setPaymentId(coursePackageOrderStudent.getId()); + courseCounsum.setChangeType(0); + courseCounsum.setNum(paymentDeductionClassHour.getClassHour()); + courseCounsum.setInsertTime(new Date()); + courseCounsum.setReason("赛事报名"); + courseCounsum.setAppUserId(coursePackageOrderStudent.getAppUserId()); + courseCounsumService.save(courseCounsum); } catch (Exception e) { e.printStackTrace(); @@ -2206,12 +2078,7 @@ @ResponseBody @PostMapping("/base/coursePack/obtainStudentClassDetails") public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody WeeksOfCourseRest stuId) { -// try { return coursePackageOrderStudentService.obtainStuClassDetails(stuId.getStuId(), stuId.getAppUserId(), stuId.getPageNum()); -// }catch (Exception e){ -// e.printStackTrace(); -// throw new RuntimeException(); -// } } @@ -2233,12 +2100,13 @@ @PostMapping("/base/coursePack/sendHours") public Integer sendHours(@RequestBody String s) throws ParseException { String[] split2 = s.split("_"); - TCoursePackagePayment byId = packagePaymentService.getById(Long.valueOf(split2[0])); - byId.setTotalClassHours(byId.getTotalClassHours() + Integer.valueOf(split2[2])); - boolean b = packagePaymentService.updateHoursById(byId, Integer.valueOf(split2[2])); + CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(Long.valueOf(split2[0])); + coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + Integer.valueOf(split2[2])); + coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() + Integer.valueOf(split2[2])); + coursePackageOrderStudentService.updateById(coursePackageOrderStudent); CourseCounsum courseCounsum = new CourseCounsum(); - courseCounsum.setPaymentId(byId.getId()); + courseCounsum.setPaymentId(coursePackageOrderStudent.getId()); courseCounsum.setChangeType(1); courseCounsum.setNum(Integer.valueOf(split2[2])); courseCounsum.setInsertTime(new Date()); @@ -2246,17 +2114,17 @@ courseCounsumService.save(courseCounsum); - List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", byId.getStudentId()).eq("coursePackageId", byId.getCoursePackageId())); + List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackageOrderStudent.getStudentId()).eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId())); List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect)); - coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", byId.getStudentId()).eq("coursePackageId", byId.getCoursePackageId())); + coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackageOrderStudent.getStudentId()).eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId())); - TCoursePackage tCoursePackage = packageService.getById(byId.getCoursePackageId()); + TCoursePackage tCoursePackage = packageService.getById(coursePackageOrderStudent.getCoursePackageId()); String classWeeks = tCoursePackage.getClassWeeks(); List<Integer> week = week(classWeeks); - TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", byId.getCoursePackageId()).eq("studentId", byId.getStudentId())); + TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId()).eq("studentId", coursePackageOrderStudent.getStudentId())); Date today = new Date(); @@ -2303,14 +2171,7 @@ } } } - - - if (b) { - return 1; - } else { - - return 0; - } + return 1; } diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java index 33021bf..594fed2 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java @@ -389,9 +389,9 @@ courseCounsum.setReason("退费"); courseCounsum.setPaymentId(o.getId()); courseCounsum.setInsertTime(new Date()); + courseCounsum.setAppUserId(o.getAppUserId()); counsumService.save(courseCounsum); - o.setTotalClassHours(0); o.setLaveClassHours(0); o.setStatus(2); o.setAppUserId(null); @@ -509,6 +509,7 @@ courseCounsum.setNum(laveClassHours); courseCounsum.setChangeType(0); courseCounsum.setPaymentId(orinPay.getId()); + courseCounsum.setAppUserId(orinPay.getAppUserId()); counsumService.save(courseCounsum); CourseCounsum courseCounsum1 = new CourseCounsum(); @@ -521,6 +522,7 @@ courseCounsum1.setNum(laveClassHours); courseCounsum1.setChangeType(1); courseCounsum1.setPaymentId(studentPay.getId()); + courseCounsum1.setAppUserId(studentPay.getAppUserId()); counsumService.save(courseCounsum1); schedulingService.addNewCoursePackageScheduling(studentPay.getId(), laveClassHours); @@ -578,6 +580,7 @@ courseCounsum.setNum(laveClassHours1); courseCounsum.setChangeType(0); courseCounsum.setPaymentId(orinPay.getId()); + courseCounsum.setAppUserId(orinPay.getAppUserId()); counsumService.save(courseCounsum); @@ -587,6 +590,7 @@ courseCounsum1.setNum(laveClassHours1); courseCounsum1.setChangeType(1); courseCounsum1.setPaymentId(to.getId()); + courseCounsum1.setAppUserId(to.getAppUserId()); counsumService.save(courseCounsum1); //开始排课 @@ -787,45 +791,54 @@ Student student = studentClient.queryStudentById(Integer.valueOf(stuId)); // 扣除 原来的课时数 - // 添加购买课时 paytyoe为7 - // 排课可期 判断课程时间段 添加排课表 添加上课记录表 - // 找到原来的课包 扣课时 -// CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getById(toHoliDto.getId()); - CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId",toHoliDto.getId()).eq("studentId",stuId)); + // 添加购买课时 paytyoe为7 + // 排课可期 判断课程时间段 添加排课表 添加上课记录表 + // 找到原来的课包 扣课时 + CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId",toHoliDto.getId()).eq("studentId",stuId)); - TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId()); - TCoursePackage coursePackage1 = coursePackageService.getById(toHoliDto.getClassId()); - //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录 - List<CoursePackageScheduling> list1 = coursePackageSchedulingService.selectList(new QueryWrapper<CoursePackageScheduling>() - .eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1) - .eq("type", 1).orderByDesc("classDate")); - //已经排课但没有使用的课时数量 - int number = list1.size() * coursePackage.getNeedNum(); - Integer laveClassHours1 = coursePackageOrderStudent.getLaveClassHours(); - laveClassHours1 -= number; - //需要购买使用的课时数 - Integer num = toHoliDto.getClassNum(); - //需要删除多余的排课记录 - if(num.compareTo(laveClassHours1) > 0){ - //课时数差额 - int number1 = num - laveClassHours1; - double o = number1 % coursePackage.getNeedNum(); - int l = 0; - if(0 != o){ - l = 1; - } - int n = Double.valueOf(number1 / coursePackage.getNeedNum()).intValue() + l; - for (int i = 0; i < n; i++) { - CoursePackageScheduling coursePackageScheduling = list1.get(i); - coursePackageSchedulingService.deleteById(coursePackageScheduling.getId()); + TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId()); + TCoursePackage coursePackage1 = coursePackageService.getById(toHoliDto.getClassId()); + //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录 + List<CoursePackageScheduling> list1 = coursePackageSchedulingService.selectList(new QueryWrapper<CoursePackageScheduling>() + .eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1) + .eq("type", 1).orderByDesc("classDate")); + //已经排课但没有使用的课时数量 + int number = list1.size() * coursePackage.getNeedNum(); + Integer laveClassHours1 = coursePackageOrderStudent.getLaveClassHours(); + laveClassHours1 -= number; + //需要购买使用的课时数 + Integer num = toHoliDto.getClassNum(); + //需要删除多余的排课记录 + if(num.compareTo(laveClassHours1) > 0){ + //课时数差额 + int number1 = num - laveClassHours1; + double o = number1 % coursePackage.getNeedNum(); + int l = 0; + if(0 != o){ + l = 1; + } + int n = Double.valueOf(number1 / coursePackage.getNeedNum()).intValue() + l; + for (int i = 0; i < n; i++) { + CoursePackageScheduling coursePackageScheduling = list1.get(i); + coursePackageSchedulingService.deleteById(coursePackageScheduling.getId()); - coursePackageStudentService.getBaseMapper().delete(new QueryWrapper<CoursePackageStudent>() - .eq("coursePackageSchedulingId", coursePackageScheduling.getId())); + coursePackageStudentService.getBaseMapper().delete(new QueryWrapper<CoursePackageStudent>() + .eq("coursePackageSchedulingId", coursePackageScheduling.getId())); + } } - } coursePackageOrderStudent.setAppUserId(null); - coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()-toHoliDto.getClassNum()); + coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()-toHoliDto.getClassNum()); orderStudentService.updateById(coursePackageOrderStudent); + + CourseCounsum courseCounsum = new CourseCounsum(); + courseCounsum.setPaymentId(coursePackageOrderStudent.getId()); + courseCounsum.setChangeType(0); + courseCounsum.setNum(toHoliDto.getClassNum()); + courseCounsum.setInsertTime(new Date()); + courseCounsum.setReason("报名假期班"); + courseCounsum.setAppUserId(coursePackageOrderStudent.getAppUserId()); + courseCounsumService.save(courseCounsum); + Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours(); if(3 >= laveClassHours){ AppUser appUser = appUserClient.queryAppUser(coursePackageOrderStudent.getAppUserId()); @@ -890,18 +903,6 @@ //增加日期,用于判断 calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); } - - - - - CourseCounsum courseCounsum = new CourseCounsum(); - courseCounsum.setPaymentId(coursePackageOrderStudent.getId()); - courseCounsum.setChangeType(0); - courseCounsum.setNum(toHoliDto.getClassNum()); - courseCounsum.setInsertTime(new Date()); - courseCounsum.setReason("报名假期班"); -// courseCounsum.setAppUserId(userId); - courseCounsumService.save(courseCounsum); } return "报名成功"; @@ -966,23 +967,8 @@ @ResponseBody public String toTrans(@RequestBody ToHoliDto toHoliDto) throws ParseException { String[] stuIds = toHoliDto.getIds(); -// //查询出学员ids对应的棵树,判断剩余课时数是否够 -// List<CoursePackageOrderStudent> list = orderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId", toHoliDto.getClassId()).in("studentId", stuIds)); -// List<String> notStudent = new ArrayList<>(); -// for (CoursePackageOrderStudent coursePackageOrderStudent : list) { -// if (coursePackageOrderStudent.getLaveClassHours() < toHoliDto.getClassNum()) { -// notStudent.add(studentClient.queryStudentById(coursePackageOrderStudent.getStudentId()).getName()); -// } -// } -// if (!notStudent.isEmpty()) { -// String notStudentStr = String.join(",", notStudent); -// return notStudentStr+":课时数不足"; -// } - - //转移课程 for (String stuId : stuIds) { -// CoursePackageOrderStudent orinPay = orderStudentService.getById(toHoliDto.getId()); CoursePackageOrderStudent orinPay = orderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>() .eq("studentId", stuId) .eq("coursePackageId", toHoliDto.getId())); @@ -999,10 +985,7 @@ courseCounsum.setInsertTime(new Date()); Integer appUserId = orinPay.getAppUserId(); Integer appUserId1 = studentPay.getAppUserId(); - - courseCounsum.setReason("换课"); - - + courseCounsum.setReason("换课"); orinPay.setLaveClassHours(0); orinPay.setStatus(3); orinPay.setAppUserId(null); @@ -1011,18 +994,16 @@ courseCounsum.setNum(laveClassHours); courseCounsum.setChangeType(0); courseCounsum.setPaymentId(orinPay.getId()); + courseCounsum.setAppUserId(orinPay.getAppUserId()); counsumService.save(courseCounsum); CourseCounsum courseCounsum1 = new CourseCounsum(); courseCounsum1.setInsertTime(new Date()); -// if (appUserId.compareTo(appUserId1) != 0) { -// courseCounsum1.setReason("赠课"); -// } else { - courseCounsum1.setReason("换课"); -// } + courseCounsum1.setReason("换课"); courseCounsum1.setNum(laveClassHours); courseCounsum1.setChangeType(1); courseCounsum1.setPaymentId(studentPay.getId()); + courseCounsum1.setAppUserId(studentPay.getAppUserId()); counsumService.save(courseCounsum1); schedulingService.addNewCoursePackageScheduling(studentPay.getId(), laveClassHours); diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/StudentHonorClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/StudentHonorClient.java new file mode 100644 index 0000000..21892e1 --- /dev/null +++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/StudentHonorClient.java @@ -0,0 +1,20 @@ +package com.dsh.course.feignclient.account; + +import com.dsh.course.feignclient.account.model.StudentHonor; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +/** + * 勋章 + */ +@FeignClient("mb-cloud-account") +public interface StudentHonorClient { + + + /** + * 保存用户勋章 + * @param studentHonor + */ + @PostMapping("/studentHonor/saveStudentHonor") + void saveStudentHonor(StudentHonor studentHonor); +} diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/model/StudentHonor.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/model/StudentHonor.java new file mode 100644 index 0000000..094b1ff --- /dev/null +++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/model/StudentHonor.java @@ -0,0 +1,19 @@ +package com.dsh.course.feignclient.account.model; + +import lombok.Data; + +@Data +public class StudentHonor { + /** + * 用户id + */ + private Integer appUserId; + /** + * 荣耀类型 + */ + private Integer honorType; + /** + * 当前次数 + */ + private Integer number; +} diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java index 6acdef8..70ebdf3 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java @@ -69,7 +69,6 @@ List<CoursePackageScheduling> list = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>() .eq("appUserId", appUserId) .eq("studentId", stuId) -// .lt("classDate", sdf.format(calendar.getTime())) .orderByAsc("classDate") ); List<Long> ids = list.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList()); @@ -77,8 +76,6 @@ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd"); SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm"); if (list.size() > 0) { - -// int pageNum = 1; // 页码 int pageSize = 10; // 每页记录数 Page<CoursePackageStudent> page = new Page<>(pageNum, pageSize); IPage<CoursePackageStudent> coursePackageStudentPage = cpsMapper.selectPage(page, new QueryWrapper<CoursePackageStudent>() @@ -115,12 +112,12 @@ } - CoursePackageScheduling byId = coursePackageSchedulingService.getById(coursePackageStudent.getCoursePackageSchedulingId()); - if (byId == null) { + CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingService.getById(coursePackageStudent.getCoursePackageSchedulingId()); + if (coursePackageScheduling == null) { continue; } - String dateString1 = sdf.format(byId.getClassDate()); - String dateString2 = sdf.format(byId.getEndDate()); + String dateString1 = sdf.format(coursePackageScheduling.getClassDate()); + String dateString2 = sdf.format(coursePackageScheduling.getEndDate()); recordVo.setTimeFrame(dateString1 + "-" + dateString2.substring(11)); @@ -132,73 +129,45 @@ String[] split = classWeeks.split(";"); List<String> integerList = Arrays.asList(split); String weekOfDate = DateTimeHelper.getWeekOfDate(new Date()); -// if (integerList.contains(weekOfDate)) { - String dat = simpleDateFormat.format(byId.getClassDate()) + " " + dateString1.substring(11); - String ed = simpleDateFormat.format(byId.getEndDate()) + " " + dateString2.substring(11); + String dat = simpleDateFormat.format(coursePackageScheduling.getClassDate()) + " " + dateString1.substring(11); + String ed = simpleDateFormat.format(coursePackageScheduling.getEndDate()) + " " + dateString2.substring(11); - Date start = null; - Date end = null; - try { - start = format.parse(dat); - end = format.parse(ed); - } catch (ParseException e) { - throw new RuntimeException(e); - } + Date start = null; + Date end = null; + try { + start = format.parse(dat); + end = format.parse(ed); + } catch (ParseException e) { + throw new RuntimeException(e); + } CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>() - .eq("coursePackageSchedulingId", byId.getId()).last("limit 1")); -// else { -// Date now = new Date(); -// if (now.after(byId.getClassDate()) && now.before(byId.getEndDate())) { -// recordVo.setStatus(2); -// } else { -// recordVo.setStatus(3); -// -// } -// } + .eq("coursePackageSchedulingId", coursePackageScheduling.getId()).last("limit 1")); - //已取消 - if (byId.getStatus() == 4) { - recordVo.setStatus(4); - } else if (coursePackageStudent.getSignInOrNot() == 2) { - //已请假 - recordVo.setStatus(5); - }else if (ToolUtil.isNotEmpty(cancelledClasses)) { + + if (new Date().after(start)&&new Date().before(end)){ + recordVo.setStatus(2); + } + //待上课 + if (start.after(new Date())) { + recordVo.setStatus(1); + } + //已取消 + if (coursePackageScheduling.getStatus() == 4) { + recordVo.setStatus(4); + } + //已请假 + if (coursePackageStudent.getSignInOrNot() == 2) { + recordVo.setStatus(5); + } + //已完成 + if (ToolUtil.isNotEmpty(cancelledClasses)) { recordVo.setStatus(3); // 消课 到课状态0 旷课 if (coursePackageStudent.getSignInOrNot() == 0) { recordVo.setStatus(6); } - - }else if (new Date().after(start)&&new Date().before(end)){ - recordVo.setStatus(2); - }else if (start.after(new Date())) { - //待上课 - recordVo.setStatus(1); - } - else { -// CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>() -// .eq("coursePackageSchedulingId", byId.getId()).last("limit 1")); -// if (ToolUtil.isNotEmpty(cancelledClasses)) { -// recordVo.setStatus(3); -// // 消课 到课状态0 旷课 -// if (coursePackageStudent.getSignInOrNot() == 0) { -// recordVo.setStatus(6); -// } -// -// } else { -// Date now = new Date(); -// if (now.after(byId.getClassDate()) && now.before(byId.getEndDate())) { -// recordVo.setStatus(2); -// } else { -// recordVo.setStatus(3); -// -// } -// } - } -// } else { -// recordVo.setStatus(1); -// } + } recordVoList.add(recordVo); } diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java index 96d6024..75b2215 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java @@ -16,10 +16,7 @@ import com.dsh.course.entity.*; import com.dsh.course.entity.TAppUser; import com.dsh.course.entity.dto.StudentQeryDto; -import com.dsh.course.feignclient.account.AppUserClient; -import com.dsh.course.feignclient.account.CoachClient; -import com.dsh.course.feignclient.account.StudentClient; -import com.dsh.course.feignclient.account.UserIntegralChangesClient; +import com.dsh.course.feignclient.account.*; import com.dsh.course.feignclient.account.model.*; import com.dsh.course.feignclient.activity.BenefitVideoClient; import com.dsh.course.feignclient.activity.CouponClient; @@ -123,6 +120,14 @@ @Resource private UserIntegralChangesClient userIntegralChangesClient; + + @Resource + private StudentHonorClient studentHonorClient; + + + + + @Override @@ -361,6 +366,7 @@ .eq("coursePackageId", detailsRequest.getCoursePackageId()) .eq("courseId", detailsRequest.getVideoId()) ); + //完成学习 if (null != userVideoDetails && userVideoDetails.getState() == 1 && detailsRequest.getIsOver() == 1) { userVideoDetails.setState(2); userVideoDetails.setUpdateTime(new Date()); @@ -371,11 +377,19 @@ AppUser appUser = appuClient.queryAppUser(coursePackageScheduling.getAppUserId()); appUser.setIntegral((null == appUser.getIntegral() ? 0 : appUser.getIntegral()) + (null == coursePackageScheduling.getIntegral() ? 0 : coursePackageScheduling.getIntegral())); appuClient.updateAppUser(appUser); + //保存用户积分变动记录 SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo(); vo.setAppUserId(coursePackageScheduling.getAppUserId()); vo.setIntegral(coursePackageScheduling.getIntegral()); vo.setType(4); userIntegralChangesClient.saveUserIntegralChanges(vo); + //添加勋章数据 + Integer number = uvdmapper.selectCount(new QueryWrapper<UserVideoDetails>().eq("appUserId", appUserId).eq("state", 2)); + StudentHonor studentHonor = new StudentHonor(); + studentHonor.setAppUserId(appUserId); + studentHonor.setHonorType(4); + studentHonor.setNumber(number); + studentHonorClient.saveStudentHonor(studentHonor); return "SUCCESS"; } return "ERROR"; diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/StudentHonorClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/StudentHonorClient.java new file mode 100644 index 0000000..085fed0 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/StudentHonorClient.java @@ -0,0 +1,20 @@ +package com.dsh.course.feignClient.account; + +import com.dsh.course.feignClient.account.model.StudentHonor; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +/** + * 勋章 + */ +@FeignClient("mb-cloud-account") +public interface StudentHonorClient { + + + /** + * 保存用户勋章 + * @param studentHonor + */ + @PostMapping("/studentHonor/saveStudentHonor") + void saveStudentHonor(StudentHonor studentHonor); +} diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/StudentHonor.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/StudentHonor.java new file mode 100644 index 0000000..f2a971d --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/StudentHonor.java @@ -0,0 +1,19 @@ +package com.dsh.course.feignClient.account.model; + +import lombok.Data; + +@Data +public class StudentHonor { + /** + * 用户id + */ + private Integer appUserId; + /** + * 荣耀类型 + */ + private Integer honorType; + /** + * 当前次数 + */ + private Integer number; +} diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CancelledClassesClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CancelledClassesClient.java index 4948484..06304f8 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CancelledClassesClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CancelledClassesClient.java @@ -28,4 +28,7 @@ */ @PostMapping("/cancelledClasses/addCancelledClasses") void addCancelledClasses(CancelledClasses cancelledClasses); + + + } diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageSchedulingClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageSchedulingClient.java index 453e1d2..127b4cd 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageSchedulingClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageSchedulingClient.java @@ -1,6 +1,7 @@ package com.dsh.course.feignClient.course; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dsh.course.feignClient.course.model.CancelledClasses; import com.dsh.course.feignClient.course.model.CoursePackageScheduling; import com.dsh.course.feignClient.course.model.QueryCoursePackageSchedulingList; import org.springframework.cloud.openfeign.FeignClient; diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java index f60f2d6..e110d25 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java @@ -329,17 +329,6 @@ model.addAttribute("item", tStudentDto); if (tStudentDto.getLateralSurface()!=null&&!tStudentDto.equals("")) { -// String[] pics = tStudentDto.getLateralSurface().split(";"); -// model.addAttribute("pic1", pics[0]); -// System.out.println("=====pic1==" + pics[0]); -// if (pics.length > 1) { -// model.addAttribute("pic2", pics[1]); -// System.out.println("=====pic2==" + pics[1]); -// } -// if (pics.length > 2) { -// model.addAttribute("pic3", pics[2]); -// System.out.println("=====pic3==" + pics[2]); -// } model.addAttribute("images",tStudentDto.getLateralSurface()); } @@ -598,11 +587,6 @@ @RequestMapping("/changeStatus/{id}") @ResponseBody public ResultUtil changeStatus(@PathVariable Integer id) { -// InsertBackDto insertBackDto= new InsertBackDto(); -// insertBackDto.setId(id); -//// insertBackDto.setIds(ids); -// System.out.println("=====insertBackDto========"+insertBackDto); - courseStuddentClient.changeStatus(id); courseStuddentClient.zeroClass(id); @@ -613,14 +597,8 @@ @RequestMapping("/noStatus/{id}") @ResponseBody public ResultUtil noStatus(@PathVariable Integer id) { -// InsertBackDto insertBackDto= new InsertBackDto(); -// insertBackDto.setId(id); -//// insertBackDto.setIds(ids); -// System.out.println("=====insertBackDto========"+insertBackDto); - courseStuddentClient.noStatus(id); courseStuddentClient.backStausClass(id); -// courseStuddentClient.zeroClass(id); System.out.println("============学员查询接口========="); return new ResultUtil<>(0,0,"已拒绝",null,null); @@ -833,14 +811,12 @@ System.out.println("========ToHoliDto========="+resultUtil); if (resultUtil.equals("换课成功")) { -// return ResultUtil.success(resultUtil); return new ResultUtil<>(0,0,resultUtil); }else { - return new ResultUtil<>(0,1,resultUtil);} + return new ResultUtil<>(0,1,resultUtil); } -// if (resultUtil==""){ -// }else{ + } //赠课 diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java index befcf1d..045f9b7 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java @@ -3,8 +3,11 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.entity.CoursePackageOrderStudent; +import com.dsh.course.feignClient.account.StudentHonorClient; +import com.dsh.course.feignClient.account.model.StudentHonor; import com.dsh.course.feignClient.course.*; import com.dsh.course.feignClient.course.model.*; import com.dsh.guns.config.UserExt; @@ -23,10 +26,8 @@ import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * @author zhibing.pu @@ -58,6 +59,9 @@ @Resource private CancelledClassesClient cancelledClassesClient; + + @Resource + private StudentHonorClient studentHonorClient; @@ -548,8 +552,6 @@ */ @Override public ResultUtil cancellationRecord(Long id, String cancelClasses, Integer deductClassHour) { -// CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id); - List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingClient.queryCoursePackageSchedulingsById(id); CoursePackageScheduling coursePackageScheduling1 = coursePackageSchedulings.get(0); Date classDate = coursePackageScheduling1.getEndDate(); @@ -564,15 +566,6 @@ coursePackageScheduling.setDeductClassHour(deductClassHour); coursePackageScheduling.setStatus(3); } - - -// for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) { - -// if(coursePackageScheduling.getStatus() == 1 || coursePackageScheduling.getStatus() == 4){ -// return ResultUtil.error("不能添加消课凭证"); -// } -// coursePackageScheduling.setCancelClasses(cancelClasses); -// coursePackageScheduling.setDeductClassHour(deductClassHour); coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageSchedulings); List<CoursePackageStudent> coursePackageStudents = coursePackageStudentClient.queryByCoursePackageSchedulingId(integers); @@ -580,8 +573,6 @@ if(coursePackageStudent.getSignInOrNot() == 2){ continue; } -// TCoursePackagePayment tCoursePackagePayment = coursePackagePaymentClient.queryCoursePackagePaymentById(coursePackageStudent.getCoursePackagePaymentId()); - CoursePackageOrderStudent coursePackageOrderStudent = coursePackagePaymentClient.queryCoursePackagePaymentById1(coursePackageStudent.getCoursePackagePaymentId()); if (deductClassHour!=null) { @@ -606,17 +597,23 @@ cancelledClasses.setCoursePackageSchedulingId(coursePackageStudent.getCoursePackageSchedulingId()); cancelledClasses.setVoucher(cancelClasses); if (deductClassHour!=null) { - cancelledClasses.setCancelledClassesNumber(deductClassHour);} + cancelledClasses.setCancelledClassesNumber(deductClassHour); + } cancelledClasses.setInsertTime(new Date()); cancelledClassesClient.addCancelledClasses(cancelledClasses); - - - - - + //添加勋章数据 + QueryCoursePackageStudent queryCoursePackageStudent = new QueryCoursePackageStudent(); + queryCoursePackageStudent.setAppUserId(coursePackageStudent.getAppUserId()); + queryCoursePackageStudent.setSignInOrNot(1); + queryCoursePackageStudent.setReservationStatus(1); + List<CoursePackageStudent> coursePackageStudents1 = coursePackageStudentClient.queryCoursePackageStudent(queryCoursePackageStudent); + StudentHonor studentHonor = new StudentHonor(); + studentHonor.setAppUserId(coursePackageStudent.getAppUserId()); + studentHonor.setHonorType(1); + studentHonor.setNumber(coursePackageStudents1.size()); + studentHonorClient.saveStudentHonor(studentHonor); } -// } return ResultUtil.success(); } diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/HonorController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/HonorController.java index 6e9c559..7e10ef6 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/controller/HonorController.java +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/HonorController.java @@ -84,10 +84,9 @@ @PostMapping("/base/honor/getHonor") public HonorRules getHonor(@RequestBody List<Integer> integers) { -// HonorRules one = honorRulesService.getOne(new QueryWrapper<HonorRules>().eq("type", integers.get(0)).le("condition", String.valueOf(integers.get(1))).last("limit 1")); HonorRules one = honorRulesService.getOne(new QueryWrapper<HonorRules>() .eq("type", integers.get(0)) - .le("`condition`", integers.get(1)).orderByDesc("level") + .le("`condition`", integers.get(1)).orderByDesc("condition") .last("LIMIT 1")); if (one == null) { @@ -101,7 +100,8 @@ if (one.getLevel() == 10) { return one; } - HonorRules one2 = honorRulesService.getOne(new QueryWrapper<HonorRules>().eq("type", integers.get(0)).eq("level", Integer.valueOf(one.getLevel()) + 1)); + HonorRules one2 = honorRulesService.getOne(new QueryWrapper<HonorRules>().eq("type", integers.get(0)) + .eq("level", Integer.valueOf(one.getLevel()) + 1)); return one2; } diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/HonorRulesController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/HonorRulesController.java new file mode 100644 index 0000000..a86691e --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/HonorRulesController.java @@ -0,0 +1,49 @@ +package com.dsh.other.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsh.other.entity.HonorRules; +import com.dsh.other.service.HonorRulesService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/honorRules") +public class HonorRulesController { + + @Autowired + private HonorRulesService honorRulesService; + + + /** + * 获取当前合适的推责 + * @param honorRules + * @return + */ + @ResponseBody + @PostMapping("/getHonorRules") + public HonorRules getHonorRules(@RequestBody HonorRules honorRules){ + List<HonorRules> list = honorRulesService.list(new QueryWrapper<HonorRules>() + .eq("type", honorRules.getType()).orderByDesc("condition")); + for (HonorRules rules : list) { + Integer condition = rules.getCondition(); + if(honorRules.getCondition().compareTo(condition) >= 0){ + return rules; + } + } + return null; + } + + + /** + * 根据id获取数据 + * @param id + * @return + */ + @ResponseBody + @PostMapping("/getHonorRulesById") + public HonorRules getHonorRulesById(Integer id){ + return honorRulesService.getById(id); + } +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/account/StudentHonorClient.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/account/StudentHonorClient.java new file mode 100644 index 0000000..23622e7 --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/account/StudentHonorClient.java @@ -0,0 +1,20 @@ +package com.dsh.other.feignclient.account; + +import com.dsh.other.feignclient.account.model.StudentHonor; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +/** + * 勋章 + */ +@FeignClient("mb-cloud-account") +public interface StudentHonorClient { + + + /** + * 保存用户勋章 + * @param studentHonor + */ + @PostMapping("/studentHonor/saveStudentHonor") + void saveStudentHonor(StudentHonor studentHonor); +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/account/model/StudentHonor.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/account/model/StudentHonor.java new file mode 100644 index 0000000..a9ca71e --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/account/model/StudentHonor.java @@ -0,0 +1,19 @@ +package com.dsh.other.feignclient.account.model; + +import lombok.Data; + +@Data +public class StudentHonor { + /** + * 用户id + */ + private Integer appUserId; + /** + * 荣耀类型 + */ + private Integer honorType; + /** + * 当前次数 + */ + private Integer number; +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java index 61a4e05..c5a4e7b 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java +++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java @@ -327,7 +327,6 @@ */ @Override public ResultUtil reservationSite(Integer uid, ReservationSite reservationSite) throws Exception { - Site site = this.getById(reservationSite.getId()); AppUser appUser = appUserClient.queryAppUser(uid); String[] split = reservationSite.getTimes().split(";"); @@ -387,7 +386,6 @@ return ResultUtil.error("优惠券已过期"); } if (userCoupon != null && coupon.getType() == 1) {//满减 -// {"conditionalAmount":50,"deductionAmount":10,"experienceName":""} JSONObject jsonObject = JSON.parseObject(coupon.getContent()); Double num1 = jsonObject.getDouble("conditionalAmount"); Double num2 = jsonObject.getDouble("deductionAmount"); @@ -449,6 +447,9 @@ } if (reservationSite.getPayType() == 3) {//玩湃币支付 if (reservationSite.getIsHalf() == 2) { + + + return playPaiCoinPaymentSite(appUser, Double.valueOf(site.getPlayPaiCoin()), siteBooking); } else { return playPaiCoinPaymentSite(appUser, site.getPlayPaiCoinOne(), siteBooking); diff --git a/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java b/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java index 426dcd2..c23e459 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java +++ b/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java @@ -1,13 +1,17 @@ package com.dsh.other.util; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.other.entity.SiteBooking; +import com.dsh.other.feignclient.account.StudentHonorClient; +import com.dsh.other.feignclient.account.model.StudentHonor; import com.dsh.other.mapper.SiteBookingMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.List; @@ -22,6 +26,12 @@ @Resource private SiteBookingMapper siteBookingMapper; + + @Resource + private StudentHonorClient studentHonorClient; + + + /** * 每隔一分钟去处理的定时任务 @@ -74,6 +84,16 @@ if (System.currentTimeMillis() > time) { siteBooking.setStatus(4); siteBookingMapper.updateById(siteBooking); + + //添加勋章数据 + Integer number = siteBookingMapper.selectCount(new QueryWrapper<SiteBooking>() + .eq("appUserId", siteBooking.getAppUserId()).in("status", Arrays.asList(3, 4))); + StudentHonor studentHonor = new StudentHonor(); + studentHonor.setAppUserId(siteBooking.getAppUserId()); + studentHonor.setHonorType(3); + studentHonor.setNumber(number); + studentHonorClient.saveStudentHonor(studentHonor); + } } //定时修改赛事状态 @@ -88,14 +108,11 @@ try { // 获取待核销状态的记录 List<SiteBooking> siteBookings = siteBookingMapper.selectList(new LambdaQueryWrapper<SiteBooking>() - .eq(SiteBooking::getStatus, 1)); + .eq(SiteBooking::getStatus, 0).eq(SiteBooking::getState, 1)); for (SiteBooking siteBooking : siteBookings) { - if(null == siteBooking.getEndTime()){ - continue; - } - long time = siteBooking.getEndTime().getTime(); - if (System.currentTimeMillis() > time) { - siteBooking.setStatus(4); + long time = siteBooking.getInsertTime().getTime(); + if (System.currentTimeMillis() > time + 1800000L) { + siteBooking.setState(3); siteBookingMapper.updateById(siteBooking); } } -- Gitblit v1.7.1