cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java
@@ -78,6 +78,20 @@ } } @ResponseBody @PostMapping("/student/queryListByIds") public List<TStudent> queryListByIds(@RequestBody List<Integer> collect){ try { List<TStudent> list = studentService.list(new QueryWrapper<TStudent>().in("id",collect).eq("state", 1)); return list; }catch (Exception e){ e.printStackTrace(); return new ArrayList<>(); } } @ResponseBody @PostMapping("/student/queryStudentCom") public List<Map<String, Object>> queryStudentCom(@RequestBody Integer id){ cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
@@ -284,12 +284,12 @@ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) public ResultUtil<List<Goods>> pointsMallList(MallRequest request){ try { // try { System.out.println("======request========"+request); return ResultUtil.success(tauService.queryAppUserIntegral(request)); }catch (Exception e){ return ResultUtil.runErr(); } // }catch (Exception e){ // return ResultUtil.runErr(); // } } cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java
@@ -18,6 +18,9 @@ @PostMapping("/base/competition/getCompetitionsDetails") List<PurchaseRecordVo> getStuSourseList(@RequestBody GetStuSourseList getStuSourseList); @PostMapping("/base/competition/getCompetitionsDetails1") List<PurchaseRecordVo> getStuSourseList1(@RequestBody GetStuSourseList getStuSourseList); @PostMapping("/base/competition/getPayedCompetitions") BillingRequestVo getAllCompetitionPayRecord(@RequestBody BillingDataRequestVo requestVo); cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java
@@ -14,4 +14,7 @@ @ApiModelProperty(value = "类型:1增加 2扣减 ", dataType = "int") private Integer type; @ApiModelProperty(value = "课包id", dataType = "int") private Integer lessionId; } cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -1179,183 +1179,185 @@ @Transactional public ResultUtil productRedemptionOperation(Integer userIdFormRedis, GoodsExchangeVo exchangeType) { System.out.println("exchangeType:--->"); System.out.println(exchangeType); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); PointsMerchandise merchandise = mcClient.selectPointsMerchandiseById(exchangeType.getGoodId()); if (ToolUtil.isEmpty(merchandise)){ return ResultUtil.error("商品不存在"); } TAppUser tAppUser = this.baseMapper.selectById(userIdFormRedis); if(merchandise.getUserPopulation()==2){ if(tAppUser.getIsVip()==0){ return ResultUtil.error("该商品只能年度会员购买"); try { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); PointsMerchandise merchandise = mcClient.selectPointsMerchandiseById(exchangeType.getGoodId()); if (ToolUtil.isEmpty(merchandise)){ return ResultUtil.error("商品不存在"); } } TAppUser tAppUser = this.baseMapper.selectById(userIdFormRedis); if(merchandise.getUserPopulation()==3){ List<TStudent> students = tsmapper.selectList(new LambdaQueryWrapper<TStudent>().eq(TStudent::getAppUserId, userIdFormRedis)); if(students.size()==0){ return ResultUtil.error("该商品只能已有学员用户购买"); if(merchandise.getUserPopulation()==2){ if(tAppUser.getIsVip()==0){ return ResultUtil.error("该商品只能年度会员购买"); } } } if(merchandise.getUserPopulation()==3){ List<TStudent> students = tsmapper.selectList(new LambdaQueryWrapper<TStudent>().eq(TStudent::getAppUserId, userIdFormRedis)); if(students.size()==0){ return ResultUtil.error("该商品只能已有学员用户购买"); } } if (ToolUtil.isEmpty(tAppUser)){ return ResultUtil.error("用户不存在"); } int goodsNums = 0; if (ToolUtil.isEmpty(exchangeType.getNums())){ goodsNums = 1; }else { goodsNums = exchangeType.getNums(); } AppUserGoodResp goodResp = new AppUserGoodResp(); goodResp.setAppUserId(userIdFormRedis); goodResp.setGoodId(merchandise.getId()); int count = mcClient.queryUserHasGoodsNums(goodResp); if (ToolUtil.isNotEmpty(count) && count >= merchandise.getPickUpQuantity()){ return ResultUtil.error("超过限领数量"); } int count1 = mcClient.queryUserHasGoodsNums1(goodResp); if (ToolUtil.isNotEmpty(count1) && count1 >= merchandise.getQuantityIssued()){ return ResultUtil.error("超过发放数量"); } if (ToolUtil.isEmpty(tAppUser)){ return ResultUtil.error("用户不存在"); } int goodsNums = 0; if (ToolUtil.isEmpty(exchangeType.getNums())){ goodsNums = 1; }else { goodsNums = exchangeType.getNums(); } AppUserGoodResp goodResp = new AppUserGoodResp(); goodResp.setAppUserId(userIdFormRedis); goodResp.setGoodId(merchandise.getId()); int count = mcClient.queryUserHasGoodsNums(goodResp); if (ToolUtil.isNotEmpty(count) && count >= merchandise.getPickUpQuantity()){ return ResultUtil.error("超过限领数量"); } int count1 = mcClient.queryUserHasGoodsNums1(goodResp); if (ToolUtil.isNotEmpty(count1) && count1 >= merchandise.getQuantityIssued()){ return ResultUtil.error("超过发放数量"); } for (int i = 0; i < goodsNums; i++) { // 新增积分商品兑换记录 UserPointsMerchandise pointsMerchandise = new UserPointsMerchandise(); pointsMerchandise.setPointsMerchandiseId(exchangeType.getGoodId()); pointsMerchandise.setUserId(userIdFormRedis); pointsMerchandise.setStatus(1); pointsMerchandise.setState(1); pointsMerchandise.setPayStatus(1); if (merchandise.getUseScope() == 3){ if (exchangeType.getGoodsType() == 2){ CoursePackage coursePackage = cpageClient.queryCoursePackageById(merchandise.getCoursePackageId()); pointsMerchandise.setStoreId(coursePackage.getStoreId()); }else { pointsMerchandise.setStoreId(exchangeType.getStoreId()); } } pointsMerchandise.setCode(code); mcClient.saveDetailsUserPointMercase(pointsMerchandise); } switch (exchangeType.getExchangeType()){ switch (exchangeType.getExchangeType()){ // 积分 case 1: boolean b = dealAppUserIntegral(userIdFormRedis,tAppUser,merchandise.getIntegral()); if (b){ switch (exchangeType.getGoodsType()){ case 2: Integer stuNums = 0; if (ToolUtil.isNotEmpty(exchangeType.getStuIds())){ stuNums = exchangeType.getStuIds().size(); }else { stuNums = 1; } for (int i = 0; i < stuNums; i++) { List<CoursePackagePaymentConfig> courseConfigList = cpconClient.getCourseConfigList(merchandise.getCoursePackageId()); TCoursePackagePayment packagePayment = new TCoursePackagePayment(); packagePayment.setAppUserId(userIdFormRedis); packagePayment.setStudentId(exchangeType.getStuIds().get(i)); packagePayment.setCoursePackageId(merchandise.getCoursePackageId()); for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) { if (Objects.equals(coursePackagePaymentConfig.getId(), merchandise.getCoursePackageConfigId())) { packagePayment.setClassHours(coursePackagePaymentConfig.getClassHours()); packagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours()); packagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours()); packagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); break; } case 1: boolean b = dealAppUserIntegral(userIdFormRedis,tAppUser,merchandise.getIntegral()); if (b){ switch (exchangeType.getGoodsType()){ case 2: Integer stuNums = 0; if (ToolUtil.isNotEmpty(exchangeType.getStuIds())){ stuNums = exchangeType.getStuIds().size(); }else { stuNums = 1; } packagePayment.setPlayPaiCoin(merchandise.getIntegral()); packagePayment.setAbsencesNumber(0); packagePayment.setPayUserType(1); packagePayment.setPayStatus(2); packagePayment.setPayUserId(userIdFormRedis); packagePayment.setStatus(1); packagePayment.setState(1); packagePayment.setCode(code); paymentClient.savePaymentCoursePackage(packagePayment); for (int i = 0; i < stuNums; i++) { List<CoursePackagePaymentConfig> courseConfigList = cpconClient.getCourseConfigList(merchandise.getCoursePackageId()); TCoursePackagePayment packagePayment = new TCoursePackagePayment(); packagePayment.setAppUserId(userIdFormRedis); packagePayment.setStudentId(exchangeType.getStuIds().get(i)); packagePayment.setCoursePackageId(merchandise.getCoursePackageId()); for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) { if (Objects.equals(coursePackagePaymentConfig.getId(), merchandise.getCoursePackageConfigId())) { packagePayment.setClassHours(coursePackagePaymentConfig.getClassHours()); packagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours()); packagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours()); packagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); break; } } packagePayment.setPlayPaiCoin(merchandise.getIntegral()); packagePayment.setAbsencesNumber(0); packagePayment.setPayUserType(1); packagePayment.setPayStatus(2); packagePayment.setPayUserId(userIdFormRedis); packagePayment.setStatus(1); packagePayment.setState(1); packagePayment.setCode(code); paymentClient.savePaymentCoursePackage(packagePayment); } break; case 4: for (int i = 0; i < goodsNums; i++) { UserCoupon coupon = new UserCoupon(); coupon.setCouponId(exchangeType.getGoodId()); coupon.setUserId(userIdFormRedis); coupon.setStatus(1); ucponClient.insertToAppuserCoupon(coupon); } break; default: break; } }else { return ResultUtil.error("用户积分不足!"); } break; case 2: // 积分+现金 boolean dealt = dealAppUserIntegral(userIdFormRedis,tAppUser,merchandise.getIntegral()); switch (exchangeType.getPayType()) { case 1: try { if (merchandise.getType() == 2) { return WechatPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code); } else { return WechatPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code); } } catch (Exception e) { return ResultUtil.runErr(); } break; case 4: for (int i = 0; i < goodsNums; i++) { UserCoupon coupon = new UserCoupon(); coupon.setCouponId(exchangeType.getGoodId()); coupon.setUserId(userIdFormRedis); coupon.setStatus(1); ucponClient.insertToAppuserCoupon(coupon); case 2: if (merchandise.getType() == 2) { return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code); } else { return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code); } break; default: break; } }else { return ResultUtil.error("用户积分不足!"); } break; case 2: // 积分+现金 boolean dealt = dealAppUserIntegral(userIdFormRedis,tAppUser,merchandise.getIntegral()); switch (exchangeType.getPayType()) { case 1: try { if (merchandise.getType() == 2) { return WechatPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code); } else { return WechatPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code); break; case 3: switch (exchangeType.getPayType()) { case 1: try { if (merchandise.getType() == 2) { return WechatPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code); } else { return WechatPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code); } } catch (Exception e) { return ResultUtil.runErr(); } } catch (Exception e) { return ResultUtil.runErr(); } case 2: if (merchandise.getType() == 2) { return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code); } else { return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code); } default: break; } break; case 3: switch (exchangeType.getPayType()) { case 1: try { case 2: if (merchandise.getType() == 2) { return WechatPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code); return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code); } else { return WechatPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code); return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code); } } catch (Exception e) { return ResultUtil.runErr(); } case 2: if (merchandise.getType() == 2) { return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code); } else { return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code); } default: break; } break; default: break; } for (int i = 0; i < goodsNums; i++) { // 新增积分商品兑换记录 UserPointsMerchandise pointsMerchandise = new UserPointsMerchandise(); pointsMerchandise.setPointsMerchandiseId(exchangeType.getGoodId()); pointsMerchandise.setUserId(userIdFormRedis); pointsMerchandise.setStatus(1); pointsMerchandise.setState(1); if (merchandise.getUseScope() == 3){ if (exchangeType.getGoodsType() == 2){ CoursePackage coursePackage = cpageClient.queryCoursePackageById(merchandise.getCoursePackageId()); pointsMerchandise.setStoreId(coursePackage.getStoreId()); }else { pointsMerchandise.setStoreId(exchangeType.getStoreId()); } default: break; } break; default: break; } pointsMerchandise.setCode(code); mcClient.saveDetailsUserPointMercase(pointsMerchandise); return ResultUtil.success(); }catch (Exception e){ e.printStackTrace(); return null; } return ResultUtil.success(); } public boolean dealAppUserIntegral(Integer appUserId,TAppUser appUser,Integer points){ @@ -1382,7 +1384,8 @@ } private ResultUtil AlipayPayment(BigDecimal cash, String code) { ResultUtil alipay = payMoneyUtil.alipay("课包续费", "", "", code, cash.toString(), System.out.println("金额:"+cash); ResultUtil alipay = payMoneyUtil.alipay("课包续费", "课包续费", "", code, cash.toString(), "/base/pointMer/exchangeGoodPaymentAliCallback"); if(alipay.getCode() == 200){ new Thread(new Runnable() { @@ -1395,7 +1398,9 @@ int min = 5000; wait += (min * num); Thread.sleep(wait); System.out.println("code:"+code); List<UserPointsMerchandise> userPointsMerchandises = mcClient.queryUserPointMerchaseByCode(code); System.out.println("list-----"+userPointsMerchandises); if(userPointsMerchandises.get(0).getPayStatus() == 2){ break; } cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
@@ -291,6 +291,10 @@ if(timeRequest.getType()!=null){ eq.eq(TCourseInfoRecord::getType,timeRequest.getType()); } if (timeRequest.getLessionId()!=null){ eq.eq(TCourseInfoRecord::getCourseId,timeRequest.getLessionId()); } // 2.0其他记录 List<TCourseInfoRecord> list = courseInfoRecordService.list(eq); List<PurchaseRecordVo> list1=new ArrayList<>(); cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java
@@ -32,8 +32,6 @@ @Autowired private PayMoneyUtil payMoneyUtil; @Autowired private VipPaymentMapper vipPaymentMapper; cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -89,12 +89,23 @@ * 门票上下架 state=1 上架 state=2 下架 */ @RequestMapping("/base/pointMerchars/changeState") public Object changeState(@RequestBody CoachChangeStateVO dto){ return pmdsService.changeState(dto); public void changeState(@RequestBody CoachChangeStateVO dto){ pmdsService.changeState(dto); } /** * 门票核销 */ @RequestMapping("/base/course/changeState") @ResponseBody public Object changeState(@RequestBody CourseChangeStateDTO dto){ return userPointsMerchandiseService.changeState(dto); } @RequestMapping("/base/pointMerchars/writeOff") public Object writeOff(@RequestBody WriteOffDTO dto){ UserPointsMerchandise byId = userPointsMerchandiseService.getById(dto.getId()); @@ -481,13 +492,18 @@ ProductDetailsVo detailsVo = new ProductDetailsVo(); PointsMerchandise merchandise = pmdsService.getById(detailRequest.getGoodId()); detailsVo.setCardType(merchandise.getCardType()); if (merchandise!=null) { detailsVo.setCardType(merchandise.getCardType()); } switch (detailRequest.getGoodsType()){ case 2: // 课包 CoursePackage coursePackage = cpClient.queryCoursePackageById(merchandise.getCoursePackageId()); detailsVo.setGoodId(coursePackage.getId()); // detailsVo.setGoodId(coursePackage.getId()); detailsVo.setGoodId(merchandise.getId()); List<String> list1 = new ArrayList<>(); list1.add(coursePackage.getCoverDrawing()); list1.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ","))); @@ -621,10 +637,10 @@ }); detailsVo.setGoodName(coupon.getName()); detailsVo.setBelongsScope(coupon.getUserPopulation()); int couponNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>() .eq("pointsMerchandiseId",merchandise.getId() )); detailsVo.setRedeemedNum(couponNums); detailsVo.setResidueNum(Math.max(coupon.getQuantityIssued() - couponNums, 0)); // int couponNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>() // .eq("pointsMerchandiseId",merchandise.getId() )); detailsVo.setRedeemedNum(coupon.getPickUpQuantity()); detailsVo.setResidueNum(Math.max(coupon.getQuantityIssued() - coupon.getPickUpQuantity(), 0)); detailsVo.setPerLimit(coupon.getPickUpQuantity()); detailsVo.setExchangeType(coupon.getRedemptionMethod()); if (coupon.getRedemptionMethod() == 1){ @@ -860,6 +876,7 @@ upmseService.updateById(merchandise); } @ResponseBody @PostMapping("/base/pointMerchars/queryUserPointMerchaseByCode") public List<UserPointsMerchandise> queryUserPointMerchaseByCode(@RequestBody String code){ return upmseService.list(new QueryWrapper<UserPointsMerchandise>() cloud-server-activity/src/main/java/com/dsh/activity/entity/CourseChangeStateDTO.java
New file @@ -0,0 +1,11 @@ package com.dsh.activity.entity; import lombok.Data; import java.util.List; @Data public class CourseChangeStateDTO { private List<Integer> ids; private Integer state; } cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java
@@ -37,7 +37,7 @@ List<Map<String, Object>> ticketList(@Param("query") IntegralGoodsOfSearch ofSearch); int changeState(@Param("query") CoachChangeStateVO dto); void changeState(@Param("ids") List<Integer> ids ,@Param("state") Integer state); void saveCity(@Param("id") Integer id, @Param("province") String province, @Param("provinceCode") String provinceCode, @Param("city") String city, @Param("cityCode") String cityCode); cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java
@@ -23,4 +23,5 @@ List<PointMerchandiseIncomeVo> getAmount(); Object changeState(List<Integer> ids, Integer state); } cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java
@@ -26,6 +26,6 @@ List<Map<String, Object>> ticketList(IntegralGoodsOfSearch ofSearch); Object changeState(CoachChangeStateVO dto); void changeState(CoachChangeStateVO dto); } cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java
@@ -1,6 +1,7 @@ package com.dsh.activity.service; import com.baomidou.mybatisplus.extension.service.IService; import com.dsh.activity.entity.CourseChangeStateDTO; import com.dsh.activity.entity.UserPointsMerchandise; import com.dsh.activity.model.PointMerchandiseIncomeVo; import com.dsh.activity.model.request.PointMercharsPayedVo; @@ -20,4 +21,5 @@ List<PointMerchandiseIncomeVo> getAmount(); Object changeState(CourseChangeStateDTO dto); } cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java
@@ -80,27 +80,31 @@ List<BenefitsVideoClassificationListVo> listVos = new ArrayList<>(); for (BenefitsVideoClassification benefitsVideoClassification : list) { BenefitsVideoClassificationListVo benefitsVideoClassificationListVo = new BenefitsVideoClassificationListVo(); benefitsVideoClassificationListVo.setId(benefitsVideoClassification.getId()); benefitsVideoClassificationListVo.setName(benefitsVideoClassification.getName()); QueryWrapper<BenefitsVideos> benefitsVideosQueryWrapper = new QueryWrapper<BenefitsVideos>().eq("state", 1).eq("benefitsVideoClassificationId",benefitsVideoClassification.getId()); if(collect.size() > 0){ benefitsVideosQueryWrapper.notIn("id", collect); if (benefitsVideoClassification.getState() == 1) { BenefitsVideoClassificationListVo benefitsVideoClassificationListVo = new BenefitsVideoClassificationListVo(); benefitsVideoClassificationListVo.setId(benefitsVideoClassification.getId()); benefitsVideoClassificationListVo.setName(benefitsVideoClassification.getName()); QueryWrapper<BenefitsVideos> benefitsVideosQueryWrapper = new QueryWrapper<BenefitsVideos>().eq("state", 1).eq("benefitsVideoClassificationId", benefitsVideoClassification.getId()); if (collect.size() > 0) { benefitsVideosQueryWrapper.notIn("id", collect); } List<BenefitsVideos> list1 = this.list(benefitsVideosQueryWrapper.orderByDesc("insertTime").last(" limit 0, 4")); List<BenefitsVideosListVo> lists = new ArrayList<>(); for (BenefitsVideos benefitsVideos : list1) { if (benefitsVideos.getState()==1) { Integer courseId = benefitsVideos.getCourseId(); Course course = courseClient.queryCourseById(courseId); BenefitsVideosListVo benefitsVideosListVo = new BenefitsVideosListVo(); benefitsVideosListVo.setId(benefitsVideos.getId()); benefitsVideosListVo.setName(course.getName()); benefitsVideosListVo.setCover(course.getCoverDrawing()); benefitsVideosListVo.setIntroduce(course.getIntroduce()); lists.add(benefitsVideosListVo); } } benefitsVideoClassificationListVo.setList(lists); listVos.add(benefitsVideoClassificationListVo); } List<BenefitsVideos> list1 = this.list(benefitsVideosQueryWrapper.orderByDesc("insertTime").last(" limit 0, 4")); List<BenefitsVideosListVo> lists = new ArrayList<>(); for (BenefitsVideos benefitsVideos : list1) { Integer courseId = benefitsVideos.getCourseId(); Course course = courseClient.queryCourseById(courseId); BenefitsVideosListVo benefitsVideosListVo = new BenefitsVideosListVo(); benefitsVideosListVo.setId(benefitsVideos.getId()); benefitsVideosListVo.setName(course.getName()); benefitsVideosListVo.setCover(course.getCoverDrawing()); benefitsVideosListVo.setIntroduce(course.getIntroduce()); lists.add(benefitsVideosListVo); } benefitsVideoClassificationListVo.setList(lists); listVos.add(benefitsVideoClassificationListVo); } return listVos; } @@ -146,10 +150,12 @@ public List<BenefitsVideosListVo> queryBenefitsVideosList(Integer uid, Integer classificationId, String search, Integer pageSize, Integer pageNo) throws Exception { pageSize = (pageSize - 1) * pageNo; List<Integer> ids = null; if(ToolUtil.isNotEmpty(search)){ List<Course> courses = courseClient.queryCourseByName(search); ids = courses.stream().map(Course::getId).collect(Collectors.toList()); } List<Map<String, Object>> benefitsVideos = this.baseMapper.queryBenefitsVideosList(uid, classificationId, ids, pageSize, pageNo); List<BenefitsVideosListVo> lists = new ArrayList<>(); for (Map<String, Object> benefitsVideo : benefitsVideos) { cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java
@@ -45,7 +45,8 @@ } @Override public Object changeState(CoachChangeStateVO dto) { return this.baseMapper.changeState(dto); public void changeState(CoachChangeStateVO dto) { List<Integer> ids = dto.getIds(); this.baseMapper.changeState(ids,dto.getState()); } } cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java
@@ -1,6 +1,7 @@ package com.dsh.activity.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.activity.entity.CourseChangeStateDTO; import com.dsh.activity.entity.UserPointsMerchandise; import com.dsh.activity.mapper.UserPointsMerchandiseMapper; import com.dsh.activity.model.PointMerchandiseIncomeVo; @@ -28,4 +29,10 @@ public List<PointMerchandiseIncomeVo> getAmount() { return userPointsMerchandiseMapper.getAmount(); } @Override public Object changeState(CourseChangeStateDTO dto) { List<Integer> ids = dto.getIds(); return this.baseMapper.changeState(ids,dto.getState()); } } cloud-server-activity/src/main/resources/mapper/BenefitsVideosMapper.xml
@@ -3,13 +3,12 @@ <mapper namespace="com.dsh.activity.mapper.BenefitsVideosMapper"> <select id="queryBenefitsVideosList" resultType="map"> select * from ( <select id="queryBenefitsVideosList" resultType="java.util.Map"> (select id, courseId, integral, 0 as study "0" as study from t_benefits_videos where state = 1 and id not in (select benefitsVideosId from t_user_benefits_videos where appUserId = #{uid}) <if test="null != classificationId"> and benefitsVideoClassificationId = #{classificationId} @@ -28,7 +27,7 @@ id, courseId, integral, 1 as study "1" as study from t_benefits_videos where state = 1 and id in (select benefitsVideosId from t_user_benefits_videos where appUserId = #{uid}) <if test="null != classificationId"> and benefitsVideoClassificationId = #{classificationId} @@ -40,7 +39,6 @@ </foreach> </if> order by insertTime desc) ) as a limit #{pageSize}, #{pageNo} </select> <select id="getBenefitVideoById" resultType="com.dsh.activity.entity.BenefitsVideos"> select * from t_benefits_videos where cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml
@@ -110,13 +110,13 @@ and `type` = 3 order by sort desc </select> <select id="changeState" resultType="java.lang.Integer"> update t_points_merchandise set shelves = #{query.state} <select id="changeState" > update t_benefits_videos set state = #{state} <where> <if test="query.ids != null and query.ids.size()>0"> AND t_points_merchandise.id IN <foreach collection="query.ids" separator="," item="id" open="(" close=")"> <if test="ids != null and ids.size()>0"> AND t_benefits_videos.id IN <foreach collection="ids" separator="," item="id" open="(" close=")"> #{id} </foreach> </if> cloud-server-activity/src/main/resources/mapper/UserPointsMerchandiseMapper.xml
@@ -1,6 +1,22 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.dsh.activity.mapper.UserPointsMerchandiseMapper"> <update id="changeState"> update t_benefits_videos set state = #{state} <where> <if test="ids != null and ids.size()>0"> AND t_benefits_videos.id IN <foreach collection="ids" separator="," item="id" open="(" close=")"> #{id} </foreach> </if> </where> </update> <select id="getAmount" resultType="com.dsh.activity.model.PointMerchandiseIncomeVo"> cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -11,6 +11,7 @@ import com.dsh.competition.entity.UserCompetition; import com.dsh.competition.feignclient.account.AppUserClient; import com.dsh.competition.feignclient.account.model.AppUser; import com.dsh.competition.feignclient.course.CoursePackagePaymentClient; import com.dsh.competition.feignclient.model.*; import com.dsh.competition.model.*; import com.dsh.competition.service.CompetitionService; @@ -25,9 +26,11 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.Synchronized; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; @@ -201,6 +204,38 @@ } @PostMapping("/base/competition/getCompetitionsDetails1") public List<PurchaseRecordVo> getStuSourseList1(@RequestBody GetStuSourseList sourseList){ List<PurchaseRecordVo> recordVos = new ArrayList<>(); ArrayList<Integer> integers = new ArrayList<>(); integers.add(4); List<PaymentCompetition> list = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>() .in("payType",integers ) .eq("appUserId", sourseList.getAppUserId()) .eq("state",1)); if (list.size() > 0){ List<Long> comIds = list.stream().map(PaymentCompetition::getId).collect(Collectors.toList()); List<UserCompetition> userCompetitions = ucttService.list(new QueryWrapper<UserCompetition>() .between("insertTime", sourseList.getStartTime(),sourseList.getEndTime() ) .eq("appUserId", sourseList.getAppUserId()) .in("paymentCompetitionId",comIds )); if (userCompetitions.size() > 0){ userCompetitions.forEach(coms ->{ PurchaseRecordVo recordVo = new PurchaseRecordVo(); recordVo.setPurchaseType("报名赛事"); recordVo.setPurchaseTime(dateFormat.format(coms.getInsertTime())); PaymentCompetition paymentCompetition = paymentCompetitionService.getById(coms.getPaymentCompetitionId()); recordVo.setPurchaseAmount("-"+paymentCompetition.getAmount()); recordVos.add(recordVo); }); } } return recordVos; } @@ -254,6 +289,9 @@ @Autowired private CompetitionService competitionService; @Resource private CoursePackagePaymentClient coursePackagePaymentClient; @ResponseBody @PostMapping("/api/competition/paymentCompetition") @@ -262,30 +300,39 @@ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil paymentCompetition(PaymentCompetitionVo paymentCompetitionVo){ public synchronized ResultUtil paymentCompetition(PaymentCompetitionVo paymentCompetitionVo){ try { Competition byId = competitionService.getById(paymentCompetitionVo.getId()); Date date = byId.getEndTime(); // Assuming you have a Date object 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,"已超过截至报名时间"); } Integer uid = tokenUtil.getUserIdFormRedis(); if(null == uid){ return ResultUtil.tokenErr(); } if (byId.getRegisterCondition()==3){ Integer counts = coursePackagePaymentClient.isHave(uid); if (counts==0){ return new ResultUtil(0,"当前赛事仅限已购课学员报名"); } } if (byId.getRegisterCondition()==2){ AppUser appUser = appUserClient.queryAppUser(uid); if (appUser.getIsVip()==0){ return new ResultUtil(0,"当前赛事仅限年度会员报名"); }else { Date vipEndTime = appUser.getVipEndTime(); Date currentTime = new Date(); // Current time if (vipEndTime.before(currentTime)) { return new ResultUtil(0,"您的年度会员已过期,请续费"); } } } return cttService.paymentCompetition(uid, paymentCompetitionVo); }catch (Exception e){ e.printStackTrace(); cloud-server-competition/src/main/java/com/dsh/competition/entity/Participant.java
@@ -18,7 +18,7 @@ /** * 主键 */ @TableId(value = "id", type = IdType.AUTO) @TableId(value = "id") private Integer id; /** * 用户id cloud-server-competition/src/main/java/com/dsh/competition/feignclient/course/CoursePackagePaymentClient.java
@@ -46,5 +46,7 @@ @PostMapping("/coursePackagePayment/paymentCompetitionCourseList") List<PayCourseRes> paymentCompetitionCourseList(String s); @PostMapping("/coursePackagePayment/isHave") Integer isHave(Integer uid); } cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java
@@ -239,15 +239,15 @@ if(paymentCompetitionVo.getPayType() == 4){//课程 money = new BigDecimal(competition.getClassPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN); for (String s : split) { Participant participant = participantService.getById(s); Student student = studentClient.queryStudentByPhone(participant.getPhone()); if(null == student){ return ResultUtil.error(participant.getName() + "不是学员,无法使用课时支付。"); } // 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 ResultUtil.error(participant.getName() + "剩余课时不足,无法完成支付。"); return ResultUtil.error( "剩余课时不足,无法完成支付。"); } } } @@ -297,10 +297,10 @@ } if(paymentCompetitionVo.getPayType() == 4){//课程 for (String s : split) { Participant participant = participantService.getById(s); Student student = studentClient.queryStudentByPhone(participant.getPhone()); // Participant participant = participantService.getById(s); // Student student = studentClient.queryStudentByPhone(participant.getPhone()); PaymentDeductionClassHour paymentDeductionClassHour = new PaymentDeductionClassHour(); paymentDeductionClassHour.setId(student.getId()); paymentDeductionClassHour.setId(Integer.valueOf(s)); paymentDeductionClassHour.setClassHour(competition.getClassPrice()); paymentDeductionClassHour.setCode(code); paymentDeductionClassHour.setCourseId(paymentCompetitionVo.getCoursePaymentId()); cloud-server-competition/src/main/java/com/dsh/competition/util/CodeGenerateUtils.java
cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java
@@ -67,7 +67,6 @@ @RequestMapping("/base/course/changeState") @ResponseBody public Object changeState(@RequestBody CourseChangeStateDTO dto){ return courseService.changeState(dto); } cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -184,8 +184,6 @@ String[] end = value1.split(","); for (int i = 0; i < star.length; i++) { // int index = star[i].indexOf(","); // // // String result = value.substring(0, index).trim(); String classStartTime = star[i]; String[] split = classStartTime.split(":"); @@ -203,7 +201,7 @@ Calendar e = Calendar.getInstance(); e.setTime(date); e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 13); e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 14); long timeInMillis = e.getTimeInMillis(); while (true){ @@ -1088,6 +1086,10 @@ } @Autowired private TCoursePackageService packageService; @Autowired CoursePackageStudentService studentService ; /** * 课程用于支付进行扣减 * @param paymentDeductionClassHour @@ -1101,58 +1103,202 @@ .eq("status", 1).eq("state", 1).gt("laveClassHours", 0)); Integer classHour = paymentDeductionClassHour.getClassHour(); for (TCoursePackagePayment coursePackagePayment : list) { if(coursePackagePayment.getLaveClassHours().compareTo(classHour) >= 0){ if (coursePackagePayment.getLaveClassHours().compareTo(classHour) >= 0) { coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() - classHour); coursePackagePayment.setAppUserId(null); packagePaymentService.updateById(coursePackagePayment); // 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")); coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().eq("courseId", coursePackagePayment.getCoursePackageId())); coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("coursePackageId", coursePackagePayment.getCoursePackageId())); Student student = studentClient.queryStudentById(coursePackagePayment.getStudentId()); TCoursePackage tCoursePackage = packageService.getById(coursePackagePayment.getCoursePackageId()); String classWeeks = tCoursePackage.getClassWeeks(); List<Integer> week = week(classWeeks); 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"); // 本周周几 int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date()) - 1; for (Integer integer : week) { if (integer < i) { // 找下一周的时间 Calendar instance = Calendar.getInstance(); instance.add(Calendar.DATE, 7 - (i - integer)); Date time = instance.getTime(); for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.save(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(student.getAppUserId()); student1.setStudentId(student.getId()); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(coursePackagePayment.getId()); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); studentService.save(student1); } } else if (integer > i) { Calendar instance = Calendar.getInstance(); instance.add(Calendar.DATE, integer - i); Date time1 = instance.getTime(); List<Date> list6 = new ArrayList<>(); list6.add(time1); instance.add(Calendar.DATE, 7); Date time2 = instance.getTime(); list6.add(time2); for (Date time : list6) { for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.save(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(student.getAppUserId()); student1.setStudentId(student.getId()); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(coursePackagePayment.getId()); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); studentService.save(student1); } } } else { Calendar instance = Calendar.getInstance(); instance.add(Calendar.DATE, 7); Date time = instance.getTime(); for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.save(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(student.getAppUserId()); student1.setStudentId(student.getId()); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(coursePackagePayment.getId()); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); studentService.save(student1); } } } 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); break; }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); // 2.0 少于3课时 推送 if (coursePackagePayment.getLaveClassHours() <= 3) { Integer appUserId = coursePackagePayment.getAppUserId(); classHour -= cancelledClasses.getCancelledClassesNumber(); //调用推送 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); break; }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(); } } } }catch (Exception e){ e.printStackTrace(); } } private List<Integer> week(String week){ String[] split = week.split(";"); ArrayList<Integer> integers = new ArrayList<>(); for (String s : split) { switch (s){ case "周一": integers.add(1); break; case "周二": integers.add(2); break; case "周三": integers.add(3); break; case "周四": integers.add(4); break; case "周五": integers.add(5); break; case "周六": integers.add(6); break; case "周日": integers.add(7); break; } } return integers; } /** * 取消赛事回退支付课时 * @param paymentDeductionClassHour cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageSchedulingController.java
@@ -59,4 +59,14 @@ coursePackageScheduling.setCoursePackageId(null); coursePackageSchedulingService.updateById(coursePackageScheduling); } /** * 新增数据 * @param coursePackageScheduling */ @ResponseBody @PostMapping("/coursePackageScheduling/saveCoursePackageScheduling") public void addCoursePackageScheduling(@RequestBody CoursePackageScheduling coursePackageScheduling){ coursePackageSchedulingService.save(coursePackageScheduling); } } cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
@@ -488,7 +488,7 @@ private StudentClient studentClient; @RequestMapping(value = "/toHoli",produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8") @ResponseBody public String toHoli(@RequestBody ToHoliDto toHoliDto){ public String toHoli(@RequestBody ToHoliDto toHoliDto) throws ParseException { String [] ids = toHoliDto.getIds(); List<String> strings = new ArrayList<>(); @@ -555,27 +555,23 @@ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); try { Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.insert(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(student.getAppUserId()); student1.setStudentId(student.getId()); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(holi.getId()); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); studentService.save(student1); } catch (ParseException e) { e.printStackTrace(); } CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(student.getAppUserId()); student1.setStudentId(student.getId()); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(holi.getId()); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); studentService.save(student1); } @@ -592,45 +588,12 @@ for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); try { Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.insert(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(student.getAppUserId()); student1.setStudentId(student.getId()); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(holi.getId()); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); studentService.save(student1); } catch (ParseException e) { e.printStackTrace(); } } } }else { Calendar instance = Calendar.getInstance(); instance.add(Calendar.DATE,7); Date time = instance.getTime(); for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); try { Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.insert(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(student.getAppUserId()); @@ -642,9 +605,34 @@ student1.setReservationStatus(1); student1.setInsertTime(new Date()); studentService.save(student1); } catch (ParseException e) { e.printStackTrace(); } } }else { Calendar instance = Calendar.getInstance(); instance.add(Calendar.DATE,7); Date time = instance.getTime(); for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.insert(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(student.getAppUserId()); student1.setStudentId(student.getId()); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(holi.getId()); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); studentService.save(student1); } } } @@ -699,7 +687,7 @@ @RequestMapping(value = "/toTrans",produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8") @ResponseBody public String toTrans(@RequestBody ToHoliDto toHoliDto){ public String toTrans(@RequestBody ToHoliDto toHoliDto) throws ParseException { String [] ids = toHoliDto.getIds(); List<String> strings = new ArrayList<>(); @@ -769,27 +757,23 @@ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); try { Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.insert(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(student.getAppUserId()); student1.setStudentId(student.getId()); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(holi.getId()); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); studentService.save(student1); } catch (ParseException e) { e.printStackTrace(); } CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(student.getAppUserId()); student1.setStudentId(student.getId()); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(holi.getId()); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); studentService.save(student1); } @@ -806,45 +790,12 @@ for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); try { Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.insert(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(student.getAppUserId()); student1.setStudentId(student.getId()); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(holi.getId()); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); studentService.save(student1); } catch (ParseException e) { e.printStackTrace(); } } } }else { Calendar instance = Calendar.getInstance(); instance.add(Calendar.DATE,7); Date time = instance.getTime(); for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); try { Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.insert(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(student.getAppUserId()); @@ -856,10 +807,35 @@ student1.setReservationStatus(1); student1.setInsertTime(new Date()); studentService.save(student1); } catch (ParseException e) { e.printStackTrace(); } } }else { Calendar instance = Calendar.getInstance(); instance.add(Calendar.DATE,7); Date time = instance.getTime(); for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.insert(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(student.getAppUserId()); student1.setStudentId(student.getId()); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(holi.getId()); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); studentService.save(student1); } } } cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -807,6 +807,9 @@ // String classStartTime = coursePackage.getClassStartTime(); // String classEndTime = coursePackage.getClassEndTime(); if (byId == null){ continue; } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString1 = sdf.format(byId.getClassDate()); String dateString2 = sdf.format(byId.getEndDate()); cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -172,7 +172,6 @@ coursePackageListVo.setApplicantsNumber(integer); Double cashPayment1 = coursePackagePaymentConfig.getCashPayment(); Integer playPaiCoin = coursePackagePaymentConfig.getPlayPaiCoin(); if(ToolUtil.isNotEmpty(cashPayment1) && cashPayment1>0 && ToolUtil.isNotEmpty(playPaiCoin) && playPaiCoin>0){ @@ -1174,13 +1173,11 @@ } private void addPackageStudent(Integer courseId, Integer userId, Integer sId,Long paymentId){ private void addPackageStudent(Integer courseId, Integer userId, Integer sId,Long paymentId) throws ParseException { // 课包 TCoursePackage tCoursePackage = this.baseMapper.selectById(courseId); String classWeeks = tCoursePackage.getClassWeeks(); List<Integer> week = week(classWeeks); String[] split = tCoursePackage.getClassStartTime().split(","); @@ -1200,27 +1197,23 @@ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); try { Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.save(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(userId); student1.setStudentId(sId); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(paymentId); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); cpsMapper.insert(student1); } catch (ParseException e) { e.printStackTrace(); } CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(userId); student1.setStudentId(sId); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(paymentId); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); cpsMapper.insert(student1); } @@ -1237,45 +1230,12 @@ for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); try { Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.save(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(userId); student1.setStudentId(sId); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(paymentId); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); cpsMapper.insert(student1); } catch (ParseException e) { e.printStackTrace(); } } } }else { Calendar instance = Calendar.getInstance(); instance.add(Calendar.DATE,7); Date time = instance.getTime(); for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); try { Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.save(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(userId); @@ -1287,9 +1247,34 @@ student1.setReservationStatus(1); student1.setInsertTime(new Date()); cpsMapper.insert(student1); } catch (ParseException e) { e.printStackTrace(); } } }else { Calendar instance = Calendar.getInstance(); instance.add(Calendar.DATE,7); Date time = instance.getTime(); for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.save(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); student1.setAppUserId(userId); student1.setStudentId(sId); student1.setCoursePackageId(tCoursePackage.getId()); student1.setCoursePackagePaymentId(paymentId); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); cpsMapper.insert(student1); } } } @@ -1412,7 +1397,7 @@ Calendar e = Calendar.getInstance(); e.setTime(date); e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 13); e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 14); long timeInMillis = e.getTimeInMillis(); while (true) { @@ -1439,7 +1424,7 @@ coursePackageSchedulingService.save(coursePackageScheduling); } s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1); if (s.getTimeInMillis() > timeInMillis) { if (s.getTimeInMillis() >= timeInMillis) { break; } } @@ -1473,6 +1458,7 @@ coursePackageSchedulingService.remove(coursePackageSchedulingQueryWrapper); this.baseMapper.updateById(coursePackage); //生成排课数据 Date date = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); @@ -1499,7 +1485,7 @@ int d = Long.valueOf(14L - ((s.getTimeInMillis() - time) / 86400000L)).intValue(); e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + d); }else{ e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 13); e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 14); } long timeInMillis = e.getTimeInMillis(); cloud-server-course/src/main/java/com/dsh/course/util/TaskUtil.java
@@ -93,7 +93,7 @@ /** * 零时任务 */ @Scheduled(cron = "0 0 0 * * *") // @Scheduled(cron = "0 0 0 * * *") public void zeroTask(){ //定时添加排课数据 coursePackageSchedulingService.taskAddData(); cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java
@@ -7,6 +7,7 @@ import com.dsh.course.feignClient.activity.model.IntegralGoodsOfSearch; import com.dsh.course.feignClient.activity.model.PointMercharsPayedVo; import com.dsh.course.feignClient.activity.model.PointMercharsVo; import com.dsh.course.feignClient.course.model.CourseChangeStateDTO; import com.dsh.guns.modular.system.model.CoachChangeStateVO; import com.dsh.guns.modular.system.model.PointMerchandiseIncomeVo; import com.dsh.guns.modular.system.model.GoodsInfoOneVo; @@ -23,6 +24,10 @@ @FeignClient(value = "mb-cloud-activity") public interface PointMercharsClient { @RequestMapping("/base/pointMerchars/changeState") Object changeState(@RequestBody CourseChangeStateDTO dto); @RequestMapping("/base/pointMerchars/writeOff") Object writeOff(@RequestBody WriteOffDTO dto); /** cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageSchedulingClient.java
@@ -40,4 +40,8 @@ */ @PostMapping("/coursePackageScheduling/editCoursePackageScheduling") void editCoursePackageScheduling(CoursePackageScheduling coursePackageScheduling); @PostMapping("/coursePackageScheduling/saveCoursePackageScheduling") void save(CoursePackageScheduling coursePackageScheduling); } cloud-server-management/src/main/java/com/dsh/guns/core/common/constant/Const.java
@@ -11,7 +11,7 @@ /** * 系统默认的管理员密码 */ String DEFAULT_PWD = "111111"; String DEFAULT_PWD = "a123456"; /** * 管理员角色的名字 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TWelfareVideoController.java
@@ -2,6 +2,7 @@ import com.dsh.course.feignClient.activity.BenefitsVideoClient; import com.dsh.course.feignClient.activity.PointMercharsClient; import com.dsh.course.feignClient.activity.model.BenefitsVedioChangeStateVO; import com.dsh.course.feignClient.activity.model.BenefitsVideoClassification; import com.dsh.course.feignClient.activity.model.BenefitsVideos; @@ -23,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -179,9 +181,13 @@ if (benefitsVideos.getCourseId().equals(courseByCourseId.getId())){ courseByCourseId.setIntegral(benefitsVideos.getIntegral()); courseByCourseId.setBenefitsVideosId(benefitsVideos.getId()); courseByCourseId.setState(benefitsVideos.getState()); } } } return courseByCourseIds; } /** @@ -227,10 +233,16 @@ * * @return */ @Resource private PointMercharsClient mercharsClient; @RequestMapping("/changeCourseState") @ResponseBody public Object changeCourseState(@RequestBody CourseChangeStateDTO dto){ courseClient.changeState(dto); mercharsClient.changeState(dto); return ResultUtil.success(); } cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java
@@ -1,6 +1,7 @@ package com.dsh.guns.modular.system.controller.system; import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.mapper.UserMapper; import com.dsh.guns.config.UserExt; @@ -78,6 +79,13 @@ @RequestMapping("/user_add") public String addView(Model model) { model.addAttribute("language",UserExt.getLanguage()); LambdaQueryWrapper<Role> roleLambdaQueryWrapper = new LambdaQueryWrapper<>(); if(UserExt.getUser().getObjectType()!=1){ roleLambdaQueryWrapper.eq(Role::getObjId,UserExt.getUser().getObjectId()); } roleLambdaQueryWrapper.eq(Role::getObjType,UserExt.getUser().getObjectType()); List<Role> list = roleService.list(roleLambdaQueryWrapper); model.addAttribute("list",list); return PREFIX + "user_add.html"; } @@ -112,6 +120,13 @@ model.addAttribute("roleName", ConstantFactory.me().getRoleName(user.getRoleid())); model.addAttribute("deptName", ConstantFactory.me().getDeptName(user.getDeptid())); LogObjectHolder.me().set(user); LambdaQueryWrapper<Role> roleLambdaQueryWrapper = new LambdaQueryWrapper<>(); if(UserExt.getUser().getObjectType()!=1){ roleLambdaQueryWrapper.eq(Role::getObjId,UserExt.getUser().getObjectId()); } roleLambdaQueryWrapper.eq(Role::getObjType,UserExt.getUser().getObjectType()); List<Role> list = roleService.list(roleLambdaQueryWrapper); model.addAttribute("list",list); model.addAttribute("language",UserExt.getLanguage()); return PREFIX + "user_edit.html"; } @@ -224,6 +239,9 @@ User objectUser = UserFactory.createUser(user); objectUser.setObjectType(UserExt.getUser().getObjectType()); objectUser.setObjectId(UserExt.getUser().getObjectId()); objectUser.setRoleid(user.getRoleid()); objectUser.setAccount(user.getPhone()); objectUser.setPassword(SecureUtil.md5("a123456")); //查找平台所属公司 //Search for the company that owns the platform. this.userService.save(objectUser); cloud-server-management/src/main/java/com/dsh/guns/modular/system/factory/UserFactory.java
@@ -36,8 +36,8 @@ if (!StringUtils.isEmpty(newUser.getBirthday())) { oldUser.setBirthday(newUser.getBirthday()); } if (!StringUtils.isEmpty(newUser.getDeptid())) { oldUser.setDeptid(newUser.getDeptid()); if (!StringUtils.isEmpty(newUser.getRoleid())) { oldUser.setRoleid(newUser.getRoleid()); } if (!StringUtils.isEmpty(newUser.getSex())) { oldUser.setSex(newUser.getSex()); @@ -47,6 +47,10 @@ } if (!StringUtils.isEmpty(newUser.getPhone())) { oldUser.setPhone(newUser.getPhone()); oldUser.setAccount(newUser.getPhone()); } if (!StringUtils.isEmpty(newUser.getIdCard())) { oldUser.setIdCard(newUser.getIdCard()); } return oldUser; } cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/User.java
@@ -94,7 +94,16 @@ */ @TableField("objectId") private Integer objectId; @TableField("idCard") private String idCard; public String getIdCard() { return idCard; } public void setIdCard(String idCard) { this.idCard = idCard; } public Integer getId() { return id; cloud-server-management/src/main/java/com/dsh/guns/modular/system/transfer/UserDto.java
@@ -29,7 +29,15 @@ private Date createtime; private Integer version; private String avatar; private String idCard; public String getIdCard() { return idCard; } public void setIdCard(String idCard) { this.idCard = idCard; } public Integer getId() { return id; cloud-server-management/src/main/resources/mapper/DeptMapper.xml
@@ -37,6 +37,9 @@ <if test="objectType == 3"> and objectType = 3 and objectId =#{objectId} </if> <if test="objectType == 1"> and objectType = 1 </if> order by num ASC </select> cloud-server-management/src/main/resources/mapper/RoleMapper.xml
@@ -26,6 +26,9 @@ <if test="objectType == 3"> and rr.objType =3 and rr.objId =#{objectId} </if> <if test="objectType == 1"> and rr.objType =1 </if> </select> <delete id="deleteRolesById"> cloud-server-management/src/main/resources/mapper/UserMapper.xml
@@ -109,6 +109,9 @@ <if test="objectType ==3"> and (o.objectType =3 and o.objectId =#{objectId}) </if> <if test="objectType ==1"> and o.objectType =1 </if> </where> order by o.id desc </select> cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_three.html
@@ -120,9 +120,7 @@ ajax.start(); } var pageElement = document.getElementById('page'); var event = new Event('change'); pageElement.dispatchEvent(event); } cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_two.html
@@ -92,8 +92,7 @@ function updateType(e) { let name = $("#name").val() console.log(name ) console.log(name) if(name =='不跳转'){ $("#t1").hide() $("#t2").hide() @@ -120,9 +119,7 @@ ajax.start(); } var pageElement = document.getElementById('page'); var event = new Event('change'); pageElement.dispatchEvent(event); } cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_three.html
@@ -124,9 +124,7 @@ ajax.start(); } var pageElement = document.getElementById('page'); var event = new Event('change'); pageElement.dispatchEvent(event); } cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_two.html
@@ -117,9 +117,7 @@ ajax.start(); } var pageElement = document.getElementById('page'); var event = new Event('change'); pageElement.dispatchEvent(event); } cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user.html
@@ -45,9 +45,6 @@ @if(shiro.hasPermission("/mgr/unfreeze")){ <#button name="解冻" icon="fa-check-circle" clickFun="MgrUser.unfreeze()" space="true"/> @} @if(shiro.hasPermission("/mgr/setRoles")){ <#button name="角色分配" icon="fa-user-secret" clickFun="MgrUser.roleAssign()" space="true"/> @} @if(shiro.hasPermission("/mgr/kanbanPermissions")){ <#button name="看板权限设置" icon="fa-user-secret" clickFun="MgrUser.kanbanPermissions()" space="true"/> @} cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_add.html
@@ -1,42 +1,48 @@ @layout("/common/_container.html"){ <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="form-horizontal" id="userInfoForm"> <input type="hidden" id="id" value=""> <div class="row"> <div class="col-sm-6"> <div id="driverInfoContent"> <#input id="name" name="员工姓名" underline="true"/> <#input id="phone" name="联系电话" underline="true"/> <#avatar id="avatar" name="照片" underline="true"/> <#input id="birthday" name="生日" underline="true" type="text"/> <#select id="sex" name="性别" underline="true" > <option value="1">男</option> <option value="2">女</option> </#select> <#input id="idCard" name="身份证号" type="text" underline="true"/> <div class="ibox-content"> <div class="form-horizontal" id="userInfoForm"> <input type="hidden" id="id" value=""> <div class="row"> <div class="col-sm-6"> <div id="driverInfoContent"> <#input id="name" name="员工姓名" underline="true"/> <#input id="phone" name="联系电话" underline="true"/> <#avatar id="avatar" name="照片" underline="true"/> <#input id="birthday" name="生日" underline="true" type="text"/> <#select id="sex" name="性别" underline="true" > <option value="1" selected>男</option> <option value="2">女</option> </#select> <#input id="idCard" name="身份证号" type="text" underline="true"/> <#select id="roleid" name="角色" underline="true" > @for(l in list){ <option value="${l.id}">${l.name}</option> @} </div> </div> </div> <!-- 这是部门选择的下拉框 --> <div id="menuContent" class="menuContent" style="display: none; position: absolute; z-index: 200;"> <ul id="treeDemo" class="ztree tree-box" style="width: 249px !important;"></ul> </div> <div class="row btn-group-m-t"> <div class="col-sm-10"> <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="UserInfoDlg.addSubmit()"/> <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="UserInfoDlg.close()"/> </div> </div> </div> </div> </#select> </div> </div> </div> <!-- 这是部门选择的下拉框 --> <div id="menuContent" class="menuContent" style="display: none; position: absolute; z-index: 200;"> <ul id="treeDemo" class="ztree tree-box" style="width: 249px !important;"></ul> </div> <div class="row btn-group-m-t"> <div class="col-sm-10"> <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="UserInfoDlg.addSubmit()"/> <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="UserInfoDlg.close()"/> </div> </div> </div> <script src="${ctxPath}/modular/system/user/user_info.js"></script> <script> laydate.render({ elem: '#birthday' }); laydate.render({ elem: '#birthday' }); </script> @} cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_edit.html
@@ -2,69 +2,50 @@ <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="form-horizontal" id="userInfoForm"> <input type="hidden" id="id" value="${user.id}"> <input type="hidden" id="sexValue" value="${user.sex}"> <input type="hidden" id="roleid_" value="${user.roleid}"> <div class="row"> <div class="col-sm-6 b-r"> <#input id="account" name="账户" underline="true" value="${user.account}"/> <#select id="sex" name="性别" underline="true"> <option value="1">男</option> <option value="2">女</option> </#select> <#input id="roleid" name="角色" underline="true" value="${roleName}" disabled="disabled"/> <#input id="email" name="邮箱" type="email" underline="true" value="${user.email}"/> <div class="form-group" ${userCompanyId! !=1? "hidden" :" "} > <label class="col-sm-3 control-label">所属公司</label> <div class="col-sm-9"> <select class="form-control" id="companyId" name="companyId"> @if(companyIds! !=null && companyId! !=null){ @for(item in companyIds!){ @if(item.id! == companyId!){ <option value="${item.id}">${item.name!}</option> @} @} @for(item in companyIds!){ @if(item.id! !=companyId!){ <option value="${item.id}">${item.name!}</option> @} @} @} </select> </div> <div class="col-sm-6"> <div id="driverInfoContent"> <#input id="name" name="员工姓名" underline="true" value="${user.name}" /> <#input id="phone" name="联系电话" underline="true" value="${user.phone}" /> <#avatar id="avatar" name="照片" underline="true" avatarImg="${user.avatar}" /> <#input id="birthday" name="生日" underline="true" type="text" value="${user.birthday}" /> <#select id="sex" name="性别" underline="true" > <option value="1" selected>男</option> <option value="2">女</option> </#select> <#input id="idCard" name="身份证号" type="text" underline="true" value="${user.idCard}"/> <#select id="roleid" name="角色" underline="true" > @for(l in list){ <option value="${l.id}" ${l.id == user.roleid ? 'selected=selected' : ''}>${l.name}</option> @} </#select> </div> <div class="hr-line-dashed" ${companyId! !=1? "hidden" :" "} ></div> </div> <div class="col-sm-6"> <div id="driverInfoContent"> <#input id="name" name="姓名" underline="true" value="${user.name!}"/> <#input id="birthday" name="出生日期" underline="true" type="text" value="${user.birthday!}"/> <#input id="citySel" name="部门" underline="true" readonly="readonly" hidden="deptid" hiddenValue="${user.deptid!}" value="${deptName!}" clickFun="UserInfoDlg.showDeptSelectTree(); return false;" style="background-color: #ffffff !important;"/> <#input id="phone" name="电话" underline="true" value="${user.phone}"/> </div> </div> </div> <!-- 这是部门选择的下拉框 --> <div id="menuContent" class="menuContent" style="display: none; position: absolute; z-index: 200;"> <ul id="treeDemo" class="ztree tree-box" style="width: 249px !important;"></ul> </div> <div class="row btn-group-m-t"> <div class="col-sm-10"> <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="UserInfoDlg.editSubmit()"/> <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="UserInfoDlg.close()"/> <!-- 这是部门选择的下拉框 --> <div id="menuContent" class="menuContent" style="display: none; position: absolute; z-index: 200;"> <ul id="treeDemo" class="ztree tree-box" style="width: 249px !important;"></ul> </div> </div> </div> <div class="row btn-group-m-t"> <div class="col-sm-10"> <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="UserInfoDlg.editSubmit()"/> <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="UserInfoDlg.close()"/> </div> </div> </div> </div> <script src="${ctxPath}/modular/system/user/user_info.js"></script> <script> laydate.render({ cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_edit1.html
New file @@ -0,0 +1,60 @@ @layout("/common/_container.html"){ <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="form-horizontal" id="userInfoForm"> <input type="hidden" id="id" value="${user.id}"> <input type="hidden" id="sexValue" value="${user.sex}"> <input type="hidden" id="roleid_" value="${user.roleid}"> </div> <div class="row"> <div class="col-sm-6"> <div id="driverInfoContent"> <#input id="name" name="员工姓名" underline="true" value="${user.name}"/> <#input id="phone" name="联系电话" underline="true" value="${user.phone}"/> <#avatar id="avatar" name="照片" underline="true" avatarImg="${user.avatar}"/> <#input id="birthday" name="生日" underline="true" type="text" value="${user.birthday}"/> <#select id="sex" name="性别" underline="true" > <option value="1" >男</option> <option value="2">女</option> </#select> <#input id="idCard" name="身份证号" type="text" underline="true" value="${user.idCard}"/> <#select id="roleid" name="角色" underline="true" > @for(l in list){ <option value="${l.id}" ${l.id == user.roleid ? 'selected=selected' : ''}>${l.name}</option> @} </#select> </div> </div> </div> <!-- 这是部门选择的下拉框 --> <div id="menuContent" class="menuContent" style="display: none; position: absolute; z-index: 200;"> <ul id="treeDemo" class="ztree tree-box" style="width: 249px !important;"></ul> </div> <div class="row btn-group-m-t"> <div class="col-sm-10"> <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="UserInfoDlg.editSubmit()"/> <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="UserInfoDlg.close()"/> </div> </div> </div> </div> </div> <script src="${ctxPath}/modular/system/user/user_info.js"></script> <script> laydate.render({ elem: '#birthday' }); </script> @} cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js
@@ -90,7 +90,7 @@ }; selected.forEach(function(obj) { var id = obj.id; data1.ids.push(id); data1.ids.push(obj.benefitsVideosId); }); data1.state = 1; $.ajax({ @@ -126,7 +126,7 @@ }; selected.forEach(function(obj) { var id = obj.id; data1.ids.push(id); data1.ids.push(obj.benefitsVideosId); }); data1.state = 2; $.ajax({ cloud-server-management/src/main/webapp/static/modular/system/user/user.js
@@ -288,7 +288,7 @@ if (this.check()) { var userId = this.seItem.id; if(language==1){ parent.layer.confirm('是否重置密码为111111?', { parent.layer.confirm('是否重置密码为a123456?', { btn: ['确定', '取消'], shade: false //不显示遮罩 }, function () { cloud-server-management/src/main/webapp/static/modular/system/user/user_info.js
@@ -1,14 +1,14 @@ /** * 用户详情对话框(可用于添加和修改对话框) */ var language =$("#language").val() var language =1 var UserInfoDlg = { userInfoData: {}, validateFields: { account: { phone: { validators: { notEmpty: { message: language==1?'账户不能为空':(language==2?"The account cannot be empty":"Akaun tidak dapat kosong") message: language==1?'联系电话不能为空':(language==2?"The account cannot be empty":"Akaun tidak dapat kosong") } } }, @@ -26,25 +26,17 @@ } } },*/ password: { birthday: { validators: { notEmpty: { message: '密码不能为空' }, regexp: { regexp: /(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{8,30}/, message: '密码中必须包含大小字母、数字、特称字符,至少8个字符,最多30个字符' message: '生日不能为空' }, } }, rePassword: { idCard: { validators: { notEmpty: { message: '密码不能为空' }, regexp: { regexp: /(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{8,30}/, message: '密码中必须包含大小字母、数字、特称字符,至少8个字符,最多30个字符' message: '身份证号不能为空' }, } } @@ -169,7 +161,7 @@ */ UserInfoDlg.collectData = function () { this.set('id').set('account').set('sex').set('password').set('avatar') .set('email').set('name').set('birthday').set('rePassword').set('deptid').set('phone'); .set('email').set('name').set('birthday').set('rePassword').set('roleid').set('phone').set('idCard'); }; /** @@ -208,32 +200,22 @@ var birthday = $("#birthday").val(); if ("" == birthday){ if(language==1){ Feng.info("出生日期不能为空!"); }else if(language==2){ Feng.info("The date of birth cannot be empty!"); }else { Feng.info("Tanggal lahir tidak bisa kosong!"); } var avatar = $("#avatar").val(); if(avatar==''){ Feng.info("请上传照片") return; } var citySel = $("#citySel").val(); if ("" == citySel){ if(language==1){ Feng.info("部门不能为空!"); }else if(language==2){ Feng.info("The department cannot be empty!"); }else { Feng.info("Departemen tidak bisa kosong!"); } var sex = $("#sex").val(); if(sex==''){ Feng.info("请选择性别") return; } var roleid = $("#roleid").val(); if(roleid==''){ Feng.info("请选择角色") return; } console.log(this.userInfoData) //提交信息 var ajax = new $ax(Feng.ctxPath + "/mgr/add", function (data) { Feng.success("添加成功!"); @@ -260,30 +242,8 @@ if (!this.validate()) { return; } console.log(this.userInfoData) var birthday = $("#birthday").val(); if ("" == birthday){ if(language==1){ Feng.info("出生日期不能为空!"); }else if(language==2){ Feng.info("The date of birth cannot be empty!"); }else { Feng.info("Tanggal lahir tidak bisa kosong!"); } return; } var citySel = $("#citySel").val(); if ("" == citySel){ if(language==1){ Feng.info("部门不能为空!"); }else if(language==2){ Feng.info("The department cannot be empty!"); }else { Feng.info("Departemen tidak bisa kosong!"); } return; } //提交信息 var ajax = new $ax(Feng.ctxPath + "/mgr/edit", function (data) { @@ -368,4 +328,5 @@ avatarUp.setUploadBarId("progressBar"); avatarUp.init(); document.getElementById('roleid').value = $("#roleid_").val(); }); cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -358,8 +358,6 @@ } @ResponseBody @PostMapping("/api/site/queryMySite") @ApiOperation(value = "获取我的预约场地列表", tags = {"用户—预约场地"}) cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
@@ -129,13 +129,14 @@ info.setLongitude(storeLon); storeInfos.add(info); } Comparator<StoreInfo> distanceComparator = new Comparator<StoreInfo>() { @Override public int compare(StoreInfo store1, StoreInfo store2) { return Long.compare(store1.getDistance(), store2.getDistance()); } }; Collections.sort(storeInfos, distanceComparator); // Comparator<StoreInfo> distanceComparator = new Comparator<StoreInfo>() { // @Override // public int compare(StoreInfo store1, StoreInfo store2) { // return Long.compare(store1.getDistance(), store2.getDistance()); // } // }; // Collections.sort(storeInfos, distanceComparator); storeInfos = storeInfos.stream().sorted(Comparator.comparing(StoreInfo::getDistance)).collect(Collectors.toList()); } return storeInfos; } @@ -433,9 +434,9 @@ @ApiImplicitParams({ @ApiImplicitParam(value = "城市code", name = "cityCode", dataType = "string", required = true), }) public ResultUtil<List<BaseVo>> queryStoreByCityCode(String cityCode){ public ResultUtil<List<BaseVo>> queryStoreByCityCode(String provinceCode,String cityCode){ try { List<BaseVo> list = storeService.queryStoreByCityCode(cityCode); List<BaseVo> list = storeService.queryStoreByCityCode(provinceCode,cityCode); return ResultUtil.success(list); }catch (Exception e){ e.printStackTrace(); cloud-server-other/src/main/java/com/dsh/other/mapper/StoreMapper.java
@@ -43,7 +43,7 @@ * @param cityCode * @return */ List<BaseVo> queryStoreByCityCode(@Param("cityCode") String cityCode); List<BaseVo> queryStoreByCityCode(@Param("provinceCode") String provinceCode, @Param("cityCode") String cityCode); /** * 根据城市管理员id获取门店集合 cloud-server-other/src/main/java/com/dsh/other/service/StoreService.java
@@ -64,7 +64,7 @@ * @return * @throws Exception */ List<BaseVo> queryStoreByCityCode(String cityCode) throws Exception; List<BaseVo> queryStoreByCityCode(String provinceCode,String cityCode) throws Exception; List<Store> getStoreByCityManagerId(Integer id); cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -623,7 +623,6 @@ Site site = this.getById(siteBooking.getSiteId()); String[] split = siteBooking.getTimes().split(";"); if(site!=null){ queryMySiteVo.setPlayPaiCoin(site.getPlayPaiCoin() * split.length); } } cloud-server-other/src/main/java/com/dsh/other/service/impl/StoreServiceImpl.java
@@ -167,8 +167,8 @@ * @throws Exception */ @Override public List<BaseVo> queryStoreByCityCode(String cityCode) throws Exception { return this.baseMapper.queryStoreByCityCode(cityCode); public List<BaseVo> queryStoreByCityCode(String provinceCode,String cityCode) throws Exception { return this.baseMapper.queryStoreByCityCode(provinceCode,cityCode); } cloud-server-other/src/main/resources/mapper/BannerMapper.xml
@@ -42,7 +42,6 @@ from t_usetime_history hs LEFT JOIN sys_user us on hs.createBy = us.id where hs.studentId = #{studentId} </select> <select id="getFirst" resultType="java.lang.String"> select content cloud-server-other/src/main/resources/mapper/SiteMapper.xml
@@ -133,7 +133,7 @@ <if test="query.opId!=null "> and t1.operatorId =#{query.opId} </if> and t1.state != 3 and t1.state != 3 and t1.sign=0 </where> ORDER BY insertTime desc cloud-server-other/src/main/resources/mapper/StoreMapper.xml
@@ -17,7 +17,12 @@ </select> <select id="queryStoreByCityCode" resultType="com.dsh.other.model.BaseVo"> select id, name from t_store where state = 1 and cityCode = #{cityCode} select id, name from t_store where state = 1 and provinceCode = #{provinceCode} <if test="cityCode !=null and cityCode !='' "> and cityCode = #{cityCode} </if> </select> <select id="getStoreByCityManagerId" resultType="com.dsh.other.entity.Store"> select * from t_store where operatorId = #{id}