From cbca62b053eb3dc3cc7754aa0062aaf1e04e2cb4 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 22 二月 2024 16:53:36 +0800
Subject: [PATCH] 新增加接口
---
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java | 328 ++++++++++++++++++
cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupPaymentMapper.xml | 5
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/CheckPaymentMethodVo.java | 18 +
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentServiceImpl.java | 15
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageOrderStudentController.java | 48 ++
cloud-server-course/src/main/java/com/dsh/course/model/DeductionClassHour.java | 27 +
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/course/model/CoursePackageOrderStudent.java | 77 ++++
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/DeductionClassHourList.java | 14
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentService.java | 11
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/course/CoursePackageOrderStudentClient.java | 34 ++
cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageOrderStudentService.java | 10
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/DeductionClassHour.java | 27 +
/dev/null | 26 -
cloud-server-course/src/main/java/com/dsh/course/model/DeductionClassHourList.java | 14
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupPaymentMapper.java | 11
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/PaymentWorldCup.java | 4
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java | 25 +
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java | 116 ++++++
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/CheckPaymentMethod.java | 19 +
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java | 2
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/entity/WorldCupPayment.java | 89 +++++
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java | 59 +++
22 files changed, 939 insertions(+), 40 deletions(-)
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
index 1797812..8e48812 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
@@ -17,15 +17,22 @@
import com.dsh.communityWorldCup.service.IWorldCupPaymentParticipantService;
import com.dsh.communityWorldCup.service.IWorldCupService;
import com.dsh.communityWorldCup.service.IWorldCupStoreService;
+import com.dsh.communityWorldCup.util.PayMoneyUtil;
import com.dsh.communityWorldCup.util.ResultUtil;
import com.dsh.communityWorldCup.util.TokenUtil;
+import groovy.util.logging.Log4j;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
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;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
@@ -40,6 +47,8 @@
@RestController
@RequestMapping("")
public class WorldCupController {
+
+ Logger log = LoggerFactory.getLogger(WorldCupController.class);
@Autowired
private TokenUtil tokenUtil;
@@ -67,6 +76,9 @@
@Resource
private StoreClient storeClient;
+
+ @Autowired
+ private PayMoneyUtil payMoneyUtil;
@@ -252,5 +264,107 @@
- public ResultUtil paymentWorldCup()
+ @ResponseBody
+ @PostMapping("/api/worldCup/checkPaymentMethod")
+ @ApiOperation(value = "世界杯报名前校验支付方式【2.0】", tags = {"APP-社区世界杯"})
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil<CheckPaymentMethodVo> checkPaymentMethod(CheckPaymentMethod checkPaymentMethod){
+ try {
+ Integer uid = tokenUtil.getUserIdFormRedis();
+ if(null == uid){
+ return ResultUtil.success();
+ }
+ checkPaymentMethod.setUid(uid);
+ CheckPaymentMethodVo checkPaymentMethodVo = worldCupService.checkPaymentMethod(checkPaymentMethod);
+ return ResultUtil.success(checkPaymentMethodVo);
+ }catch (Exception e){
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
+
+
+
+
+ @ResponseBody
+ @PostMapping("/api/worldCup/paymentWorldCup")
+ @ApiOperation(value = "世界杯报名【2.0】", tags = {"APP-社区世界杯"})
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil paymentWorldCup(PaymentWorldCup paymentWorldCup){
+ try {
+ Integer uid = tokenUtil.getUserIdFormRedis();
+ if(null == uid){
+ return ResultUtil.success();
+ }
+ paymentWorldCup.setUid(uid);
+ return worldCupService.paymentWorldCup(paymentWorldCup);
+ }catch (Exception e){
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
+
+
+ /**
+ * 微信支付回调
+ */
+ @ResponseBody
+ @PostMapping("/base/worldCup/wxPayWorldCupCallback")
+ public void wxPayWorldCupCallback(HttpServletRequest request, HttpServletResponse response){
+ try {
+ Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
+ if(null != map){
+ String code = map.get("out_trade_no");
+ String transaction_id = map.get("transaction_id");
+ String result = map.get("result");
+ ResultUtil resultUtil = worldCupService.paymentWorldCupCallback(code, transaction_id);
+ if(resultUtil.getCode() == 200){
+ PrintWriter out = response.getWriter();
+ out.println(result);
+ out.flush();
+ out.close();
+ }else{
+ log.error("社区世界杯报名微信支付回业务处理异常:" + resultUtil.getMsg());
+ }
+ }else{
+ log.error("社区世界杯报名微信支付回调解析异常");
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+
+
+ /**
+ * 支付宝支付回调
+ */
+ @ResponseBody
+ @PostMapping("/base/worldCup/aliPayWorldCupCallback")
+ public void aliPayWorldCupCallback(HttpServletRequest request, HttpServletResponse response){
+ try {
+ Map<String, String> map = payMoneyUtil.alipayCallback(request);
+ if(null != map){
+ String code = map.get("out_trade_no");
+ String transaction_id = map.get("trade_no");
+ String result = map.get("result");
+ ResultUtil resultUtil = worldCupService.paymentWorldCupCallback(code, transaction_id);
+ if(resultUtil.getCode() == 200){
+ PrintWriter out = response.getWriter();
+ out.println(result);
+ out.flush();
+ out.close();
+ }else{
+ log.error("社区世界杯报名支付宝支付回业务处理异常:" + resultUtil.getMsg());
+ }
+ }else{
+ log.error("社区世界杯报名付宝支支付回调解析异常");
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/entity/WorldCupPayment.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/entity/WorldCupPayment.java
new file mode 100644
index 0000000..da459cd
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/entity/WorldCupPayment.java
@@ -0,0 +1,89 @@
+package com.dsh.communityWorldCup.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/22 14:15
+ */
+@Data
+@TableName("t_world_cup_payment")
+public class WorldCupPayment {
+ /**
+ * 主键
+ */
+ @TableId(value = "id", type = IdType.INPUT)
+ private Long id;
+ /**
+ * 支付流水号
+ */
+ @TableField("code")
+ private String code;
+ /**
+ * 世界杯id
+ */
+ @TableField("worldCupId")
+ private Integer worldCupId;
+ /**
+ * 用户id
+ */
+ @TableField("appUserId")
+ private Integer appUserId;
+ /**
+ * 支付方式(0=免费,1=微信,2=支付宝,3=玩湃币,4=课时)
+ */
+ @TableField("payType")
+ private Integer payType;
+ /**
+ * 支付金额
+ */
+ @TableField("amount")
+ private BigDecimal amount;
+ /**
+ * 支付状态(1=待支付,2=已支付,3=已退款)
+ */
+ @TableField("payStatus")
+ private Integer payStatus;
+ /**
+ * 支付时间
+ */
+ @TableField("payTime")
+ private Date payTime;
+ /**
+ * 第三方支付流水号
+ */
+ @TableField("payOrderNo")
+ private String payOrderNo;
+ /**
+ * 退款时间
+ */
+ @TableField("refundTime")
+ private Date refundTime;
+ /**
+ * 第三方退款流水号
+ */
+ @TableField("refundOrderNo")
+ private String refundOrderNo;
+ /**
+ * 状态(1=正常,2=冻结,3=删除)
+ */
+ @TableField("state")
+ private Integer state;
+ /**
+ * 添加时间
+ */
+ @TableField("createTime")
+ private Date createTime;
+ /**
+ * 参赛人数据
+ */
+ @TableField("entrant")
+ private String entrant;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/course/CoursePackageOrderStudentClient.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/course/CoursePackageOrderStudentClient.java
new file mode 100644
index 0000000..ab995cd
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/course/CoursePackageOrderStudentClient.java
@@ -0,0 +1,34 @@
+package com.dsh.communityWorldCup.feignclient.course;
+
+import com.dsh.communityWorldCup.feignclient.course.model.CoursePackageOrderStudent;
+import com.dsh.communityWorldCup.model.DeductionClassHour;
+import com.dsh.communityWorldCup.model.DeductionClassHourList;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+import java.util.List;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/22 15:26
+ */
+@FeignClient("mb-cloud-course")
+public interface CoursePackageOrderStudentClient {
+
+
+ /**
+ * 根据学院id获取剩余有效课时数据
+ * @param studentId
+ * @return
+ */
+ @PostMapping("/getCoursePackageOrderStudent")
+ List<CoursePackageOrderStudent> getCoursePackageOrderStudent(Integer studentId);
+
+
+ /**
+ * 扣减学员课时
+ * @param deductionClassHourList
+ */
+ @PostMapping("/deductionClassHour")
+ boolean deductionClassHour(DeductionClassHourList deductionClassHourList);
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/course/model/CoursePackageOrderStudent.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/course/model/CoursePackageOrderStudent.java
new file mode 100644
index 0000000..8ab7a7b
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/course/model/CoursePackageOrderStudent.java
@@ -0,0 +1,77 @@
+package com.dsh.communityWorldCup.feignclient.course.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author zhibing.pu
+ * @Date 2023/11/25 11:59
+ */
+@Data
+public class CoursePackageOrderStudent {
+ /**
+ * 主键
+ */
+ private Long id;
+ /**
+ * 用户id
+ */
+ private Integer appUserId;
+ /**
+ * 学员id
+ */
+ private Integer studentId;
+ /**
+ * 课包id
+ */
+ private Integer coursePackageId;
+ /**
+ * 总课时
+ */
+ private Integer totalClassHours;
+ /**
+ * 剩余课时
+ */
+ private Integer laveClassHours;
+ /**
+ * 缺课次数
+ */
+ private Integer absencesNumber;
+ /**
+ * 退课课时
+ */
+ private Integer dropoutsNumber;
+ /**
+ * 课程状态(1=正常,2=已退课)
+ */
+ private Integer status;
+ /**
+ * 退课时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date withdrawalTime;
+ /**
+ * 退课凭证
+ */
+ private String certificate;
+ /**
+ * 状态(1=正常,2=冻结,3=删除)
+ */
+ private Integer state;
+ /**
+ * 添加时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date insertTime;
+ /**
+ * 赠送课时
+ */
+ private Integer giftClassHours;
+ /**
+ * 课程有效期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date useTime;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupPaymentMapper.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupPaymentMapper.java
new file mode 100644
index 0000000..4beffa5
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupPaymentMapper.java
@@ -0,0 +1,11 @@
+package com.dsh.communityWorldCup.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dsh.communityWorldCup.entity.WorldCupPayment;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/22 14:22
+ */
+public interface WorldCupPaymentMapper extends BaseMapper<WorldCupPayment> {
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/CheckPaymentMethod.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/CheckPaymentMethod.java
new file mode 100644
index 0000000..b3a1a11
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/CheckPaymentMethod.java
@@ -0,0 +1,19 @@
+package com.dsh.communityWorldCup.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/22 15:20
+ */
+@Data
+@ApiModel
+public class CheckPaymentMethod {
+ @ApiModelProperty(value = "世界杯id", required = true, dataType = "int")
+ private Integer id;
+ @ApiModelProperty(value = "参赛人员id[{\"id\":123,\"isStudent\":1},{\"id\":222,\"isStudent\":0}]", required = true, dataType = "String")
+ private String ids;
+ private Integer uid;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/CheckPaymentMethodVo.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/CheckPaymentMethodVo.java
new file mode 100644
index 0000000..187fb83
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/CheckPaymentMethodVo.java
@@ -0,0 +1,18 @@
+package com.dsh.communityWorldCup.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/22 15:14
+ */
+@Data
+@ApiModel
+public class CheckPaymentMethodVo {
+ @ApiModelProperty("能否使用玩湃币支付(0=否,1=是)")
+ private Integer paiCoin;
+ @ApiModelProperty("能否使用课时支付(0=否,1=是)")
+ private Integer classHour;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/DeductionClassHour.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/DeductionClassHour.java
new file mode 100644
index 0000000..2ddf410
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/DeductionClassHour.java
@@ -0,0 +1,27 @@
+package com.dsh.communityWorldCup.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/22 15:44
+ */
+@Data
+public class DeductionClassHour {
+ /**
+ * 课时记录id
+ */
+ private Long id;
+ /**
+ * 学员id
+ */
+ private Integer studentId;
+ /**
+ * 课时id
+ */
+ private Integer coursePackageId;
+ /**
+ * 扣减课时
+ */
+ private Integer classHour;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/DeductionClassHourList.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/DeductionClassHourList.java
new file mode 100644
index 0000000..81fa63f
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/DeductionClassHourList.java
@@ -0,0 +1,14 @@
+package com.dsh.communityWorldCup.model;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/22 15:46
+ */
+@Data
+public class DeductionClassHourList {
+ List<DeductionClassHour> deductionClassHourList;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/PaymentWorldCup.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/PaymentWorldCup.java
index 4b33323..543c326 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/PaymentWorldCup.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/PaymentWorldCup.java
@@ -15,5 +15,7 @@
private Integer id;
@ApiModelProperty(value = "支付方式(1=微信,2=支付宝,3=玩湃币,4=课时)")
private Integer payType;
- @ApiModelProperty(value = "参赛人员")
+ @ApiModelProperty(value = "参赛人员id[{\"id\":123,\"isStudent\":1},{\"id\":222,\"isStudent\":0}]", required = true, dataType = "String")
+ private String ids;
+ private Integer uid;
}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentService.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentService.java
new file mode 100644
index 0000000..521ff8d
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentService.java
@@ -0,0 +1,11 @@
+package com.dsh.communityWorldCup.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.communityWorldCup.entity.WorldCupPayment;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/22 14:22
+ */
+public interface IWorldCupPaymentService extends IService<WorldCupPayment> {
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java
index 80f73ef..9ecc9d3 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupService.java
@@ -51,4 +51,29 @@
* @return
*/
WorldCupInfo getWorldCupInfo(Integer id);
+
+
+ /**
+ * 报名前校验支付方式
+ * @param checkPaymentMethod
+ * @return
+ */
+ CheckPaymentMethodVo checkPaymentMethod(CheckPaymentMethod checkPaymentMethod);
+
+
+ /**
+ * 报名世界杯
+ * @param paymentWorldCup
+ * @return
+ */
+ ResultUtil paymentWorldCup(PaymentWorldCup paymentWorldCup);
+
+
+ /**
+ * 第三方支付完成后回调逻辑处理
+ * @param code
+ * @param outTradeNo
+ * @return
+ */
+ ResultUtil paymentWorldCupCallback(String code, String outTradeNo);
}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentServiceImpl.java
new file mode 100644
index 0000000..e3501fd
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentServiceImpl.java
@@ -0,0 +1,15 @@
+package com.dsh.communityWorldCup.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.communityWorldCup.entity.WorldCupPayment;
+import com.dsh.communityWorldCup.mapper.WorldCupPaymentMapper;
+import com.dsh.communityWorldCup.service.IWorldCupPaymentService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/22 14:23
+ */
+@Service
+public class WorldCupPaymentServiceImpl extends ServiceImpl<WorldCupPaymentMapper, WorldCupPayment> implements IWorldCupPaymentService {
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
index eed0306..414218c 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
@@ -5,26 +5,32 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.dsh.communityWorldCup.entity.WorldCup;
-import com.dsh.communityWorldCup.entity.WorldCupCompetitor;
-import com.dsh.communityWorldCup.entity.WorldCupPaymentParticipant;
-import com.dsh.communityWorldCup.entity.WorldCupStore;
+import com.dsh.communityWorldCup.entity.*;
+import com.dsh.communityWorldCup.feignclient.account.AppUserClient;
+import com.dsh.communityWorldCup.feignclient.account.StudentClient;
+import com.dsh.communityWorldCup.feignclient.account.model.AppUser;
+import com.dsh.communityWorldCup.feignclient.account.model.TStudent;
+import com.dsh.communityWorldCup.feignclient.competition.ParticipantClient;
+import com.dsh.communityWorldCup.feignclient.competition.model.Participant;
+import com.dsh.communityWorldCup.feignclient.course.CoursePackageOrderStudentClient;
+import com.dsh.communityWorldCup.feignclient.course.model.CoursePackageOrderStudent;
import com.dsh.communityWorldCup.feignclient.other.StoreClient;
import com.dsh.communityWorldCup.feignclient.other.model.Store;
import com.dsh.communityWorldCup.mapper.WorldCupMapper;
import com.dsh.communityWorldCup.model.*;
-import com.dsh.communityWorldCup.service.IWorldCupCompetitorService;
-import com.dsh.communityWorldCup.service.IWorldCupPaymentParticipantService;
-import com.dsh.communityWorldCup.service.IWorldCupService;
-import com.dsh.communityWorldCup.service.IWorldCupStoreService;
+import com.dsh.communityWorldCup.service.*;
import com.dsh.communityWorldCup.util.GeodesyUtil;
+import com.dsh.communityWorldCup.util.PayMoneyUtil;
import com.dsh.communityWorldCup.util.ResultUtil;
import com.dsh.communityWorldCup.util.UUIDUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.stream.Collectors;
/**
* @author zhibing.pu
@@ -44,6 +50,24 @@
@Autowired
private IWorldCupStoreService worldCupStoreService;
+
+ @Resource
+ private StudentClient studentClient;
+
+ @Resource
+ private ParticipantClient participantClient;
+
+ @Autowired
+ private IWorldCupPaymentService worldCupPaymentService;
+
+ @Autowired
+ private PayMoneyUtil payMoneyUtil;
+
+ @Resource
+ private AppUserClient appUserClient;
+
+ @Resource
+ private CoursePackageOrderStudentClient coursePackageOrderStudentClient;
@@ -160,4 +184,292 @@
worldCupInfo.setStores(jsonArray.toJSONString());
return worldCupInfo;
}
+
+
+ /**
+ * 报名前校验支付方式
+ * @param checkPaymentMethod
+ * @return
+ */
+ @Override
+ public CheckPaymentMethodVo checkPaymentMethod(CheckPaymentMethod checkPaymentMethod) {
+ WorldCup worldCup = this.getById(checkPaymentMethod.getId());
+ JSONArray jsonArray = JSON.parseArray(checkPaymentMethod.getIds());
+ CheckPaymentMethodVo checkPaymentMethodVo = new CheckPaymentMethodVo();
+ AppUser appUser = appUserClient.getAppUser(checkPaymentMethod.getUid());
+ BigDecimal multiply = new BigDecimal(jsonArray.size()).multiply(new BigDecimal(worldCup.getPaiCoin()));
+ if(appUser.getPlayPaiCoins() < multiply.intValue()){
+ checkPaymentMethodVo.setPaiCoin(0);
+ }else{
+ checkPaymentMethodVo.setPaiCoin(1);
+ }
+
+ int classHour = 1;
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject jsonObject = jsonArray.getJSONObject(i);
+ Integer id = jsonObject.getInteger("id");
+ //是否是学员(0=否,1=是)
+ Integer isStudent = jsonObject.getInteger("isStudent");
+ if(0 == isStudent){
+ classHour = 0;
+ break;
+ }
+ List<CoursePackageOrderStudent> coursePackageOrderStudent = coursePackageOrderStudentClient.getCoursePackageOrderStudent(id);
+ int sum = coursePackageOrderStudent.stream().mapToInt(CoursePackageOrderStudent::getLaveClassHours).sum();
+ if(sum < worldCup.getClassHour()){
+ classHour = 0;
+ break;
+ }
+ }
+ checkPaymentMethodVo.setClassHour(classHour);
+ return checkPaymentMethodVo;
+ }
+
+
+
+
+
+ /**
+ * 报名世界杯
+ * @param paymentWorldCup
+ * @return
+ */
+ @Override
+ public ResultUtil paymentWorldCup(PaymentWorldCup paymentWorldCup) {
+ WorldCup worldCup = this.getById(paymentWorldCup.getId());
+ if(null == worldCup){
+ return ResultUtil.error("报名数据异常");
+ }
+ if(System.currentTimeMillis() > worldCup.getRegistrationClosingTime().getTime()){
+ return ResultUtil.error("报名时间已结束,无法完成报名");
+ }
+ if(System.currentTimeMillis() > worldCup.getEndTime().getTime()){
+ return ResultUtil.error("世界杯赛事已结束,无法完成报名");
+ }
+ String ids = paymentWorldCup.getIds();
+ JSONArray jsonArray = JSON.parseArray(ids);
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject jsonObject = jsonArray.getJSONObject(i);
+ Integer id = jsonObject.getInteger("id");
+ //是否是学员(0=否,1=是)
+ Integer isStudent = jsonObject.getInteger("isStudent");
+ if(isStudent == 1){
+ TStudent tStudent = studentClient.queryById(id);
+ if(worldCup.getStartAge() > Integer.valueOf(sdf.format(tStudent.getBirthday()))){
+ return ResultUtil.error("【" + tStudent.getName() + "】年龄不符合要求");
+ }
+ if(worldCup.getEndAge() < Integer.valueOf(sdf.format(tStudent.getBirthday()))){
+ return ResultUtil.error("【" + tStudent.getName() + "】年龄不符合要求");
+ }
+ }else{
+ Participant participant = participantClient.getParticipant(id);
+ if(worldCup.getStartAge() > Integer.valueOf(sdf.format(participant.getBirthday()))){
+ return ResultUtil.error("【" + participant.getName() + "】年龄不符合要求");
+ }
+ if(worldCup.getEndAge() < Integer.valueOf(sdf.format(participant.getBirthday()))){
+ return ResultUtil.error("【" + participant.getName() + "】年龄不符合要求");
+ }
+ }
+ }
+
+ //开始支付操作
+ ResultUtil payment = null;
+ try {
+ payment = payment(worldCup, paymentWorldCup);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ return payment;
+ }
+
+
+ /**
+ * 支付逻辑
+ * @param worldCup
+ * @param paymentWorldCup
+ * @return
+ * @throws Exception
+ */
+ private ResultUtil payment(WorldCup worldCup, PaymentWorldCup paymentWorldCup) throws Exception {
+ WorldCupPayment worldCupPayment = new WorldCupPayment();
+ worldCupPayment.setCode(UUIDUtil.getTimeStr() + UUIDUtil.getNumberRandom(5));
+ worldCupPayment.setWorldCupId(paymentWorldCup.getId());
+ worldCupPayment.setAppUserId(paymentWorldCup.getUid());
+ worldCupPayment.setPayType(paymentWorldCup.getPayType());
+ worldCupPayment.setPayStatus(1);
+ worldCupPayment.setState(1);
+ worldCupPayment.setCreateTime(new Date());
+ worldCupPayment.setEntrant(paymentWorldCup.getIds());
+ int num = JSON.parseArray(paymentWorldCup.getIds()).size();
+ //不免费
+ if(worldCup.getPayType() != 0){
+ Integer payType = paymentWorldCup.getPayType();
+ //微信
+ if(payType == 1){
+ worldCupPayment.setAmount(new BigDecimal(num).multiply(worldCup.getCash()));
+ worldCupPaymentService.save(worldCupPayment);
+ return payMoneyUtil.weixinpay("社区世界杯报名", "", worldCupPayment.getCode(),
+ worldCup.getCash().toString(), "/base/worldCup/wxPayWorldCupCallback", "APP", "");
+ }
+ //支付宝
+ if(payType == 2){
+ worldCupPayment.setAmount(new BigDecimal(num).multiply(worldCup.getCash()));
+ worldCupPaymentService.save(worldCupPayment);
+ return payMoneyUtil.alipay("2088330203191220", "社区世界杯报名", "世界杯报名", "", worldCupPayment.getCode(),
+ worldCup.getCash().toString(), "/base/worldCup/aliPayWorldCupCallback");
+ }
+ //玩湃币
+ if(payType == 3){
+ AppUser appUser = appUserClient.getAppUser(paymentWorldCup.getUid());
+ BigDecimal multiply = new BigDecimal(num).multiply(new BigDecimal(worldCup.getPaiCoin()));
+ if(appUser.getPlayPaiCoins() < multiply.intValue()){
+ return ResultUtil.error("报名失败,玩湃币不足,请充值!");
+ }
+ worldCupPayment.setAmount(multiply);
+ worldCupPayment.setPayStatus(2);
+ worldCupPayment.setPayTime(new Date());
+ worldCupPaymentService.save(worldCupPayment);
+
+ appUser.setPlayPaiCoins(appUser.getPlayPaiCoins() - multiply.intValue());
+ appUserClient.updateAppUser(appUser);
+
+ //添加报名明细
+ String ids = paymentWorldCup.getIds();
+ JSONArray jsonArray = JSON.parseArray(ids);
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject jsonObject = jsonArray.getJSONObject(i);
+ Integer id = jsonObject.getInteger("id");
+ //是否是学员(0=否,1=是)
+ Integer isStudent = jsonObject.getInteger("isStudent");
+
+ WorldCupPaymentParticipant worldCupPaymentParticipant = new WorldCupPaymentParticipant();
+ worldCupPaymentParticipant.setWorldCupId(paymentWorldCup.getId());
+ worldCupPaymentParticipant.setWorldCupPaymentId(worldCupPayment.getId());
+ worldCupPaymentParticipant.setAppUserId(paymentWorldCup.getUid());
+ worldCupPaymentParticipant.setParticipantType(isStudent == 0 ? 2 : 1);
+ worldCupPaymentParticipant.setParticipantId(id);
+ worldCupPaymentParticipantService.save(worldCupPaymentParticipant);
+ }
+ return ResultUtil.success();
+ }
+ //课时
+ if(payType == 4){
+ BigDecimal multiply = new BigDecimal(num).multiply(new BigDecimal(worldCup.getClassHour()));
+ String ids = paymentWorldCup.getIds();
+ JSONArray jsonArray = JSON.parseArray(ids);
+ List<DeductionClassHour> list = new ArrayList<>();
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject jsonObject = jsonArray.getJSONObject(i);
+ Integer id = jsonObject.getInteger("id");
+ //是否是学员(0=否,1=是)
+ Integer isStudent = jsonObject.getInteger("isStudent");
+ if(0 == isStudent){
+ return ResultUtil.error("非学员无法使用课时报名");
+ }
+ List<CoursePackageOrderStudent> coursePackageOrderStudent = coursePackageOrderStudentClient.getCoursePackageOrderStudent(id);
+ int sum = coursePackageOrderStudent.stream().mapToInt(CoursePackageOrderStudent::getLaveClassHours).sum();
+ if(sum < worldCup.getClassHour()){
+ return ResultUtil.error("报名失败,课时不足,请续课!");
+ }
+
+ //构建扣减课时数据
+ Integer classHour = worldCup.getClassHour();
+ for (CoursePackageOrderStudent packageOrderStudent : coursePackageOrderStudent) {
+ Integer laveClassHours = packageOrderStudent.getLaveClassHours();
+
+ DeductionClassHour deductionClassHour = new DeductionClassHour();
+ if(classHour.compareTo(laveClassHours) > 0){
+ //不够扣除,轮询直到扣除完
+ classHour = classHour - laveClassHours;
+ deductionClassHour.setId(packageOrderStudent.getId());
+ deductionClassHour.setClassHour(laveClassHours);
+ deductionClassHour.setStudentId(packageOrderStudent.getStudentId());
+ deductionClassHour.setCoursePackageId(packageOrderStudent.getCoursePackageId());
+ list.add(deductionClassHour);
+ }else{
+ //够扣除直接跳出进行下个学员
+ deductionClassHour.setId(packageOrderStudent.getId());
+ deductionClassHour.setClassHour(classHour);
+ deductionClassHour.setStudentId(packageOrderStudent.getStudentId());
+ deductionClassHour.setCoursePackageId(packageOrderStudent.getCoursePackageId());
+ list.add(deductionClassHour);
+ break;
+ }
+ }
+ }
+
+ //扣减课时操作
+ DeductionClassHourList deductionClassHourList = new DeductionClassHourList();
+ deductionClassHourList.setDeductionClassHourList(list);
+ coursePackageOrderStudentClient.deductionClassHour(deductionClassHourList);
+
+ worldCupPayment.setAmount(multiply);
+ worldCupPayment.setPayStatus(2);
+ worldCupPayment.setPayTime(new Date());
+ worldCupPaymentService.save(worldCupPayment);
+ return ResultUtil.success();
+ }
+ }else{
+ worldCupPayment.setPayType(0);
+ worldCupPayment.setAmount(BigDecimal.ZERO);
+ worldCupPayment.setPayStatus(2);
+ worldCupPayment.setPayTime(new Date());
+ worldCupPaymentService.save(worldCupPayment);
+
+ //添加报名明细
+ String ids = paymentWorldCup.getIds();
+ JSONArray jsonArray = JSON.parseArray(ids);
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject jsonObject = jsonArray.getJSONObject(i);
+ Integer id = jsonObject.getInteger("id");
+ //是否是学员(0=否,1=是)
+ Integer isStudent = jsonObject.getInteger("isStudent");
+
+ WorldCupPaymentParticipant worldCupPaymentParticipant = new WorldCupPaymentParticipant();
+ worldCupPaymentParticipant.setWorldCupId(paymentWorldCup.getId());
+ worldCupPaymentParticipant.setWorldCupPaymentId(worldCupPayment.getId());
+ worldCupPaymentParticipant.setAppUserId(paymentWorldCup.getUid());
+ worldCupPaymentParticipant.setParticipantType(isStudent == 0 ? 2 : 1);
+ worldCupPaymentParticipant.setParticipantId(id);
+ worldCupPaymentParticipantService.save(worldCupPaymentParticipant);
+ }
+ return ResultUtil.success();
+ }
+ return ResultUtil.success();
+ }
+
+
+ /**
+ * 第三方支付完成后的处理逻辑
+ * @param code
+ * @param outTradeNo
+ * @return
+ */
+ @Override
+ public ResultUtil paymentWorldCupCallback(String code, String outTradeNo) {
+ WorldCupPayment worldCupPayment = worldCupPaymentService.getOne(new QueryWrapper<WorldCupPayment>().eq("code", code));
+ worldCupPayment.setPayStatus(2);
+ worldCupPayment.setPayTime(new Date());
+ worldCupPaymentService.updateById(worldCupPayment);
+
+ //添加报名明细
+ String ids = worldCupPayment.getEntrant();
+ JSONArray jsonArray = JSON.parseArray(ids);
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject jsonObject = jsonArray.getJSONObject(i);
+ Integer id = jsonObject.getInteger("id");
+ //是否是学员(0=否,1=是)
+ Integer isStudent = jsonObject.getInteger("isStudent");
+
+ WorldCupPaymentParticipant worldCupPaymentParticipant = new WorldCupPaymentParticipant();
+ worldCupPaymentParticipant.setWorldCupId(worldCupPayment.getWorldCupId());
+ worldCupPaymentParticipant.setWorldCupPaymentId(worldCupPayment.getId());
+ worldCupPaymentParticipant.setAppUserId(worldCupPayment.getAppUserId());
+ worldCupPaymentParticipant.setParticipantType(isStudent == 0 ? 2 : 1);
+ worldCupPaymentParticipant.setParticipantId(id);
+ worldCupPaymentParticipantService.save(worldCupPaymentParticipant);
+ }
+ return ResultUtil.success();
+ }
}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java
index 39f8c17..2d90ee4 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java
@@ -131,7 +131,7 @@
//SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
model.setBody(body);//对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。
- model.setSubject("报名赛事");//商品的标题/交易标题/订单标题/订单关键字等。
+ model.setSubject(subject);//商品的标题/交易标题/订单标题/订单关键字等。
model.setOutTradeNo(outTradeNo);//商户网站唯一订单号
model.setTimeoutExpress("30m");
model.setTotalAmount(amount);//付款金额
diff --git a/cloud-server-communityWorldCup/target/classes/mapper/UserCompetitionMapper.xml b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupPaymentMapper.xml
similarity index 67%
rename from cloud-server-communityWorldCup/target/classes/mapper/UserCompetitionMapper.xml
rename to cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupPaymentMapper.xml
index 9b31cc5..fd6ca8c 100644
--- a/cloud-server-communityWorldCup/target/classes/mapper/UserCompetitionMapper.xml
+++ b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupPaymentMapper.xml
@@ -1,6 +1,5 @@
<?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.competition.mapper.UserCompetitionMapper">
+<mapper namespace="com.dsh.communityWorldCup.mapper.WorldCupPaymentMapper">
-
-</mapper>
+</mapper>
\ No newline at end of file
diff --git a/cloud-server-communityWorldCup/target/classes/META-INF/spring-configuration-metadata.json b/cloud-server-communityWorldCup/target/classes/META-INF/spring-configuration-metadata.json
deleted file mode 100644
index e049548..0000000
--- a/cloud-server-communityWorldCup/target/classes/META-INF/spring-configuration-metadata.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "groups": [
- {
- "name": "datasource.master0",
- "type": "com.dsh.config.Sharding_jdbc.Master0DataSource",
- "sourceType": "com.dsh.config.Sharding_jdbc.Master0DataSource"
- }
- ],
- "properties": [
- {
- "name": "datasource.master0.driver-class-name",
- "type": "java.lang.String",
- "sourceType": "com.dsh.config.Sharding_jdbc.Master0DataSource"
- },
- {
- "name": "datasource.master0.initial-size",
- "type": "java.lang.Integer",
- "sourceType": "com.dsh.config.Sharding_jdbc.Master0DataSource"
- },
- {
- "name": "datasource.master0.max-active",
- "type": "java.lang.Integer",
- "sourceType": "com.dsh.config.Sharding_jdbc.Master0DataSource"
- },
- {
- "name": "datasource.master0.max-wait",
- "type": "java.lang.Long",
- "sourceType": "com.dsh.config.Sharding_jdbc.Master0DataSource"
- },
- {
- "name": "datasource.master0.min-idle",
- "type": "java.lang.Integer",
- "sourceType": "com.dsh.config.Sharding_jdbc.Master0DataSource"
- },
- {
- "name": "datasource.master0.password",
- "type": "java.lang.String",
- "sourceType": "com.dsh.config.Sharding_jdbc.Master0DataSource"
- },
- {
- "name": "datasource.master0.url",
- "type": "java.lang.String",
- "sourceType": "com.dsh.config.Sharding_jdbc.Master0DataSource"
- },
- {
- "name": "datasource.master0.username",
- "type": "java.lang.String",
- "sourceType": "com.dsh.config.Sharding_jdbc.Master0DataSource"
- }
- ],
- "hints": []
-}
\ No newline at end of file
diff --git a/cloud-server-communityWorldCup/target/classes/bootstrap.properties b/cloud-server-communityWorldCup/target/classes/bootstrap.properties
deleted file mode 100644
index 764d1a6..0000000
--- a/cloud-server-communityWorldCup/target/classes/bootstrap.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-spring.profiles.active=dev
-spring.application.name=mb-cloud-competition
-spring.cloud.nacos.username=nacos
-spring.cloud.nacos.password=nacos
-spring.cloud.nacos.config.server-addr=127.0.0.1:18848
-spring.cloud.nacos.config.namespace=b786884e-d7e5-477d-a7d2-193e27528e55
-spring.cloud.nacos.config.group=dsh-cloud
-spring.cloud.nacos.config.file-extension=properties
-spring.cloud.nacos.config.extension-configs[0].data-id=${spring.application.name}.${spring.cloud.nacos.config.file-extension}
-spring.cloud.nacos.config.extension-configs[0].group=dsh-cloud
-spring.cloud.nacos.config.extension-configs[0].refresh=true
-spring.cloud.nacos.config.extension-configs[1].data-id=application.${spring.cloud.nacos.config.file-extension}
-spring.cloud.nacos.config.extension-configs[1].group=dsh-cloud
-spring.cloud.nacos.config.extension-configs[1].refresh=true
-spring.cloud.nacos.discovery.server-addr=127.0.0.1:18848
-spring.cloud.nacos.discovery.namespace=b786884e-d7e5-477d-a7d2-193e27528e55
-spring.cloud.nacos.discovery.register-enabled=true
-spring.cloud.nacos.discovery.group=dsh-cloud
-spring.main.allow-bean-definition-overriding=true
-spring.flyway.enabled=false
-# \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0479\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
-feign.compression.request.mime-types=text/xml,application/xml,application/json
-feign.compression.request.min-request-size=4096
-feign.compression.request.enabled=true
-feign.compression.response.enabled=true
\ No newline at end of file
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/CompetitionApplication.class b/cloud-server-communityWorldCup/target/classes/com/dsh/CompetitionApplication.class
deleted file mode 100644
index 4273d30..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/CompetitionApplication.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/advice/ControllerException.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/advice/ControllerException.class
deleted file mode 100644
index 6f952bc..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/advice/ControllerException.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/controller/CompetitionController.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/controller/CompetitionController.class
deleted file mode 100644
index a6d09cc..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/controller/CompetitionController.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/controller/ParticipantController.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/controller/ParticipantController.class
deleted file mode 100644
index d2dbb24..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/controller/ParticipantController.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/controller/UserCompetitionController.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/controller/UserCompetitionController.class
deleted file mode 100644
index 4b3780d..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/controller/UserCompetitionController.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/Competition.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/Competition.class
deleted file mode 100644
index b65305a..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/Competition.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/OperatorUser.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/OperatorUser.class
deleted file mode 100644
index 62beddc..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/OperatorUser.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/Participant.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/Participant.class
deleted file mode 100644
index ac7adbe..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/Participant.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/PaymentCompetition.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/PaymentCompetition.class
deleted file mode 100644
index 4c95001..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/PaymentCompetition.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/UserCompetition.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/UserCompetition.class
deleted file mode 100644
index 79c9400..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/entity/UserCompetition.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/DeductionCompetitionsClient.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/DeductionCompetitionsClient.class
deleted file mode 100644
index 9ea852d..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/DeductionCompetitionsClient.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/AppUserClient.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/AppUserClient.class
deleted file mode 100644
index 77b035c..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/AppUserClient.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/StudentClient.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/StudentClient.class
deleted file mode 100644
index 7b9b60f..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/StudentClient.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/model/AppUser.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/model/AppUser.class
deleted file mode 100644
index 30b75f6..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/model/AppUser.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/model/Student.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/model/Student.class
deleted file mode 100644
index c27a0f6..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/model/Student.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/model/TStudent.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/model/TStudent.class
deleted file mode 100644
index cc0314b..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/account/model/TStudent.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/course/CoursePackagePaymentClient.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/course/CoursePackagePaymentClient.class
deleted file mode 100644
index 504f17b..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/course/CoursePackagePaymentClient.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/course/model/PaymentDeductionClassHour.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/course/model/PaymentDeductionClassHour.class
deleted file mode 100644
index e2bb04d..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/course/model/PaymentDeductionClassHour.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/BillingDataRequestVo.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/BillingDataRequestVo.class
deleted file mode 100644
index ba4d72c..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/BillingDataRequestVo.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/BillingRequest.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/BillingRequest.class
deleted file mode 100644
index 5313216..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/BillingRequest.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/BillingRequestVo.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/BillingRequestVo.class
deleted file mode 100644
index 0f7ec37..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/BillingRequestVo.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/CompetitionUser.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/CompetitionUser.class
deleted file mode 100644
index 83ed3ec..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/CompetitionUser.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/GetPeopleQuery.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/GetPeopleQuery.class
deleted file mode 100644
index 776c076..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/GetPeopleQuery.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/GetStuSourseList.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/GetStuSourseList.class
deleted file mode 100644
index 876b1e0..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/GetStuSourseList.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/ListQuery.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/ListQuery.class
deleted file mode 100644
index 8879adb..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/ListQuery.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/PurchaseRecordVo.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/PurchaseRecordVo.class
deleted file mode 100644
index d385aaa..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/model/PurchaseRecordVo.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/other/StoreClient.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/other/StoreClient.class
deleted file mode 100644
index 6d7f0a2..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/other/StoreClient.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/other/model/Store.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/other/model/Store.class
deleted file mode 100644
index f97e512..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/feignclient/other/model/Store.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/mapper/CompetitionMapper.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/mapper/CompetitionMapper.class
deleted file mode 100644
index c6bbbb9..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/mapper/CompetitionMapper.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/mapper/ParticipantMapper.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/mapper/ParticipantMapper.class
deleted file mode 100644
index 686990b..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/mapper/ParticipantMapper.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/mapper/PaymentCompetitionMapper.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/mapper/PaymentCompetitionMapper.class
deleted file mode 100644
index b1da5d5..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/mapper/PaymentCompetitionMapper.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/mapper/UserCompetitionMapper.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/mapper/UserCompetitionMapper.class
deleted file mode 100644
index 6f06ae7..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/mapper/UserCompetitionMapper.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/AddParticipant.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/AddParticipant.class
deleted file mode 100644
index 0515f37..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/AddParticipant.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/CompetionVO.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/CompetionVO.class
deleted file mode 100644
index 0230e5d..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/CompetionVO.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/CompetitionInfo.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/CompetitionInfo.class
deleted file mode 100644
index d4aa9f3..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/CompetitionInfo.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/CompetitionListVo.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/CompetitionListVo.class
deleted file mode 100644
index eccc40f..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/CompetitionListVo.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/CompetitionQuery.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/CompetitionQuery.class
deleted file mode 100644
index 986e313..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/CompetitionQuery.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/EditParticipant.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/EditParticipant.class
deleted file mode 100644
index a8c9bdc..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/EditParticipant.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/ParticipantVo.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/ParticipantVo.class
deleted file mode 100644
index ccfa0d3..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/ParticipantVo.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/PayCourseRes.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/PayCourseRes.class
deleted file mode 100644
index 259a7f1..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/PayCourseRes.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/PaymentCompetitionVo.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/PaymentCompetitionVo.class
deleted file mode 100644
index 338e7d7..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/PaymentCompetitionVo.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/QueryDataFee.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/QueryDataFee.class
deleted file mode 100644
index 448e035..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/QueryDataFee.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/SaveParticipant.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/SaveParticipant.class
deleted file mode 100644
index 1ff8e94..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/SaveParticipant.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/TCompetition.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/TCompetition.class
deleted file mode 100644
index 9307d0f..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/model/TCompetition.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/CompetitionService.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/CompetitionService.class
deleted file mode 100644
index b8cde5f..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/CompetitionService.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/IParticipantService.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/IParticipantService.class
deleted file mode 100644
index 60870d2..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/IParticipantService.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/IPaymentCompetitionService.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/IPaymentCompetitionService.class
deleted file mode 100644
index c0a1b87..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/IPaymentCompetitionService.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/UserCompetitionService.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/UserCompetitionService.class
deleted file mode 100644
index 8d67a83..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/UserCompetitionService.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/impl/CompetitionServiceImpl.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/impl/CompetitionServiceImpl.class
deleted file mode 100644
index 2c7e0e1..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/impl/CompetitionServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/impl/ParticipantServiceImpl.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/impl/ParticipantServiceImpl.class
deleted file mode 100644
index a550930..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/impl/ParticipantServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/impl/PaymentCompetitionServiceImpl.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/impl/PaymentCompetitionServiceImpl.class
deleted file mode 100644
index e2ce778..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/impl/PaymentCompetitionServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/impl/UserCompetitionServiceImpl.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/impl/UserCompetitionServiceImpl.class
deleted file mode 100644
index 3543f06..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/service/impl/UserCompetitionServiceImpl.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/CodeGenerateUtils.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/CodeGenerateUtils.class
deleted file mode 100644
index c09cd86..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/CodeGenerateUtils.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/DateTimeHelper.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/DateTimeHelper.class
deleted file mode 100644
index 96a328c..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/DateTimeHelper.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/DateUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/DateUtil.class
deleted file mode 100644
index cdf45af..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/DateUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/DoubleUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/DoubleUtil.class
deleted file mode 100644
index e674246..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/DoubleUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/EmojiUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/EmojiUtil.class
deleted file mode 100644
index d80b5fe..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/EmojiUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/GeodesyUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/GeodesyUtil.class
deleted file mode 100644
index b50900c..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/GeodesyUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/HeaderAuthUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/HeaderAuthUtil.class
deleted file mode 100644
index 1d2d948..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/HeaderAuthUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/JsonUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/JsonUtil.class
deleted file mode 100644
index 29495e2..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/JsonUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/JuHeUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/JuHeUtil.class
deleted file mode 100644
index c2c0986..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/JuHeUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/LocalDateTimeUtils.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/LocalDateTimeUtils.class
deleted file mode 100644
index a536be6..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/LocalDateTimeUtils.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/MD5AndKL.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/MD5AndKL.class
deleted file mode 100644
index 0683ad5..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/MD5AndKL.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/MessageUtils.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/MessageUtils.class
deleted file mode 100644
index 1e7ea74..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/MessageUtils.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/PayMoneyUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/PayMoneyUtil.class
deleted file mode 100644
index f7acbd6..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/PayMoneyUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/RedisUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/RedisUtil.class
deleted file mode 100644
index b9fe6e2..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/RedisUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/ResultUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/ResultUtil.class
deleted file mode 100644
index 06f8832..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/ResultUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/StrUtils.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/StrUtils.class
deleted file mode 100644
index b91e858..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/StrUtils.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/StringUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/StringUtil.class
deleted file mode 100644
index d0ef8d8..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/StringUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/StudyTimeUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/StudyTimeUtil.class
deleted file mode 100644
index 4ff2b3e..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/StudyTimeUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/TaskUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/TaskUtil.class
deleted file mode 100644
index 478bc27..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/TaskUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/TaskUtilCompetition.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/TaskUtilCompetition.class
deleted file mode 100644
index 7bf877a..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/TaskUtilCompetition.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/TokenUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/TokenUtil.class
deleted file mode 100644
index cc976a0..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/TokenUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/ToolUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/ToolUtil.class
deleted file mode 100644
index 311499f..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/ToolUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/UUIDUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/UUIDUtil.class
deleted file mode 100644
index 3894d79..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/UUIDUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/Base64Utils.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/Base64Utils.class
deleted file mode 100644
index 5a7837f..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/Base64Utils.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/BaseUtils.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/BaseUtils.class
deleted file mode 100644
index 13d1be1..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/BaseUtils.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/DES.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/DES.class
deleted file mode 100644
index 1ef3e13..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/DES.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/Md5Util.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/Md5Util.class
deleted file mode 100644
index d75c8d1..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/Md5Util.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/SignUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/SignUtil.class
deleted file mode 100644
index b7eac82..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/akeylogin/SignUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/httpClinet/HttpClientUtil.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/httpClinet/HttpClientUtil.class
deleted file mode 100644
index 25ef548..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/httpClinet/HttpClientUtil.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/httpClinet/HttpResult.class b/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/httpClinet/HttpResult.class
deleted file mode 100644
index bf2d969..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/competition/util/httpClinet/HttpResult.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/config/JsonLongSerializer.class b/cloud-server-communityWorldCup/target/classes/com/dsh/config/JsonLongSerializer.class
deleted file mode 100644
index 2cb1379..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/config/JsonLongSerializer.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/config/MessageLocalConfig.class b/cloud-server-communityWorldCup/target/classes/com/dsh/config/MessageLocalConfig.class
deleted file mode 100644
index 46c93fd..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/config/MessageLocalConfig.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/config/MyLocaleResolver.class b/cloud-server-communityWorldCup/target/classes/com/dsh/config/MyLocaleResolver.class
deleted file mode 100644
index 45724d7..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/config/MyLocaleResolver.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/config/RedisConfig.class b/cloud-server-communityWorldCup/target/classes/com/dsh/config/RedisConfig.class
deleted file mode 100644
index 4838ebc..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/config/RedisConfig.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/config/Sharding_jdbc/DatasourceModel.class b/cloud-server-communityWorldCup/target/classes/com/dsh/config/Sharding_jdbc/DatasourceModel.class
deleted file mode 100644
index 86d6018..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/config/Sharding_jdbc/DatasourceModel.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/config/Sharding_jdbc/Master0DataSource.class b/cloud-server-communityWorldCup/target/classes/com/dsh/config/Sharding_jdbc/Master0DataSource.class
deleted file mode 100644
index 5ac728b..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/config/Sharding_jdbc/Master0DataSource.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/config/Sharding_jdbc/ShardingConfig.class b/cloud-server-communityWorldCup/target/classes/com/dsh/config/Sharding_jdbc/ShardingConfig.class
deleted file mode 100644
index 4205b6e..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/config/Sharding_jdbc/ShardingConfig.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/config/SwaggerConfig.class b/cloud-server-communityWorldCup/target/classes/com/dsh/config/SwaggerConfig.class
deleted file mode 100644
index 02917e2..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/config/SwaggerConfig.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/page/HttpKit.class b/cloud-server-communityWorldCup/target/classes/com/dsh/page/HttpKit.class
deleted file mode 100644
index b1a972b..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/page/HttpKit.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/page/Order.class b/cloud-server-communityWorldCup/target/classes/com/dsh/page/Order.class
deleted file mode 100644
index d1d43e2..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/page/Order.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/page/PageFactory.class b/cloud-server-communityWorldCup/target/classes/com/dsh/page/PageFactory.class
deleted file mode 100644
index be79adf..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/page/PageFactory.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/page/WafKit.class b/cloud-server-communityWorldCup/target/classes/com/dsh/page/WafKit.class
deleted file mode 100644
index 2b4f6fc..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/page/WafKit.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/com/dsh/page/WafRequestWrapper.class b/cloud-server-communityWorldCup/target/classes/com/dsh/page/WafRequestWrapper.class
deleted file mode 100644
index 6280832..0000000
--- a/cloud-server-communityWorldCup/target/classes/com/dsh/page/WafRequestWrapper.class
+++ /dev/null
Binary files differ
diff --git a/cloud-server-communityWorldCup/target/classes/logback-spring.xml b/cloud-server-communityWorldCup/target/classes/logback-spring.xml
deleted file mode 100644
index 57330a6..0000000
--- a/cloud-server-communityWorldCup/target/classes/logback-spring.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,比如: 如果设置为WARN,则低于WARN的信息都不会输出 -->
-<!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
-<!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
-<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
-<configuration scan="true" scanPeriod="10 seconds">
- <contextName>logback</contextName>
-
- <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
- <property name="log.path" value="/usr/playpai/server/logs"/>
-
- <!--0. 日志格式和颜色渲染 -->
- <!-- 彩色日志依赖的渲染类 -->
- <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
- <conversionRule conversionWord="wex"
- converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
- <conversionRule conversionWord="wEx"
- converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
- <!-- 彩色日志格式 -->
- <property name="CONSOLE_LOG_PATTERN"
- value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
-
- <!--1. 输出到控制台-->
- <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
- <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>debug</level>
- </filter>
- <encoder>
- <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
- <!-- 设置字符集 -->
- <charset>UTF-8</charset>
- </encoder>
- </appender>
-
- <!--2. 输出到文档-->
- <!-- 2.1 level为 DEBUG 日志,时间滚动输出 -->
- <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <!-- 正在记录的日志文档的路径及文档名 -->
- <file>${log.path}/mb-cloud-competition/debug.log</file>
- <!--日志文档输出格式 Output format of the log document.-->
- <encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- <charset>UTF-8</charset> <!-- 设置字符集 -->
- </encoder>
- <!-- 日志记录器的滚动策略,按日期,按大小记录 Rolling strategy of the logger, recording by date or by size.-->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- 日志归档 -->
- <fileNamePattern>${log.path}/mb-cloud-competition/%d{yyyy-MM-dd}/debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>100MB</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- <!--日志文档保留天数-->
- <maxHistory>15</maxHistory>
- </rollingPolicy>
- <!-- 此日志文档只记录debug级别的 -->
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>debug</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- </appender>
-
- <!-- 2.2 level为 INFO 日志,时间滚动输出 -->
- <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <!-- 正在记录的日志文档的路径及文档名 -->
- <file>${log.path}/mb-cloud-competition/info.log</file>
- <!--日志文档输出格式 Output format of the log document.-->
- <encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- <charset>UTF-8</charset>
- </encoder>
- <!-- 日志记录器的滚动策略,按日期,按大小记录 Rolling strategy of the logger, recording by date or by size.-->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- 每天日志归档路径以及格式 -->
- <fileNamePattern>${log.path}/mb-cloud-competition/%d{yyyy-MM-dd}/info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>100MB</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- <!--日志文档保留天数-->
- <maxHistory>15</maxHistory>
- </rollingPolicy>
- <!-- 此日志文档只记录info级别的 -->
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>info</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- </appender>
-
- <!-- 2.3 level为 WARN 日志,时间滚动输出 -->
- <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <!-- 正在记录的日志文档的路径及文档名 -->
- <file>${log.path}/mb-cloud-competition/warn.log</file>
- <!--日志文档输出格式 Output format of the log document.-->
- <encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- <charset>UTF-8</charset> <!-- 此处设置字符集 -->
- </encoder>
- <!-- 日志记录器的滚动策略,按日期,按大小记录 Rolling strategy of the logger, recording by date or by size.-->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${log.path}/mb-cloud-competition/%d{yyyy-MM-dd}/warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>100MB</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- <!--日志文档保留天数-->
- <maxHistory>15</maxHistory>
- </rollingPolicy>
- <!-- 此日志文档只记录warn级别的 -->
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>warn</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- </appender>
-
- <!-- 2.4 level为 ERROR 日志,时间滚动输出 -->
- <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <!-- 正在记录的日志文档的路径及文档名 -->
- <file>${log.path}/mb-cloud-competition/error.log</file>
- <!--日志文档输出格式 Output format of the log document.-->
- <encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- <charset>UTF-8</charset> <!-- 此处设置字符集 -->
- </encoder>
- <!-- 日志记录器的滚动策略,按日期,按大小记录 Rolling strategy of the logger, recording by date or by size.-->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${log.path}/mb-cloud-competition/%d{yyyy-MM-dd}/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>100MB</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- <!--日志文档保留天数-->
- <maxHistory>15</maxHistory>
- </rollingPolicy>
- <!-- 此日志文档只记录ERROR级别的 -->
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>ERROR</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- </appender>
-
- <!-- 2.5 所有 除了DEBUG级别的其它高于DEBUG的 日志,记录到一个文件 -->
- <appender name="ALL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <!-- 正在记录的日志文档的路径及文档名 -->
- <file>${log.path}/mb-cloud-competition/all.log</file>
- <!--日志文档输出格式 Output format of the log document.-->
- <encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
- <charset>UTF-8</charset> <!-- 此处设置字符集 -->
- </encoder>
- <!-- 日志记录器的滚动策略,按日期,按大小记录 Rolling strategy of the logger, recording by date or by size.-->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${log.path}/mb-cloud-competition/%d{yyyy-MM-dd}/all-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>100MB</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- <!--日志文档保留天数-->
- <maxHistory>15</maxHistory>
- </rollingPolicy>
- <!-- 此日志文档记录除了DEBUG级别的其它高于DEBUG的 -->
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>DEBUG</level>
- <onMatch>DENY</onMatch>
- <onMismatch>ACCEPT</onMismatch>
- </filter>
- </appender>
-
- <!--
- <logger>用来设置某一个包或者具体的某一个类的日志打印级别、
- 以及指定<appender>。<logger>仅有一个name属性,
- 一个可选的level和一个可选的addtivity属性。
- name:用来指定受此logger约束的某一个包或者具体的某一个类。
- level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
- 还有一个特殊值INHERITED或者同义词NULL,代表强制执行上级的级别。
- 如果未设置此属性,那么当前logger将会继承上级的级别。
- addtivity:是否向上级logger传递打印信息。默认是true。
- <logger name="org.springframework.web" level="info"/>
- <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>
- -->
-
- <!--
- root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性
- level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
- 不能设置为INHERITED或者同义词NULL。默认是DEBUG
- 可以包含零个或多个元素,标识这个appender将会添加到这个logger。
- -->
-
- <!-- 4 最终的策略:
- 基本策略(root级) + 根据profile在启动时, logger标签中定制化package日志级别(优先级高于上面的root级)-->
- <springProfile name="dev">
- <root level="info">
- <appender-ref ref="CONSOLE"/>
- <appender-ref ref="DEBUG_FILE"/>
- <appender-ref ref="INFO_FILE"/>
- <appender-ref ref="WARN_FILE"/>
- <appender-ref ref="ERROR_FILE"/>
- <appender-ref ref="ALL_FILE"/>
- </root>
- <logger name="com.dsh" level="debug"/>
- <logger name="business-log" level="warn"/>
- </springProfile>
-
- <springProfile name="fat">
- <root level="info">
- <appender-ref ref="CONSOLE"/>
- <appender-ref ref="DEBUG_FILE"/>
- <appender-ref ref="INFO_FILE"/>
- <appender-ref ref="WARN_FILE"/>
- <appender-ref ref="ERROR_FILE"/>
- <appender-ref ref="ALL_FILE"/>
- </root>
- <logger name="com.dsh.course.mapper" level="error"/>
- <logger name="business-log" level="warn"/>
- </springProfile>
-
- <springProfile name="prod">
- <root level="warn">
- <!-- 生产环境最好不配置console写文件 -->
- <appender-ref ref="DEBUG_FILE"/>
- <appender-ref ref="INFO_FILE"/>
- <appender-ref ref="WARN_FILE"/>
- <appender-ref ref="ERROR_FILE"/>
- <appender-ref ref="ALL_FILE"/>
- </root>
- <logger name="com.dsh.course.mapper" level="error"/>
- <logger name="business-log" level="warn"/>
- </springProfile>
-
-</configuration>
\ No newline at end of file
diff --git a/cloud-server-communityWorldCup/target/classes/mapper/CompetitionMapper.xml b/cloud-server-communityWorldCup/target/classes/mapper/CompetitionMapper.xml
deleted file mode 100644
index c380b07..0000000
--- a/cloud-server-communityWorldCup/target/classes/mapper/CompetitionMapper.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?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.competition.mapper.CompetitionMapper">
-
- <delete id="deleteTenMinutes">
- delete from t_user_competition
-
- where paymentCompetitionId in
- <foreach collection="pays" item="pay" separator="," open="(" close=")">
- #{pay}
- </foreach>
- </delete>
-
-
- <select id="queryCompetitionList" resultType="com.dsh.competition.model.CompetitionListVo">
- select
- aa.id,
- aa.name,
- aa.coverDrawing,
- aa.cityName,
- aa.registerCondition,
- aa.introduction,
- aa.registerEndTime,
- aa.age,
- aa.status,
- aa.heat
- from (
- SELECT
- a.id,
- a.`name`,
- a.coverDrawing,
- a.city AS cityName,
- a.registerCondition,
- a.introduction,
- a.baseNumber as heat,
- DATE_FORMAT(a.registerEndTime, '%Y-%m-%d %H:%i') AS registerEndTime,
- CONCAT(a.startAge, '-', a.endAge) AS age,
- a.baseNumber,
- CASE
- WHEN NOW() < a.startTime THEN 1 -- 未开始
- WHEN now() between a.startTime and a.endTime THEN 2 -- 进行中
- ELSE 3 -- 已结束
- END AS status
- FROM
- t_competition a
- WHERE
- a.auditStatus = 2 and a.status != 4
- AND a.state = 1
- <if test="null != cityCode and '' != cityCode">
- and a.cityCode = #{cityCode}
- </if>
- <if test="null != content and '' != content">
- and a.name like CONCAT('%', #{content}, '%')
- </if>
- <if test="null != registerCondition">
- and a.registerCondition = #{registerCondition}
- </if>
- GROUP BY a.id
- order by a.insertTime desc
- ) as aa
- <if test="null != heat and '' != heat">
- order by aa.heat ${heat}
- </if>
- </select>
- <select id="counts" resultType="java.lang.Integer">
- select count(1)
- from t_user_competition where competitionId = #{id}
- </select>
-
-
- <update id="taskSetStatusStart">
- update t_competition set status = 2 where status = 1 and state = 1 and auditStatus = 2 and now() between startTime and endTime
- </update>
-
-
- <update id="taskSetStatusEnd">
- update t_competition set status = 3 where status = 2 and state = 1 and auditStatus = 2 and now() >= endTime
- </update>
-</mapper>
diff --git a/cloud-server-communityWorldCup/target/classes/mapper/ParticipantMapper.xml b/cloud-server-communityWorldCup/target/classes/mapper/ParticipantMapper.xml
deleted file mode 100644
index 5c000c2..0000000
--- a/cloud-server-communityWorldCup/target/classes/mapper/ParticipantMapper.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?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.competition.mapper.ParticipantMapper">
- <select id="getPeopleFromId" resultType="com.dsh.competition.feignclient.model.CompetitionUser">
- select t2.name,t2.gender sex,t2.phone ,t2.idcard idCard ,t3.payStatus state
- from t_user_competition t1 left join t_participant t2 on t1.participantId = t2.id
- left join t_payment_competition t3 on t1.paymentCompetitionId = t3.id
- where t1.competitionId =#{id} and t2.id is not null and t3.id is not null
- <if test="state !=null and state !='' and state ==1">
- and t3.payStatus in (1,2)
- </if>
- <if test="state !=null and state !='' and state ==3">
- and t3.payStatus =3
- </if>
- </select>
-
- <select id="getPeopleFromId1" resultType="com.dsh.competition.entity.UserCompetition">
- select * from (
- select
- a.*
- from t_user_competition a
- left join t_payment_competition b on (a.paymentCompetitionId = b.id)
- where b.state = 1 and b.payStatus != 1 and a.competitionId = #{id}
- <if test="null != state and state == 1">
- and b.payStatus = 2
- </if>
- <if test="null != state and state == 3">
- and b.payStatus = 3
- </if>
- group by a.id
- ) as aa where aa.id is not null order by aa.insertTime desc limit #{offset}, #{limit}
- </select>
-
- <select id="getPeopleFromIdCount" resultType="java.lang.Integer">
- select
- count(*)
- from (
- select
- a.id
- from t_user_competition a
- left join t_payment_competition b on (a.paymentCompetitionId = b.id)
- where b.state = 1 and b.payStatus != 1 and a.competitionId = #{id}
- <if test="null != state and state == 1">
- and b.payStatus = 2
- </if>
- <if test="null != state and state == 3">
- and b.payStatus = 3
- </if>
- group by a.id
- ) as aa where aa.id is not null
- </select>
-
-
- <select id="getPeoples" resultType="com.dsh.competition.feignclient.model.CompetitionUser">
- select t2.id, t2.name,t2.gender sex,t2.phone ,t2.idcard idCard ,t3.payStatus state
- from t_user_competition t1 left join t_participant t2 on t1.participantId = t2.id
- left join t_payment_competition t3 on t1.paymentCompetitionId = t3.id
- where t1.competitionId =#{id} and t2.id is not null and t3.id is not null
- <if test="state !=null and state !='' and state ==1">
- and t3.payStatus in (1,2)
- </if>
- <if test="state !=null and state !='' and state ==3">
- and t3.payStatus =3
- </if>
- </select>
-
-</mapper>
\ No newline at end of file
diff --git a/cloud-server-communityWorldCup/target/classes/mapper/PaymentCompetitionMapper.xml b/cloud-server-communityWorldCup/target/classes/mapper/PaymentCompetitionMapper.xml
deleted file mode 100644
index 78cf329..0000000
--- a/cloud-server-communityWorldCup/target/classes/mapper/PaymentCompetitionMapper.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?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.competition.mapper.PaymentCompetitionMapper">
-
-
- <select id="queryMyCompetitionList" resultType="com.dsh.competition.model.CompetitionListVo">
- select
- a.id,
- b.`name`,
- b.coverDrawing,
- b.city as cityName,
- b.registerCondition,
- b.introduction,
- b.id as pId,
- DATE_FORMAT(b.registerEndTime, '%Y-%m-%d %H:%i') as registerEndTime,
- CONCAT(b.startAge, '-', b.endAge) as age,
- b.baseNumber as heat,
- if(a.payStatus = 3, 4, b.status) as status
- from t_payment_competition a
- left join t_competition b on (a.competitionId = b.id)
- where a.state = 1 and a.appUserId = #{uid} and a.payStatus != 1
- <!--1=未开始,2=进行中,3=已结束,4=已取消-->
- <if test="null != type and 1 == type">
- and b.status = 1 and a.payStatus = 2
- </if>
- <if test="null != type and 2 == type">
- and b.status = 2 and a.payStatus = 2
- </if>
- <if test="null != type and 3 == type">
- and b.status = 3 and a.payStatus = 2
- </if>
- <if test="null != type and 4 == type">
- and a.payStatus = 3
- </if>
- order by a.insertTime desc limit #{pageNo}, #{pageSize}
- </select>
- <select id="queryDatas" resultType="com.dsh.competition.feignclient.model.BillingRequest">
- SELECT DATE_FORMAT(insertTime, '%m-%d %H:%i')as `time`,
- amount
- from t_payment_competition
- where payStatus in (2,3) and payType in (1,2)
- <if test="null != monthStart and '' != monthStart and null != monthEnd and '' != monthEnd">
- and DATE_FORMAT(payTime, '%Y-%m-%d %H:%i:%s') between #{monthStart} and #{monthEnd}
- </if>
- <if test="null != appUserId and '' != appUserId ">
- and appUserId = #{appUserId}
- </if>
- </select>
- <select id="queryCancelDatas" resultType="com.dsh.competition.feignclient.model.BillingRequest">
- SELECT DATE_FORMAT(refundTime, '%m-%d %H:%i')as `time`,
- amount
- from t_payment_competition
- where payStatus = 3 and payType in (1,2)
- <if test="null != monthStart and '' != monthStart and null != monthEnd and '' != monthEnd">
- and DATE_FORMAT(refundTime, '%Y-%m-%d %H:%i:%s') between #{monthStart} and #{monthEnd}
- </if>
- <if test="null != appUserId and '' != appUserId ">
- and appUserId = #{appUserId}
- </if>
- </select>
- <select id="listAll" resultType="com.dsh.competition.entity.PaymentCompetition">
- select * from t_payment_competition t1
- <where>
- <if test="query.amount!=null and query.amount!= ''">
- and t1.amount <= #{query.amount}
- </if>
- <if test="query.userIds != null and query.userIds.size()>0">
- AND t1.competitionId IN
- <foreach collection="query.userIds" separator="," item="id" open="(" close=")">
- #{id}
- </foreach>
- </if>
- <if test="sTime !=null and sTime!= '' and eTime !=null and eTime!= ''">
- and t1.insertTime between #{sTime} and #{eTime}
- </if>
- </where>
- </select>
- <select id="queryBycode" resultType="java.lang.Integer">
- SELECT cp.storeId
- FROM t_course_package_payment py
- LEFT JOIN t_course_package cp ON py.coursePackageId = cp.id
- WHERE py.code = #{code}
- </select>
- <select id="counts" resultType="java.lang.Integer">
- select count(1)
- from t_user_competition where competitionId = #{id}
- </select>
-</mapper>
\ No newline at end of file
diff --git a/cloud-server-communityWorldCup/target/classes/redis.properties b/cloud-server-communityWorldCup/target/classes/redis.properties
deleted file mode 100644
index 095a9fb..0000000
--- a/cloud-server-communityWorldCup/target/classes/redis.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-spring.redis.database=0
-spring.redis.host=127.0.0.1
-spring.redis.port=6379
-spring.redis.password=123456
-spring.redis.jedis.pool.max-active=1024
-spring.redis.jedis.pool.max-wait=10000
-spring.redis.jedis.pool.max-idle=200
-spring.redis.jedis.pool.min-idle=50
-spring.redis.timeout=10000
-spring.redis.block-when-exhausted=true
\ No newline at end of file
diff --git a/cloud-server-communityWorldCup/target/classes/sharding-jdbc.properties b/cloud-server-communityWorldCup/target/classes/sharding-jdbc.properties
deleted file mode 100644
index 2346d3e..0000000
--- a/cloud-server-communityWorldCup/target/classes/sharding-jdbc.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-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_competition?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://127.0.0.1:3306/playpai_competition?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
-#datasource.master0.username=root
-#datasource.master0.password=playpai2023!
-#datasource.master0.maxActive=20
-#datasource.master0.maxWait=60000
-#datasource.master0.minIdle=5
-#datasource.master0.initialSize=2
-
-
-
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageOrderStudentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageOrderStudentController.java
new file mode 100644
index 0000000..61dc217
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageOrderStudentController.java
@@ -0,0 +1,48 @@
+package com.dsh.course.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.dsh.course.entity.CoursePackageOrderStudent;
+import com.dsh.course.model.DeductionClassHourList;
+import com.dsh.course.service.ICoursePackageOrderStudentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/22 15:27
+ */
+@RestController
+@RequestMapping("/coursePackageOrderStudent")
+public class CoursePackageOrderStudentController {
+
+ @Autowired
+ private ICoursePackageOrderStudentService coursePackageOrderStudentService;
+
+
+ /**
+ * 根据学院id获取剩余有效课时数据
+ * @param studentId
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/getCoursePackageOrderStudent")
+ public List<CoursePackageOrderStudent> getCoursePackageOrderStudent(@RequestBody Integer studentId){
+ return coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
+ .eq("studentId", studentId).eq("status", 1).eq("state", 1)
+ .gt("laveClassHours", 0).last(" and useTime > now()"));
+ }
+
+
+ /**
+ * 扣减学员课时
+ * @param deductionClassHourList
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/deductionClassHour")
+ public boolean deductionClassHour(@RequestBody DeductionClassHourList deductionClassHourList){
+ return coursePackageOrderStudentService.deductionClassHour(deductionClassHourList);
+ }
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/DeductionClassHour.java b/cloud-server-course/src/main/java/com/dsh/course/model/DeductionClassHour.java
new file mode 100644
index 0000000..78904ac
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/model/DeductionClassHour.java
@@ -0,0 +1,27 @@
+package com.dsh.course.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/22 15:44
+ */
+@Data
+public class DeductionClassHour {
+ /**
+ * 课时记录id
+ */
+ private Long id;
+ /**
+ * 学员id
+ */
+ private Integer studentId;
+ /**
+ * 课时id
+ */
+ private Integer coursePackageId;
+ /**
+ * 扣减课时
+ */
+ private Integer classHour;
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/DeductionClassHourList.java b/cloud-server-course/src/main/java/com/dsh/course/model/DeductionClassHourList.java
new file mode 100644
index 0000000..8c9c994
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/model/DeductionClassHourList.java
@@ -0,0 +1,14 @@
+package com.dsh.course.model;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/22 15:46
+ */
+@Data
+public class DeductionClassHourList {
+ List<DeductionClassHour> deductionClassHourList;
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageOrderStudentService.java b/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageOrderStudentService.java
index b8c867e..434c338 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageOrderStudentService.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageOrderStudentService.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.course.entity.CoursePackageOrderStudent;
import com.dsh.course.feignclient.model.RecordAppoint;
+import com.dsh.course.model.DeductionClassHourList;
+import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@@ -20,4 +22,12 @@
* @return
*/
List<RecordAppoint> obtainStuClassDetails(Integer stuId, Integer appUserId, Integer pageNum);
+
+
+ /**
+ * 扣除学员课时
+ * @param deductionClassHourList
+ * @return
+ */
+ boolean deductionClassHour(DeductionClassHourList deductionClassHourList);
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java
index 6acdef8..15fd639 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java
@@ -13,8 +13,11 @@
import com.dsh.course.feignclient.other.StoreClient;
import com.dsh.course.feignclient.other.model.Store;
import com.dsh.course.mapper.*;
+import com.dsh.course.model.DeductionClassHour;
+import com.dsh.course.model.DeductionClassHourList;
import com.dsh.course.service.ICoursePackageOrderStudentService;
import com.dsh.course.service.ICoursePackageSchedulingService;
+import com.dsh.course.service.TCoursePackageService;
import com.dsh.course.util.DateTimeHelper;
import com.dsh.course.util.DateUtil;
import com.dsh.course.util.ToolUtil;
@@ -49,6 +52,9 @@
@Resource
private StoreClient stoClient;
+
+ @Autowired
+ private TCoursePackageService coursePackageService;
@@ -229,4 +235,57 @@
return ids;
}
+
+
+ /**
+ * 扣除学员课时
+ * @param deductionClassHourList
+ * @return
+ */
+ @Override
+ public boolean deductionClassHour(DeductionClassHourList deductionClassHourList) {
+ try {
+ List<DeductionClassHour> list = deductionClassHourList.getDeductionClassHourList();
+ for (DeductionClassHour deductionClassHour : list) {
+ CoursePackageOrderStudent coursePackageOrderStudent = this.getById(deductionClassHour.getId());
+ Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+ coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - deductionClassHour.getClassHour());
+
+ //计算需要删除几个排课记录
+ TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId());
+ Integer codeTime = coursePackage.getCodeTime();
+ //未上的排课数据
+ List<CoursePackageScheduling> packageSchedulings = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>().eq("studentId", coursePackageOrderStudent.getStudentId())
+ .eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId()).eq("status", 1).orderByDesc("classDate"));
+ //排课使用的总课时
+ int classHour = packageSchedulings.size() * codeTime;
+ //未排课的课时
+ int notClass = laveClassHours - classHour;
+
+ //判断是否需要删除排课数据
+ if(notClass < deductionClassHour.getClassHour()){
+ int clss = deductionClassHour.getClassHour() - notClass;
+ int n = clss % codeTime;
+ int l = 0;
+ //不整除的情况,需要多删除一节排课,回加差额课时。
+ if(n != 0){
+ n += 1;
+ l = (codeTime * n) - clss;
+ coursePackageOrderStudent.setLaveClassHours(l);
+ }
+
+ //删除已排的课程
+ List<CoursePackageScheduling> coursePackageSchedulings = packageSchedulings.subList(0, n);
+ List<Long> collect = coursePackageSchedulings.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList());
+ coursePackageSchedulingService.removeByIds(collect);
+ }
+
+ this.updateById(coursePackageOrderStudent);
+ }
+ return true;
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return false;
+ }
}
--
Gitblit v1.7.1