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(); } cloud-server-account/src/main/java/com/dsh/account/controller/StudentHonorController.java
New file @@ -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); } } } 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") 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); } cloud-server-account/src/main/java/com/dsh/account/feignclient/other/HonorRulesClient.java
New file @@ -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); } cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/HonorRules.java
New file @@ -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; } 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); } 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; } } 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); } 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 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; } } 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(); } cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/StudentHonorClient.java
New file @@ -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); } cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/model/StudentHonor.java
New file @@ -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; } 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); 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); } 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); } } 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; } 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); cloud-server-course/src/main/java/com/dsh/course/feignclient/account/StudentHonorClient.java
New file @@ -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); } cloud-server-course/src/main/java/com/dsh/course/feignclient/account/model/StudentHonor.java
New file @@ -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; } 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); } 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"; cloud-server-management/src/main/java/com/dsh/course/feignClient/account/StudentHonorClient.java
New file @@ -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); } cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/StudentHonor.java
New file @@ -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; } cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CancelledClassesClient.java
@@ -28,4 +28,7 @@ */ @PostMapping("/cancelledClasses/addCancelledClasses") void addCancelledClasses(CancelledClasses cancelledClasses); } 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; 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{ } //赠课 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(); } 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; } cloud-server-other/src/main/java/com/dsh/other/controller/HonorRulesController.java
New file @@ -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); } } cloud-server-other/src/main/java/com/dsh/other/feignclient/account/StudentHonorClient.java
New file @@ -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); } cloud-server-other/src/main/java/com/dsh/other/feignclient/account/model/StudentHonor.java
New file @@ -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; } 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); 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); } }