From c036557db88c6297b9a626a892dce35c14ab8ee5 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期四, 09 十一月 2023 18:30:31 +0800
Subject: [PATCH] 11.6
---
cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java | 2
cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java | 39
cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java | 509 ++++++---
cloud-server-other/src/main/java/com/dsh/other/controller/HonorController.java | 44
cloud-server-account/src/main/java/com/dsh/account/entity/OrderDto.java | 14
cloud-server-account/src/main/java/com/dsh/account/entity/HonorRules.java | 56 +
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 197 +-
cloud-server-competition/src/main/java/com/dsh/competition/model/CompetitionInfo.java | 5
cloud-server-other/src/main/java/com/dsh/other/entity/HonorRules.java | 5
cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java | 5
cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java | 22
cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserPointsMerchandise.java | 31
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 709 +++++++-----
cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java | 16
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageSchedulingController.java | 17
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java | 31
cloud-server-course/src/main/java/com/dsh/course/entity/RecordTimeRequest.java | 20
cloud-server-competition/src/main/resources/mapper/CompetitionMapper.xml | 13
cloud-server-other/src/main/java/com/dsh/other/controller/StoredValueConfigController.java | 10
cloud-server-account/src/main/java/com/dsh/account/model/BillingRequestOfType.java | 3
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 49
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java | 4
cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageSchedulingClient.java | 3
cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java | 2
cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java | 9
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java | 3
cloud-server-other/src/main/java/com/dsh/other/feignclient/account/model/AppUser.java | 2
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java | 44
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 183 ++
cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java | 3
cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/ParticipantClient.java | 2
cloud-server-activity/src/main/java/com/dsh/activity/mapper/BenefitsVideosMapper.java | 6
cloud-server-competition/src/main/java/com/dsh/competition/mapper/CompetitionMapper.java | 1
cloud-server-other/src/main/java/com/dsh/other/util/DateComparisonExample.java | 11
cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java | 211 +++
cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/AppUserDetailsVo.java | 2
cloud-server-activity/src/main/java/com/dsh/activity/entity/Location.java | 9
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java | 32
cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java | 13
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 405 ++++++
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserCouponServiceImpl.java | 4
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java | 75 +
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java | 14
cloud-server-other/src/main/java/com/dsh/other/model/BillingRequestOfType.java | 2
cloud-server-course/src/main/java/com/dsh/course/feignclient/activity/CouponClient.java | 3
cloud-server-course/src/main/java/com/dsh/course/model/vo/response/CourseDetailsResponse.java | 4
cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java | 17
cloud-server-course/src/main/java/com/dsh/course/entity/OrderDto.java | 14
cloud-server-course/src/main/java/com/dsh/course/entity/CourseCounsum.java | 2
cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java | 13
cloud-server-account/src/main/java/com/dsh/account/dto/Location.java | 9
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java | 7
cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuDetailsReq.java | 1
cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuListVo.java | 2
cloud-server-course/src/main/resources/mapper/CoursePackageSchedulingMapper.xml | 3
cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java | 22
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePackageClient.java | 4
cloud-server-competition/src/main/resources/mapper/PaymentCompetitionMapper.xml | 4
cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java | 1
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/HonorDeClient.java | 4
cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java | 26
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java | 14
cloud-server-account/src/main/java/com/dsh/account/entity/CourseCounsum.java | 30
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java | 17
cloud-server-other/src/main/resources/mapper/SiteBookingMapper.xml | 2
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 113 +
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CourseSessionNameClient.java | 4
cloud-server-activity/src/main/resources/mapper/BenefitsVideosMapper.xml | 1
cloud-server-competition/src/main/java/com/dsh/competition/feignclient/course/CoursePackagePaymentClient.java | 3
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java | 2
cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java | 26
cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java | 44
cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java | 2
cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java | 21
74 files changed, 2,475 insertions(+), 777 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
index 155b96b..6bd2591 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
@@ -9,12 +9,14 @@
import com.dsh.account.entity.Coach;
import com.dsh.account.entity.TAppUser;
import com.dsh.account.entity.TCourseInfoRecord;
+import com.dsh.account.entity.UserIntegralChanges;
import com.dsh.account.model.*;
import com.dsh.account.model.query.appUserQuery.QueryAppUser;
import com.dsh.account.model.vo.QueryAppUserVO;
import com.dsh.account.service.IVipPaymentService;
import com.dsh.account.service.TAppUserService;
import com.dsh.account.service.TCourseInfoRecordService;
+import com.dsh.account.service.UserIntegralChangesService;
import com.dsh.account.util.PayMoneyUtil;
import com.dsh.account.util.ResultUtil;
import com.dsh.account.util.TokenUtil;
@@ -449,6 +451,8 @@
}
+ @Autowired
+ private UserIntegralChangesService userIntegralChangesService;
/**
* 修改用户信息
* @param appUser
@@ -458,6 +462,15 @@
public void updateAppUser(@RequestBody TAppUser appUser){
try {
appUserService.updateById(appUser);
+ UserIntegralChanges userIntegralChanges = new UserIntegralChanges();
+ userIntegralChanges.setAppUserId(appUser.getId());
+ userIntegralChanges.setOldIntegral(appUser.getIntegral()+appUser.getPoints());
+ userIntegralChanges.setType(5);
+ userIntegralChanges.setNewIntegral(appUser.getIntegral());
+ userIntegralChanges.setInsertTime(new Date());
+ userIntegralChanges.setCategory(2);
+ userIntegralChangesService.save(userIntegralChanges);
+
}catch (Exception e){
e.printStackTrace();
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
index 1512dc0..1806a5f 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
@@ -263,6 +263,7 @@
vo.setStuWeight(sts.getWeight());
vo.setIsNot(sts.getIsDefault());
vo.setStuPhone(sts.getPhone());
+ vo.setSex(sts.getSex());
stuListVos.add(vo);
});
}
@@ -341,13 +342,27 @@
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
@ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"),
})
- public ResultUtil commitEditStu(StuEditInfoReq stu){
+ public ResultUtil commitEditStu(StuDetailsReq stu){
try {
Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
if(null == userIdFormRedis){
return ResultUtil.tokenErr();
}
- return ResultUtil.success(istuService.commitEditStudentInfo(stu,userIdFormRedis));
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+
+ TStudent tStudent = new TStudent();
+ tStudent.setId(stu.getStuId());
+ tStudent.setBirthday(format.parse(stu.getBirthday()));
+ tStudent.setHeadImg(stu.getHeadImg());
+ tStudent.setHeight(stu.getHeight());
+ tStudent.setWeight(stu.getWeight());
+ tStudent.setPhone(stu.getPhone());
+ tStudent.setSex(stu.getSex());
+ tStudent.setName(stu.getName());
+ tStudent.setIdCard(stu.getIdCard());
+ return ResultUtil.success(istuService.updateById(tStudent));
+
+// return ResultUtil.success(istuService.commitEditStudentInfo(stu,userIdFormRedis));
}catch (Exception e){
return ResultUtil.runErr();
}
@@ -546,6 +561,9 @@
})
public ResultUtil<List<StuMedalVo>> queryStuMedal( Integer stuId){
try {
+
+
+
Integer appUserId = tokenUtil.getUserIdFormRedis();
if(null == appUserId){
return ResultUtil.tokenErr();
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
index 7aaa6e0..99cf9c1 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
@@ -55,14 +55,16 @@
@ApiOperation(value = "福利主页", tags = {"APP-使用福利"})
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+ @ApiImplicitParam(name = "lat",value = "经度",dataType = "string"),
+ @ApiImplicitParam(name = "lon",value = "纬度",dataType = "string")
})
- public ResultUtil<IndexOfUserBenefirVo> queryAppUserUser(){
+ public ResultUtil<IndexOfUserBenefirVo> queryAppUserUser(String lon,String lat){
try {
Integer appUserId = tokenUtil.getUserIdFormRedis();
if(null == appUserId){
return ResultUtil.tokenErr();
}
- IndexOfUserBenefirVo indexOfUserBenefirVo = tauService.queryBenefitDetails(appUserId);
+ IndexOfUserBenefirVo indexOfUserBenefirVo = tauService.queryBenefitDetails(appUserId,lon,lat);
List<IntegralCommodity> commodities = indexOfUserBenefirVo.getCommodities();
if (commodities.size() > 5) {
commodities = commodities.subList(0, 5);
@@ -80,6 +82,9 @@
@ApiOperation(value = "用户个人信息", tags = {"APP-使用福利"})
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+ @ApiImplicitParam(name = "lat",value = "经度",dataType = "string"),
+ @ApiImplicitParam(name = "lon",value = "纬度",dataType = "string")
+
})
public ResultUtil<AppUserDetailsVo> queryAppUserDetails(){
try {
@@ -89,6 +94,13 @@
return ResultUtil.tokenErr();
}
TAppUser tAppUser = tauService.getBaseMapper().selectById(appUserId);
+ if (tAppUser.getCode()==null){
+ detailsVo.setNeedChange(1);
+ }else {
+ detailsVo.setNeedChange(0);
+ }
+
+
if (null != tAppUser){
detailsVo.setUserId(appUserId);
detailsVo.setUserImage(tAppUser.getHeadImg());
diff --git a/cloud-server-account/src/main/java/com/dsh/account/dto/Location.java b/cloud-server-account/src/main/java/com/dsh/account/dto/Location.java
new file mode 100644
index 0000000..6d286c9
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/dto/Location.java
@@ -0,0 +1,9 @@
+package com.dsh.account.dto;
+
+import lombok.Data;
+
+@Data
+public class Location {
+ private String lon;
+ private String lat;
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/entity/CourseCounsum.java b/cloud-server-account/src/main/java/com/dsh/account/entity/CourseCounsum.java
new file mode 100644
index 0000000..8f96062
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/entity/CourseCounsum.java
@@ -0,0 +1,30 @@
+package com.dsh.account.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 io.swagger.models.auth.In;
+import lombok.Data;
+
+import java.util.Date;
+
+
+@Data
+@TableName("t_course_consum")
+public class CourseCounsum {
+ @TableId(value = "id", type = IdType.AUTO)
+ Integer id;
+ @TableField("changeType")
+ Integer changeType;
+ @TableField("num")
+ Integer num;
+ @TableField("reason")
+ String reason;
+ @TableField("paymentId")
+ Long paymentId;
+ @TableField("insertTime")
+ Date insertTime;
+ @TableField("appUserId")
+ Integer appUserId;
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/entity/HonorRules.java b/cloud-server-account/src/main/java/com/dsh/account/entity/HonorRules.java
new file mode 100644
index 0000000..5167169
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/entity/HonorRules.java
@@ -0,0 +1,56 @@
+package com.dsh.account.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 com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.models.auth.In;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 荣誉规则
+ * </p>
+ *
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_honor_rules")
+public class HonorRules extends Model<HonorRules> {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+ /**
+ * 数据类型(1=俱乐部之星,2=运动达人,3=社区之王,4=深度玩家)
+ */
+ @TableField("type")
+ private Integer type;
+ /**
+ * 等级
+ */
+ @TableField("level")
+ private Integer level;
+ /**
+ * 满足条件值
+ */
+
+ @TableField(value = "`condition`")
+ private Integer condition;
+
+ @Override
+ protected Serializable pkVal() {
+ return this.id;
+ }
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/entity/OrderDto.java b/cloud-server-account/src/main/java/com/dsh/account/entity/OrderDto.java
new file mode 100644
index 0000000..39a0693
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/entity/OrderDto.java
@@ -0,0 +1,14 @@
+package com.dsh.account.entity;
+
+import lombok.Data;
+
+@Data
+public class OrderDto {
+ private String stuIds;
+
+ private Integer appUserId;
+
+ private Integer classId;
+
+ private Integer classHours;
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java b/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java
index c0b9123..a6544b1 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java
@@ -173,4 +173,6 @@
private Integer addUserId;
@TableField(exist = false)
private Integer age;
+ @TableField(exist = false)
+ private Integer points;
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java
index 19f7b0e..10e801c 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java
@@ -1,6 +1,7 @@
package com.dsh.account.feignclient.activity;
+import com.dsh.account.dto.Location;
import com.dsh.account.feignclient.activity.model.*;
import com.dsh.account.feignclient.competition.model.BillingDataRequestVo;
import com.dsh.account.model.vo.userBenefitDetail.*;
@@ -14,7 +15,7 @@
public interface MerChandiseClient {
@PostMapping("/base/pointMerchars/convertGoods")
- public List<IntegralCommodity> getConvertibleGoods();
+ public List<IntegralCommodity> getConvertibleGoods(@RequestBody Location location);
@PostMapping("/base/pointMerchars/getCommoditys")
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserPointsMerchandise.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserPointsMerchandise.java
index e347deb..41c9bdc 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserPointsMerchandise.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserPointsMerchandise.java
@@ -1,7 +1,12 @@
package com.dsh.account.feignclient.activity.model;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
+import java.io.Serializable;
import java.util.Date;
/**
@@ -15,64 +20,82 @@
@Data
public class UserPointsMerchandise{
+
private static final long serialVersionUID = 1L;
/**
* 主键
*/
+ @TableId(value = "id", type = IdType.NONE)
private Long id;
/**
* 商品id
*/
+ @TableField("pointsMerchandiseId")
private Integer pointsMerchandiseId;
/**
* 用户id
*/
+ @TableField("userId")
private Integer userId;
/**
* 核销人员id
*/
+ @TableField("verificationUserId")
private Integer verificationUserId;
/**
* 核销门店id
*/
+ @TableField("verifiStoreId")
private Integer verifiStoreId;
/**
* 核销时间
*/
+ @TableField("verificationTime")
private Date verificationTime;
/**
* 状态(1=待核销,2=已核销)
*/
+ @TableField("status")
private Integer status;
/**
* 领取时间
*/
+ @TableField("insertTime")
private Date insertTime;
/**
* 现金支付方式(1=微信2支付宝)
*/
+ @TableField("payType")
private Integer payType;
/**
- * 现金支付的交易凭证
+ * code
*/
+ @TableField("code")
private String code;
/**
- * 现金支付的交易订单号
+ * orderNumber
*/
+ @TableField("orderNumber")
private String orderNumber;
/**
- * 现金的支付状态(1=待支付 2=已支付)
+ * 现金的支付状态
*/
+ @TableField("payStatus")
private Integer payStatus;
/**
* 可使用的门店id
*/
+ @TableField("storeId")
private Integer storeId;
/**
- * 1=正常 2= 删除
+ * 1=正常 2=删除
*/
+ @TableField("state")
private Integer state;
+
+
+
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/ParticipantClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/ParticipantClient.java
index 81ab820..f4a4ed8 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/ParticipantClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/ParticipantClient.java
@@ -18,4 +18,6 @@
*/
@PostMapping("/participant/saveParticipant")
void saveParticipant(SaveParticipant saveParticipant);
+ @PostMapping("/participant/counts")
+ Integer counts(Integer stuId);
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePackageClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePackageClient.java
index cd82212..548d755 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePackageClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePackageClient.java
@@ -25,4 +25,8 @@
CoursePackage queryCoursePackageById(Integer id);
@PostMapping("/base/coursePackage/queryByCode")
Integer queryByCode(String code);
+ @PostMapping("/base/coursePackage/counts")
+ Integer counts(Integer stuId);
+ @PostMapping("/base/coursePackage/counts1")
+ Integer counts1(Integer stuId);
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
index 18393df..2c74ad5 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
@@ -1,6 +1,8 @@
package com.dsh.account.feignclient.course;
import com.dsh.account.dto.TCoursePackagePayment1;
+import com.dsh.account.entity.CourseCounsum;
+import com.dsh.account.entity.OrderDto;
import com.dsh.account.feignclient.competition.model.BillingDataRequestVo;
import com.dsh.account.feignclient.course.model.*;
import com.dsh.account.model.BillingRequest;
@@ -63,6 +65,10 @@
@PostMapping("/base/coursePack/savePaymentCoursePackage")
public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment);
+
+ @PostMapping("/base/coursePack/orderClass")
+ public void orderClass(@RequestBody OrderDto orderDto);
+
@PostMapping("/base/coursePack/allAmountPayRecordOfUser")
BillingRequestVo getAmountPayRecord(@RequestBody BillingDataRequestVo appUserId);
@@ -82,5 +88,13 @@
@PostMapping("/base/coursePack/weeksOfCourseDetailsList")
HashMap<String, Object> weeksOfCourseDetailsList(@RequestBody CourseDetailReq courseDetailReq);
+ @PostMapping("/base/coursePack/getConsumes")
+ List<CourseCounsum> getConsumes(@RequestBody BillingDataRequestVo requestVo);
+
+
+// @PostMapping("/base/coursePack/getClassHour")
+// Integer getClassHour(Integer courseConfigId);
+
+
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CourseSessionNameClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CourseSessionNameClient.java
index 5506604..2e89e05 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CourseSessionNameClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CourseSessionNameClient.java
@@ -4,6 +4,7 @@
import com.dsh.account.feignclient.competition.model.PurchaseRecordVo;
import com.dsh.account.feignclient.course.model.GetStuSessionList;
import com.dsh.account.feignclient.course.model.StuSessionDetailsVo;
+import com.dsh.account.model.vo.sourceDetail.RecordTimeRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -19,5 +20,6 @@
@PostMapping("/base/coursePack/paymentCourse")
public List<PurchaseRecordVo> queryCourseDetails(@RequestBody GetStuSessionList getStuSessionList);
-
+ @PostMapping("/base/coursePack/getRecord")
+ List<PurchaseRecordVo> getRecord(@RequestBody RecordTimeRequest timeRequest);
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/HonorDeClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/HonorDeClient.java
index 8e53cc5..36e4908 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/HonorDeClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/HonorDeClient.java
@@ -1,5 +1,6 @@
package com.dsh.account.feignclient.other;
+import com.dsh.account.entity.HonorRules;
import com.dsh.account.model.vo.medalDetail.StuMedalVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
@@ -12,5 +13,6 @@
@PostMapping("/base/honor/stuHonors")
public List<StuMedalVo> getStuHonors(@RequestBody List<Integer> honorIds);
-
+ @PostMapping("/base/honor/getHonor")
+ HonorRules getHonor(@RequestBody List<Integer> integers);
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java
index df3512c..1da3ff1 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java
@@ -34,5 +34,6 @@
@PostMapping("/base/site/game")
List<Map<String, Object>> game(Integer appUserId);
-
+ @PostMapping("/base/site/counts")
+ Integer counts(Integer stuId);
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/BillingRequestOfType.java b/cloud-server-account/src/main/java/com/dsh/account/model/BillingRequestOfType.java
index b09eb24..6572ea5 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/BillingRequestOfType.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/BillingRequestOfType.java
@@ -21,4 +21,7 @@
* 金额
*/
private double amount;
+
+ private String time1;
+
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuDetailsReq.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuDetailsReq.java
index 391dd2f..1ca06be 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuDetailsReq.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuDetailsReq.java
@@ -29,4 +29,5 @@
@ApiModelProperty(value = "身份证号码")
private String idCard;
+ private Integer stuId;
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuListVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuListVo.java
index e61dffe..003eb1b 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuListVo.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/StuListVo.java
@@ -36,4 +36,6 @@
@ApiModelProperty(value = "学员手机号")
private String stuPhone;
+ @ApiModelProperty(value = "性别")
+ private Integer sex;
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/AppUserDetailsVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/AppUserDetailsVo.java
index 50c5098..72e05ca 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/AppUserDetailsVo.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/AppUserDetailsVo.java
@@ -31,5 +31,7 @@
private String memberLifespan;
private Integer isVip;
+ @ApiModelProperty(value = "1:需要修改,")
+ private Integer needChange;
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
index bd36c07..2bc0fff 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
@@ -113,7 +113,7 @@
* @param appUserId
* @return
*/
- IndexOfUserBenefirVo queryBenefitDetails(Integer appUserId);
+ IndexOfUserBenefirVo queryBenefitDetails(Integer appUserId,String lon,String lat);
/**
* 获取用户账单列表
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java
index 3b86233..4349abc 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java
@@ -80,7 +80,7 @@
@Override
public List<RechargesDetail> getAppUserRechargeRecord(String yearMonth, Integer recordId, Integer appUserId,Integer pageNum,Integer pageSize) {
List<RechargesDetail> details = new ArrayList<>();
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm");
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date monthStart = null;
Date monthEnd = null;
@@ -150,7 +150,7 @@
if (rechargeRecords.size() > 0) {
for (RechargeRecords rechargeRecord : rechargeRecords) {
RechargesDetail consumeDetail = new RechargesDetail();
- consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.name() + ":" + rechargeRecord.getPlayPaiCoins());
+ consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.getMsg() + ":" + rechargeRecord.getPlayPaiCoins());
consumeDetail.setConsumeTime(simpleDateFormat.format(rechargeRecord.getInsertTime()));
consumeDetail.setConsumeAmount("+" + rechargeRecord.getAmount());
consumeDetail.setRecordId(1);
@@ -182,11 +182,29 @@
//一页五条
int size = pageSize;
+
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ List<RechargesDetail> filteredList = new ArrayList<>();
+ for (RechargesDetail detail : details) {
+ try {
+ Date consumeTime = dateFormat.parse(detail.getConsumeTime());
+ if (consumeTime.after(monthStart) && consumeTime.before(monthEnd)) {
+ String substring = detail.getConsumeTime().substring(5);
+ detail.setConsumeTime(substring);
+ filteredList.add(detail);
+ }
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+
//分页
- details = details.stream().skip((pageNo - 1) * size).limit(size).
+ filteredList = filteredList.stream().skip((pageNo - 1) * size).limit(size).
collect(Collectors.toList());
- return details;
+ return filteredList;
}
@Override
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java
index 663fffb..8b5b7a9 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/StudentHonorServiceImpl.java
@@ -2,15 +2,25 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.account.entity.HonorRules;
import com.dsh.account.entity.StudentHonor;
+import com.dsh.account.entity.TStudent;
+import com.dsh.account.feignclient.competition.ParticipantClient;
+import com.dsh.account.feignclient.course.CoursePackageClient;
+import com.dsh.account.feignclient.course.model.CoursePackage;
import com.dsh.account.feignclient.other.HonorDeClient;
+import com.dsh.account.feignclient.other.SiteClient;
import com.dsh.account.mapper.StudentHonorMapper;
import com.dsh.account.model.vo.medalDetail.GongVo;
import com.dsh.account.model.vo.medalDetail.StuMedalVo;
import com.dsh.account.service.StudentHonorService;
+import com.dsh.account.service.TAppUserService;
+import com.dsh.account.service.TStudentService;
+import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -26,46 +36,191 @@
@Service
public class StudentHonorServiceImpl extends ServiceImpl<StudentHonorMapper, StudentHonor> implements StudentHonorService {
+ @Resource
+ private CoursePackageClient coursePackageClient;
+
+ @Resource
+ private ParticipantClient participantClient;
+
+ @Resource
+ private SiteClient siteClient;
+
@Autowired
private HonorDeClient honorDeClient;
+
+ @Autowired
+ private TStudentService studentService;
+
@Override
public List<GongVo> queryStuOfMedalData(Integer stuId) {
List<GongVo> voList = new ArrayList<>();
- List<StudentHonor> studentHonors = this.baseMapper.selectList(new QueryWrapper<StudentHonor>()
- .eq("stuId", stuId));
- if (studentHonors.size() > 0){
- studentHonors.forEach( stuoHo -> {
- GongVo vo = new GongVo();
- vo.setMedalType(stuoHo.getHonorType());
- switch (stuoHo.getHonorType()){
- case 1:
- vo.setMedalName("俱乐部之星");
- break;
- case 2:
- vo.setMedalName("运动达人");
- break;
- case 3:
- vo.setMedalName("社区之王");
- break;
- case 4:
- vo.setMedalName("深度玩家");
- break;
- default:
- break;
- }
- voList.add(vo);
- });
+// List<StudentHonor> studentHonors = this.baseMapper.selectList(new QueryWrapper<StudentHonor>()
+// .eq("stuId", stuId));
+//
+ TStudent student = studentService.getById(stuId);
+//
+//
+// if (studentHonors.size() > 0){
+// studentHonors.forEach( stuoHo -> {
+// GongVo vo = new GongVo();
+// vo.setMedalType(stuoHo.getHonorType());
+// switch (stuoHo.getHonorType()){
+// case 1:
+// vo.setMedalName("俱乐部之星");
+// break;
+// case 2:
+// vo.setMedalName("运动达人");
+// break;
+// case 3:
+// vo.setMedalName("社区之王");
+// break;
+// case 4:
+// vo.setMedalName("深度玩家");
+// break;
+// default:
+// break;
+// }
+// voList.add(vo);
+// });
+// }
+ Integer count1 =coursePackageClient.counts(stuId);
+ if (count1>0){
+ GongVo vo = new GongVo();
+ vo.setMedalType(1);
+ vo.setMedalName("俱乐部之星");
+ voList.add(vo);
}
+
+ Integer count2 = participantClient.counts(stuId);
+ if (count2>0){
+ GongVo vo = new GongVo();
+ vo.setMedalType(2);
+ vo.setMedalName("运动达人");
+ voList.add(vo);
+ }
+
+ Integer count3 = siteClient.counts(student.getAppUserId());
+ if (count3>0){
+ GongVo vo = new GongVo();
+ vo.setMedalType(3);
+ vo.setMedalName("社区之王");
+ voList.add(vo);
+ }
+
+
+ Integer count4 = coursePackageClient.counts1(stuId);
+ if (count4>0){
+ GongVo vo = new GongVo();
+ vo.setMedalType(4);
+ vo.setMedalName("深度玩家");
+ voList.add(vo);
+ }
+
+
return voList;
}
+
+
@Override
public List<StuMedalVo> queryHonorDetails(Integer stuId) {
- List<StudentHonor> studentHonors = this.baseMapper.selectList(new QueryWrapper<StudentHonor>()
- .in("stuId",stuId));
- List<Integer> collect = studentHonors.stream().map(StudentHonor::getHonorRuleId).collect(Collectors.toList());
- return honorDeClient.getStuHonors(collect);
+ List<StuMedalVo> studentHonors = new ArrayList<>();
+// List<Integer> collect = studentHonors.stream().map(StudentHonor::getHonorRuleId).collect(Collectors.toList());
+
+ Integer count1 =coursePackageClient.counts(stuId);
+ if (count1>0){
+ StuMedalVo vo = new StuMedalVo();
+ vo.setMedalType(1);
+ vo.setMedalName("俱乐部之星");
+ //拿到当前对应的rule对象
+ List<Integer> integers = new ArrayList<>();
+ integers.add(1);
+ integers.add(count1);
+ HonorRules honorRules = honorDeClient.getHonor(integers);
+ if (count1<Integer.valueOf(honorRules.getCondition())){
+ vo.setLevelNum(Integer.valueOf(honorRules.getLevel())-1);
+ vo.setNextLevel(Integer.valueOf(honorRules.getLevel()));
+ vo.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition())-count1));
+ vo.setIsTopLevel(0);
+ }else {
+ vo.setIsTopLevel(1);
+ }
+
+ studentHonors.add(vo);
+ }
+
+ Integer count2 = participantClient.counts(stuId);
+ if (count2>0){
+ StuMedalVo vo = new StuMedalVo();
+ vo.setMedalType(2);
+ vo.setMedalName("运动达人");
+ //拿到当前对应的rule对象
+ List<Integer> integers = new ArrayList<>();
+ integers.add(2);
+ integers.add(count2);
+ HonorRules honorRules = honorDeClient.getHonor(integers);
+ if (count2<Integer.valueOf(honorRules.getCondition())){
+ vo.setLevelNum(Integer.valueOf(honorRules.getLevel())-1);
+ vo.setNextLevel(Integer.valueOf(honorRules.getLevel()));
+ vo.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition())-count2));
+ vo.setIsTopLevel(0);
+ }else {
+ vo.setIsTopLevel(1);
+ }
+
+ studentHonors.add(vo);
+ }
+ TStudent student = studentService.getById(stuId);
+
+ Integer count3 = siteClient.counts(student.getAppUserId());
+ if (count3>0){
+ StuMedalVo vo = new StuMedalVo();
+ vo.setMedalType(3);
+ vo.setMedalName("社区之王");
+ //拿到当前对应的rule对象
+ List<Integer> integers = new ArrayList<>();
+ integers.add(3);
+ integers.add(count3);
+ HonorRules honorRules = honorDeClient.getHonor(integers);
+ if (count3<Integer.valueOf(honorRules.getCondition())){
+ vo.setLevelNum(Integer.valueOf(honorRules.getLevel())-1);
+ vo.setNextLevel(Integer.valueOf(honorRules.getLevel()));
+ vo.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition())-count3));
+ vo.setIsTopLevel(0);
+ }else {
+ vo.setIsTopLevel(1);
+ }
+
+ studentHonors.add(vo);
+ }
+
+
+ Integer count4 = coursePackageClient.counts1(stuId);
+ if (count4>0){
+ StuMedalVo vo = new StuMedalVo();
+ vo.setMedalType(4);
+ vo.setMedalName("深度玩家");
+ //拿到当前对应的rule对象
+ List<Integer> integers = new ArrayList<>();
+ integers.add(4);
+ integers.add(count4);
+ HonorRules honorRules = honorDeClient.getHonor(integers);
+ if (count4<Integer.valueOf(honorRules.getCondition())){
+ vo.setLevelNum(Integer.valueOf(honorRules.getLevel())-1);
+ vo.setNextLevel(Integer.valueOf(honorRules.getLevel()));
+ vo.setUpgradeConditions(String.valueOf(Integer.valueOf(honorRules.getCondition())-count4));
+ vo.setIsTopLevel(0);
+ }else {
+ vo.setIsTopLevel(1);
+ }
+
+ studentHonors.add(vo);
+ }
+
+
+
+ return studentHonors;
}
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index 82a76bd..44f4d18 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -16,10 +16,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.dsh.account.dto.BindDto;
-import com.dsh.account.dto.SelectDto;
-import com.dsh.account.dto.UpdateInfoDto;
-import com.dsh.account.dto.UserInfoQueryDTO;
+import com.dsh.account.dto.*;
import com.dsh.account.entity.*;
import com.dsh.account.enums.RechargeRecordEnum;
import com.dsh.account.feignclient.activity.IntroduceRewardsClient;
@@ -46,6 +43,7 @@
import com.dsh.account.feignclient.other.model.TImgConfig;
import com.dsh.account.mapper.*;
import com.dsh.account.model.*;
+import com.dsh.account.model.AppUserByNameAndPhoneDTO;
import com.dsh.account.model.dto.Coupon;
import com.dsh.account.model.query.appUserQuery.QueryAppUser;
import com.dsh.account.model.vo.DetailsListVo;
@@ -597,6 +595,9 @@
if(tAppUser.getState() == 2){
return ResultUtil.error("您的账号已被冻结", "");
}
+ if (tAppUser.getCode()==null){
+ tAppUser.setCode(UUIDUtil.getNumberRandom(16));
+ }
tAppUser.setPassword(password);
this.updateById(tAppUser);
return ResultUtil.success();
@@ -673,7 +674,7 @@
}
@Override
- public IndexOfUserBenefirVo queryBenefitDetails(Integer appUserId) {
+ public IndexOfUserBenefirVo queryBenefitDetails(Integer appUserId,String lon,String lat) {
IndexOfUserBenefirVo benefirVo = new IndexOfUserBenefirVo();
TAppUser appUser = this.getById(appUserId);
@@ -686,7 +687,11 @@
}else {
benefirVo.setIsMember("普通用户");
}
- List<IntegralCommodity> convertibleGoods = mcClient.getConvertibleGoods();
+
+ Location location = new Location();
+ location.setLat(lat);
+ location.setLon(lon);
+ List<IntegralCommodity> convertibleGoods = mcClient.getConvertibleGoods(location);
benefirVo.setCommodities(convertibleGoods);
benefirVo.setImage(icfgClient.getImageConfig());
return benefirVo;
@@ -748,6 +753,26 @@
details.add(consumeDetail);
}
}
+
+ //2.0
+ List<CourseCounsum> courseCounsums = paymentClient.getConsumes(requestVo);
+
+ for (CourseCounsum courseCounsum : courseCounsums) {
+ ConsumeDetail consumeDetail = new ConsumeDetail();
+ String[] split = courseCounsum.getReason().split(";");
+ consumeDetail.setConsumeName(split[0]);
+ consumeDetail.setConsumeTime(simpleDateFormat.format(courseCounsum.getInsertTime()));
+// if (courseCounsum.getChangeType()==3){
+ consumeDetail.setConsumeAmount("-" + split[1]);
+ consumeDetail.setType(2);
+// }
+//
+// consumeDetail.setConsumeAmount("-" + coursePackagePayment.getAmount());
+// consumeDetail.setType(2);
+ details.add(consumeDetail);
+ }
+
+
// 4.场地预约
RequestOfTypeVo allSiteBookingList = stClient.getAllSiteBookingList(requestVo);
if (ToolUtil.isNotEmpty(allSiteBookingList.getRequest())){
@@ -758,13 +783,23 @@
consumeDetail.setConsumeAmount("-" + booking.getAmount());
consumeDetail.setConsumeTime(booking.getTime());
consumeDetail.setType(2);
+ details.add(consumeDetail);
}else {
- consumeDetail.setConsumeName(RechargeRecordEnum.CANCEL_VENUE_RESERVATION.getMsg());
- consumeDetail.setConsumeAmount("+" + booking.getAmount());
- consumeDetail.setConsumeTime(booking.getTime());
- consumeDetail.setType(1);
+ ConsumeDetail consumeDetail1 = new ConsumeDetail();
+ consumeDetail1.setConsumeName(RechargeRecordEnum.CANCEL_VENUE_RESERVATION.getMsg());
+ consumeDetail1.setConsumeAmount("+" + booking.getAmount());
+ consumeDetail1.setConsumeTime(booking.getTime());
+ consumeDetail1.setType(1);
+ details.add(consumeDetail1);
+ ConsumeDetail consumeDetail2 = new ConsumeDetail();
+ consumeDetail2.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg());
+ consumeDetail2.setConsumeAmount("-" + booking.getAmount());
+ consumeDetail2.setConsumeTime(booking.getTime1());
+ consumeDetail2.setType(1);
+ details.add(consumeDetail2);
+
}
- details.add(consumeDetail);
+// details.add(consumeDetail);
}
}
@@ -896,7 +931,8 @@
case 2:
commodity.setGoodId(vicinityGood.getId());
CoursePackage coursePackage = cpageClient.queryCoursePackageById(vicinityGood.getCoursePackageId());
- commodity.setGoodImg(coursePackage.getCoverDrawing());
+// commodity.setGoodImg(coursePackage.getCoverDrawing());
+ commodity.setGoodImg(vicinityGood.getCover());
commodity.setGoodName(coursePackage.getName());
commodity.setCondition(vicinityGood.getRedemptionMethod());
if (vicinityGood.getRedemptionMethod() == 1) {
@@ -1202,8 +1238,10 @@
@Override
@Transactional
- public ResultUtil productRedemptionOperation(Integer userIdFormRedis, GoodsExchangeVo exchangeType) {
+ public synchronized ResultUtil productRedemptionOperation(Integer userIdFormRedis, GoodsExchangeVo exchangeType) {
System.out.println("exchangeType:--->");
+
+
ReturnModel returnModel = new ReturnModel();
Long returnId = null;
@@ -1270,6 +1308,9 @@
String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
PointsMerchandise merchandise = mcClient.selectPointsMerchandiseById(exchangeType.getGoodId());
+
+
+
if (ToolUtil.isEmpty(merchandise)){
return ResultUtil.error("商品不存在");
}
@@ -1298,17 +1339,27 @@
}else {
goodsNums = exchangeType.getNums();
}
+
+ TAppUser user = appUserService.getById(userIdFormRedis);
+ if (user.getIntegral()<merchandise.getIntegral().intValue()*goodsNums){
+ return new ResultUtil<>(0,"当前用户积分不足");
+ }
+
+
AppUserGoodResp goodResp = new AppUserGoodResp();
goodResp.setAppUserId(userIdFormRedis);
goodResp.setGoodId(merchandise.getId());
int count = mcClient.queryUserHasGoodsNums(goodResp);
- if (ToolUtil.isNotEmpty(count) && count >= merchandise.getPickUpQuantity()){
+ if (ToolUtil.isNotEmpty(count) && count+exchangeType.getNums() > merchandise.getPickUpQuantity()){
return ResultUtil.error("超过限领数量");
}
int count1 = mcClient.queryUserHasGoodsNums1(goodResp);
if (ToolUtil.isNotEmpty(count1) && count1 >= merchandise.getQuantityIssued()){
return ResultUtil.error("超过发放数量");
}
+
+
+
for (int i = 0; i < goodsNums; i++) {
// 新增积分商品兑换记录
@@ -1317,7 +1368,11 @@
pointsMerchandise.setUserId(userIdFormRedis);
pointsMerchandise.setStatus(1);
pointsMerchandise.setState(1);
- pointsMerchandise.setPayStatus(1);
+ if (exchangeType.getExchangeType()==1) {
+ pointsMerchandise.setPayStatus(2);
+ }else {
+ pointsMerchandise.setPayStatus(1);
+ }
if (merchandise.getUseScope() == 3){
if (exchangeType.getGoodsType() == 2){
CoursePackage coursePackage = cpageClient.queryCoursePackageById(merchandise.getCoursePackageId());
@@ -1369,7 +1424,17 @@
packagePayment.setStatus(1);
packagePayment.setState(1);
packagePayment.setCode(code);
- paymentClient.savePaymentCoursePackage(packagePayment);
+// paymentClient.savePaymentCoursePackage(packagePayment);
+
+ OrderDto orderDto = new OrderDto();
+ orderDto.setAppUserId(userIdFormRedis);
+ String joinedString = String.join(",", exchangeType.getStuIds().stream().map(Object::toString).collect(Collectors.toList()));
+ orderDto.setStuIds(joinedString);
+ orderDto.setClassId(merchandise.getCoursePackageId());
+ orderDto.setClassHours(packagePayment.getClassHours());
+ paymentClient.orderClass(orderDto);
+
+
}
break;
case 4:
@@ -1460,7 +1525,7 @@
UserIntegralChanges userIntegralChanges = new UserIntegralChanges();
userIntegralChanges.setAppUserId(appUserId);
userIntegralChanges.setOldIntegral(appUser.getIntegral());
- userIntegralChanges.setType(2);
+ userIntegralChanges.setType(5);
appUser.setIntegral(null == appUser.getIntegral() ? points : appUser.getIntegral() - points);
userIntegralChanges.setNewIntegral(appUser.getIntegral());
userIntegralChanges.setInsertTime(new Date());
@@ -1476,7 +1541,7 @@
private ResultUtil AlipayPayment(BigDecimal cash, String code,Long returnId) {
System.out.println("金额:"+cash);
- ResultUtil alipay = payMoneyUtil.alipay("课包续费", "课包续费", String.valueOf(returnId), code, cash.toString(),
+ ResultUtil alipay = payMoneyUtil.alipay("优惠卷", "优惠卷", String.valueOf(returnId), code, cash.toString(),
"/base/pointMer/exchangeGoodPaymentAliCallback");
if(alipay.getCode() == 200){
new Thread(new Runnable() {
@@ -1511,20 +1576,24 @@
String tradeNo = resultUtil.getTradeNo();
String tradeStatus = resultUtil.getTradeStatus();
System.out.println("ssssss"+tradeStatus);
- if("REFUND".equals(tradeStatus) || "NOTPAY".equals(tradeStatus) || "CLOSED".equals(tradeStatus) || "REVOKED".equals(tradeStatus) || "PAYERROR".equals(tradeStatus) || num == 10){
- mcClient.deletePaymentRecord(code);
- break;
- }
+
if("TRADE_SUCCESS".equals(tradeStatus)){
for (UserPointsMerchandise userPointsMerchandise : userPointsMerchandises) {
userPointsMerchandise.setPayStatus(2);
userPointsMerchandise.setOrderNumber(tradeNo);
userPointsMerchandise.setPayType(2);
+ userPointsMerchandise.setInsertTime(null);
+ userPointsMerchandise.setUserId(null);
mcClient.updateDetailsUserPointMercase(userPointsMerchandise);
}
moneyOut(tradeNo,tradeNo);
break;
}
+// if("REFUND".equals(tradeStatus) || "NOTPAY".equals(tradeStatus) || "CLOSED".equals(tradeStatus) || "REVOKED".equals(tradeStatus) || "PAYERROR".equals(tradeStatus) || num == 10){
+// mcClient.deletePaymentRecord(code);
+// break;
+// }
+
if("WAIT_BUYER_PAY".equals(tradeStatus)){
num++;
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
index c9fef86..273b33a 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
@@ -237,102 +237,106 @@
public List<PurchaseRecordVo> queryDeduRecordDetails(RecordTimeRequest timeRequest,Integer appUserId) {
List<PurchaseRecordVo> purchaseRecordVoList = new ArrayList<>();
String time = timeRequest.getTime();
- Date monthStart = null;
- Date monthEnd = null;
- if (StringUtils.hasText(time)) {
- monthStart = DateTimeHelper.getCurrentIdetMouthStart(time);
- monthEnd = DateTimeHelper.getCurrentIdeaMouthEnd(time);
- } else {
- monthStart = DateTimeHelper.getCurrentMouthStart();
- monthEnd = DateTimeHelper.getCurrentMouthEnd();
- }
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");
- Date startTime = DateTimeHelper.getCurrentIdetMouthStart(simpleDateFormat.format(monthStart));
- Date endTime = DateTimeHelper.getCurrentIdeaMouthEnd(simpleDateFormat.format(monthEnd));
- GetStuSourseList getStuSourseList = new GetStuSourseList();
- getStuSourseList.setStartTime(startTime);
- getStuSourseList.setEndTime(endTime);
- getStuSourseList.setAppUserId(appUserId);
- // 报名赛事
- List<PurchaseRecordVo> stuSourseList = dcttClient.getStuSourseList(getStuSourseList);
- purchaseRecordVoList.addAll(stuSourseList);
+ List<PurchaseRecordVo> record1 = sessionNameClient.getRecord(timeRequest);
- GetStuSessionList sessionList = new GetStuSessionList();
- sessionList.setStartTime(startTime);
- sessionList.setEndTime(endTime);
- sessionList.setStuId(timeRequest.getStuId());
- sessionList.setAppUserId(appUserId);
- List<PurchaseRecordVo> cancelCourseList = cancelcClient.getCancelCourseList(sessionList);
-
- purchaseRecordVoList.addAll(cancelCourseList);
- GetStuSessionList getStuSessionList = new GetStuSessionList();
- getStuSessionList.setStartTime(startTime);
- getStuSessionList.setEndTime(endTime);
- getStuSessionList.setStuId(timeRequest.getStuId());
- getStuSessionList.setAppUserId(appUserId);
- // 购买课包
- List<PurchaseRecordVo> purchaseRecordVos = sessionNameClient.queryCourseDetails(getStuSessionList);
- purchaseRecordVoList.addAll(purchaseRecordVos);
- List<TAppUser> tAppUsers = tauMapper.selectList(new QueryWrapper<TAppUser>()
- .eq("referralUserId",appUserId )
- .between("insertTime",startTime ,endTime));
- if (ToolUtil.isNotEmpty(tAppUsers)){
- List<Integer> userIds = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList());
- IntrduceOfUserRequest request = new IntrduceOfUserRequest();
- request.setStartTime(startTime);
- request.setEndTime(endTime);
- request.setUserIds(userIds);
- // 介绍有礼
- List<PurchaseRecordVo> purchaseRecordVos1 = idrClient.queryAppUsersofIntroduce(request);
- purchaseRecordVoList.addAll(purchaseRecordVos1);
- }
-
- LambdaQueryWrapper<TCourseInfoRecord> eq = new LambdaQueryWrapper<TCourseInfoRecord>().eq(TCourseInfoRecord::getUserId, appUserId);
- if(timeRequest.getType()!=null){
- eq.eq(TCourseInfoRecord::getType,timeRequest.getType());
- }
- if (timeRequest.getLessionId()!=null){
- eq.eq(TCourseInfoRecord::getCourseId,timeRequest.getLessionId());
-
- }
- // 2.0其他记录
- List<TCourseInfoRecord> list = courseInfoRecordService.list(eq);
- List<PurchaseRecordVo> list1=new ArrayList<>();
- for (TCourseInfoRecord tCourseInfoRecord : list) {
- PurchaseRecordVo purchaseRecordVo = new PurchaseRecordVo();
- purchaseRecordVo.setPurchaseTime(new SimpleDateFormat("MM-dd HH:mm").format(tCourseInfoRecord.getTime()));
- purchaseRecordVo.setPurchaseType(tCourseInfoRecord.getName());
- if(tCourseInfoRecord.getType()==1){
- purchaseRecordVo.setPurchaseAmount("+"+tCourseInfoRecord.getNum());
- }else {
- purchaseRecordVo.setPurchaseAmount("-"+tCourseInfoRecord.getNum());
- }
- list1.add(purchaseRecordVo);
- }
- purchaseRecordVoList.addAll(list1);
-
- if (purchaseRecordVoList.size() > 0 ){
- purchaseRecordVoList = purchaseRecordVoList.stream()
- .filter(record -> {
- String fieldValue = record.getPurchaseAmount();
- if (ToolUtil.isNotEmpty(timeRequest.getType())){
- switch (timeRequest.getType()){
- case 2:
- return fieldValue != null && !fieldValue.isEmpty() && fieldValue.charAt(0) == '-';
- case 1:
- return fieldValue != null && !fieldValue.isEmpty() && fieldValue.charAt(0) == '+';
- default:
- break;
- }
- }
- return true;
- })
- .collect(Collectors.toList());
- }
-
- purchaseRecordVoList = dealDataOfTime(purchaseRecordVoList);
- return purchaseRecordVoList;
+//
+// Date monthStart = null;
+// Date monthEnd = null;
+// if (StringUtils.hasText(time)) {
+// monthStart = DateTimeHelper.getCurrentIdetMouthStart(time);
+// monthEnd = DateTimeHelper.getCurrentIdeaMouthEnd(time);
+// } else {
+// monthStart = DateTimeHelper.getCurrentMouthStart();
+// monthEnd = DateTimeHelper.getCurrentMouthEnd();
+// }
+//
+// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");
+// Date startTime = DateTimeHelper.getCurrentIdetMouthStart(simpleDateFormat.format(monthStart));
+// Date endTime = DateTimeHelper.getCurrentIdeaMouthEnd(simpleDateFormat.format(monthEnd));
+// GetStuSourseList getStuSourseList = new GetStuSourseList();
+// getStuSourseList.setStartTime(startTime);
+// getStuSourseList.setEndTime(endTime);
+// getStuSourseList.setAppUserId(appUserId);
+// // 报名赛事
+// List<PurchaseRecordVo> stuSourseList = dcttClient.getStuSourseList1(getStuSourseList);
+// purchaseRecordVoList.addAll(stuSourseList);
+//
+// GetStuSessionList sessionList = new GetStuSessionList();
+// sessionList.setStartTime(startTime);
+// sessionList.setEndTime(endTime);
+// sessionList.setStuId(timeRequest.getStuId());
+// sessionList.setAppUserId(appUserId);
+// List<PurchaseRecordVo> cancelCourseList = cancelcClient.getCancelCourseList(sessionList);
+//
+// purchaseRecordVoList.addAll(cancelCourseList);
+// GetStuSessionList getStuSessionList = new GetStuSessionList();
+// getStuSessionList.setStartTime(startTime);
+// getStuSessionList.setEndTime(endTime);
+// getStuSessionList.setStuId(timeRequest.getStuId());
+// getStuSessionList.setAppUserId(appUserId);
+// // 购买课包
+// List<PurchaseRecordVo> purchaseRecordVos = sessionNameClient.queryCourseDetails(getStuSessionList);
+// purchaseRecordVoList.addAll(purchaseRecordVos);
+// List<TAppUser> tAppUsers = tauMapper.selectList(new QueryWrapper<TAppUser>()
+// .eq("referralUserId",appUserId )
+// .between("insertTime",startTime ,endTime));
+// if (ToolUtil.isNotEmpty(tAppUsers)){
+// List<Integer> userIds = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList());
+// IntrduceOfUserRequest request = new IntrduceOfUserRequest();
+// request.setStartTime(startTime);
+// request.setEndTime(endTime);
+// request.setUserIds(userIds);
+// // 介绍有礼
+// List<PurchaseRecordVo> purchaseRecordVos1 = idrClient.queryAppUsersofIntroduce(request);
+// purchaseRecordVoList.addAll(purchaseRecordVos1);
+// }
+//
+// LambdaQueryWrapper<TCourseInfoRecord> eq = new LambdaQueryWrapper<TCourseInfoRecord>().eq(TCourseInfoRecord::getUserId, appUserId);
+// if(timeRequest.getType()!=null){
+// eq.eq(TCourseInfoRecord::getType,timeRequest.getType());
+// }
+// if (timeRequest.getLessionId()!=null){
+// eq.eq(TCourseInfoRecord::getCourseId,timeRequest.getLessionId());
+//
+// }
+// // 2.0其他记录
+// List<TCourseInfoRecord> list = courseInfoRecordService.list(eq);
+// List<PurchaseRecordVo> list1=new ArrayList<>();
+// for (TCourseInfoRecord tCourseInfoRecord : list) {
+// PurchaseRecordVo purchaseRecordVo = new PurchaseRecordVo();
+// purchaseRecordVo.setPurchaseTime(new SimpleDateFormat("MM-dd HH:mm").format(tCourseInfoRecord.getTime()));
+// purchaseRecordVo.setPurchaseType(tCourseInfoRecord.getName());
+// if(tCourseInfoRecord.getType()==1){
+// purchaseRecordVo.setPurchaseAmount("+"+tCourseInfoRecord.getNum());
+// }else {
+// purchaseRecordVo.setPurchaseAmount("-"+tCourseInfoRecord.getNum());
+// }
+// list1.add(purchaseRecordVo);
+// }
+// purchaseRecordVoList.addAll(list1);
+//
+// if (purchaseRecordVoList.size() > 0 ){
+// purchaseRecordVoList = purchaseRecordVoList.stream()
+// .filter(record -> {
+// String fieldValue = record.getPurchaseAmount();
+// if (ToolUtil.isNotEmpty(timeRequest.getType())){
+// switch (timeRequest.getType()){
+// case 2:
+// return fieldValue != null && !fieldValue.isEmpty() && fieldValue.charAt(0) == '-';
+// case 1:
+// return fieldValue != null && !fieldValue.isEmpty() && fieldValue.charAt(0) == '+';
+// default:
+// break;
+// }
+// }
+// return true;
+// })
+// .collect(Collectors.toList());
+// }
+//
+// purchaseRecordVoList = dealDataOfTime(purchaseRecordVoList);
+ return record1;
}
@Override
@@ -612,6 +616,11 @@
coursePackagePayment.setLaveClassHours(hour);
coursePackagePayment.setOrderNumber(tradeNo);
couPayClient.updatePaymentCoursePackage(coursePackagePayment);
+
+
+
+
+
break;
}
if("WAIT_BUYER_PAY".equals(tradeStatus)){
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
index a68839c..4869ee0 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
@@ -89,6 +89,11 @@
detail.setConsumeName("观看教学视频");
detail.setDetailsType(2);
break;
+ case 5:
+ detail.setConsumeAmount(""+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
+ detail.setConsumeName("智慧球场开始游戏");
+ detail.setDetailsType(1);
+ break;
default:
break;
}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
index 2f50270..e0804f2 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -44,6 +44,8 @@
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
+import io.swagger.models.auth.In;
+import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -180,6 +182,35 @@
}
+ @Autowired
+ private UserCouponService userCouponService;
+ @ResponseBody
+ @PostMapping("/coupon/queryCouponByUid")
+ public List<Coupon> queryCouponByUid(@RequestBody Integer uid){
+ try {
+ LocalDateTime currentTime = LocalDateTime.now();
+ LocalDateTime oneMinuteAgo = currentTime.minusSeconds(20);
+
+ List<UserCoupon> list = userCouponService.list(new QueryWrapper<UserCoupon>().eq("userId", uid).ge("insertTime", oneMinuteAgo));
+ List<Integer> ids = new ArrayList<>();
+ for (UserCoupon userCoupon : list) {
+ ids.add(userCoupon.getCouponId());
+ }
+
+ if (ids.size()>0){
+ List<Coupon> userId = couponService.list(new QueryWrapper<Coupon>().in("id",ids));
+ return userId;
+
+ }
+
+ return null;
+ }catch (Exception e){
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+
/**
* 我的券包列表
* @param req
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java
index 4e7ea76..0f9268d 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java
@@ -118,7 +118,7 @@
@PostMapping("/base/introduce/getGiftList")
public Integer getGiftList(@RequestBody String cityCode){
- List<IntroduceRewards> list = idrService.list(new LambdaQueryWrapper<IntroduceRewards>().eq(IntroduceRewards::getCityCode,cityCode).ge(IntroduceRewards::getStartTime,new Date()).le(IntroduceRewards::getEndTime,new Date()));
+ List<IntroduceRewards> list = idrService.list(new LambdaQueryWrapper<IntroduceRewards>().eq(IntroduceRewards::getCityCode,cityCode).le(IntroduceRewards::getStartTime,new Date()).ge(IntroduceRewards::getEndTime,new Date()));
int sum = list.stream().mapToInt(IntroduceRewards::getGiveClass).sum();
return sum;
}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index 3b04617..d1248d5 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -27,6 +27,7 @@
import com.dsh.activity.util.StrUtils;
import com.dsh.activity.util.TokenUtil;
import com.dsh.activity.util.ToolUtil;
+import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -271,11 +272,24 @@
@ResponseBody
@PostMapping("/base/pointMerchars/convertGoods")
- public List<IntegralCommodity> getConvertibleGoods(){
+ public List<IntegralCommodity> getConvertibleGoods(@RequestBody Location location) throws Exception {
List<IntegralCommodity> commodity = new ArrayList<>();
+
+ Map<String, String> geocode = gdMapGeocodingUtil.geocode(location.getLon(), location.getLat());
+ String provinceCode = geocode.get("provinceCode");
+ String cityCode = geocode.get("cityCode");
+
+
+ List<PointsMerchandiseCity> cityCode1 = pmdsCityService.list(new QueryWrapper<PointsMerchandiseCity>().eq("cityCode", cityCode));
+ List<Integer> cIds = new ArrayList<>();
+ for (PointsMerchandiseCity pointsMerchandiseCity : cityCode1) {
+ cIds.add(pointsMerchandiseCity.getPointsMerchandiseId());
+ }
+
+
List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>()
.eq("state",1)
- .eq("shelves",1)
+ .eq("shelves",1).in("id",cIds)
.gt("endTime",new Date()));
if (merchandises.size() > 0){
for (PointsMerchandise merchandise : merchandises) {
@@ -558,10 +572,13 @@
// detailsVo.setGoodId(coursePackage.getId());
detailsVo.setGoodId(merchandise.getId());
- List<String> list1 = new ArrayList<>();
- list1.add(coursePackage.getCoverDrawing());
- list1.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ",")));
- detailsVo.setPics(list1);
+// List<String> list1 = new ArrayList<>();
+// list1.add(coursePackage.getCoverDrawing());
+// list1.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ",")));
+
+ String productImages = merchandise.getProductImages();
+ String[] list1 = productImages.split(",");
+ detailsVo.setPics(Arrays.asList(list1));
Collections.sort(detailsVo.getPics(), (s1, s2) -> {
if (s1.equals(coursePackage.getCoverDrawing())) {
return -1; // s1排在前面
@@ -751,12 +768,17 @@
List<ExchangeDetailsResponse> responses = new ArrayList<>();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
List<UserPointsMerchandise> pointsMerchandises = upmseService.list(new QueryWrapper<UserPointsMerchandise>()
- .eq("userId",appUserId ));
+ .eq("userId",appUserId ).eq("payStatus",2));
- List<UserCoupon> userCoupons = userCouponService.list(new QueryWrapper<UserCoupon>().eq("userId", appUserId));
-
-
+ List<Coupon> list1 = couponService.list();
+ List<Integer> ids = new ArrayList<>();
+ for (Coupon coupon : list1) {
+ if (coupon.getDistributionMethod()==1) {
+ ids.add(coupon.getId());
+ }
+ }
+ List<UserCoupon> userCoupons = userCouponService.list(new QueryWrapper<UserCoupon>().eq("userId", appUserId).in("couponId",ids));
if (pointsMerchandises.size() > 0 ){
for (UserPointsMerchandise pointsMerchandise : pointsMerchandises) {
PointsMerchandise merchandise = pmdsService.getById(pointsMerchandise.getPointsMerchandiseId());
@@ -910,8 +932,9 @@
if (userCoupons.size()>0){
for (UserCoupon userCoupon : userCoupons) {
+
Coupon c = couponService.getById(userCoupon.getCouponId());
- if (c==null){
+ if (c==null|| c.getRedemptionMethod()==null){
continue;
}
@@ -1219,7 +1242,9 @@
@PostMapping("/base/pointMerchars/updateDetailsUserPointMercase")
- public void updateDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise){
+ public void updateDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise){
+ merchandise.setUserId(null);
+ merchandise.setPointsMerchandiseId(null);
upmseService.updateById(merchandise);
}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/Location.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/Location.java
new file mode 100644
index 0000000..79a1a99
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/Location.java
@@ -0,0 +1,9 @@
+package com.dsh.activity.entity;
+
+import lombok.Data;
+
+@Data
+public class Location {
+ private String lon;
+ private String lat;
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java
index 1399bb6..7cb4659 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/BenefitsVideosMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/BenefitsVideosMapper.java
index a5a0b7d..255938d 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/BenefitsVideosMapper.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/BenefitsVideosMapper.java
@@ -24,12 +24,12 @@
* 获取福利课程列表
* @param uid
* @param classificationId
- * @param pageSize
- * @param pageNo
+ * @param offset
+ * @param limit
* @return
*/
List<Map<String, Object>> queryBenefitsVideosList(@Param("uid") Integer uid, @Param("classificationId") Integer classificationId,
- @Param("ids") List<Integer> ids, @Param("pageSize") Integer pageSize, @Param("pageNo") Integer pageNo);
+ @Param("ids") List<Integer> ids, @Param("offset") Integer offset, @Param("limit") Integer limit);
List<BenefitsVideos> getBenefitVideoById(@Param("id")Integer id);
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java
index a287320..7e01224 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java
@@ -88,7 +88,7 @@
if (collect.size() > 0) {
benefitsVideosQueryWrapper.notIn("id", collect);
}
- List<BenefitsVideos> list1 = this.list(benefitsVideosQueryWrapper.orderByDesc("insertTime").last(" limit 0, 4"));
+ List<BenefitsVideos> list1 = this.list(benefitsVideosQueryWrapper.eq("state",1).orderByDesc("insertTime").last(" limit 0, 4"));
List<BenefitsVideosListVo> lists = new ArrayList<>();
for (BenefitsVideos benefitsVideos : list1) {
if (benefitsVideos.getState()==1) {
@@ -155,8 +155,11 @@
List<Course> courses = courseClient.queryCourseByName(search);
ids = courses.stream().map(Course::getId).collect(Collectors.toList());
}
+ int offset = (pageNo - 1) * pageSize;
+ int limit = pageSize;
- List<Map<String, Object>> benefitsVideos = this.baseMapper.queryBenefitsVideosList(uid, classificationId, ids, pageSize, pageNo);
+
+ List<Map<String, Object>> benefitsVideos = this.baseMapper.queryBenefitsVideosList(uid, classificationId, ids, offset, limit);
List<BenefitsVideosListVo> lists = new ArrayList<>();
for (Map<String, Object> benefitsVideo : benefitsVideos) {
Integer id = Integer.valueOf(benefitsVideo.get("id").toString());
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserCouponServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserCouponServiceImpl.java
index ad19807..b66d838 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserCouponServiceImpl.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserCouponServiceImpl.java
@@ -104,12 +104,12 @@
if(price.compareTo(num1) < 0){
continue;
}
- couponListVo.setUseCondition("满" + num1 + "元可用");
+ couponListVo.setUseCondition("满¥" + num1 + "元可用");
couponListVo.setFavorable(jsonObject.getString("deductionAmount"));
}
if (type == 2) {//代金券{"num1":1}
JSONObject jsonObject = JSON.parseObject(content);
- Double num1 = jsonObject.getDouble("deductionAmount");
+ Double num1 = jsonObject.getDouble("conditionalAmount");
if(num1==null){
num1=0d;
}
diff --git a/cloud-server-activity/src/main/resources/mapper/BenefitsVideosMapper.xml b/cloud-server-activity/src/main/resources/mapper/BenefitsVideosMapper.xml
index 1b6d0b3..055328d 100644
--- a/cloud-server-activity/src/main/resources/mapper/BenefitsVideosMapper.xml
+++ b/cloud-server-activity/src/main/resources/mapper/BenefitsVideosMapper.xml
@@ -39,6 +39,7 @@
</foreach>
</if>
order by insertTime desc)
+ LIMIT #{limit} OFFSET #{offset}
</select>
<select id="getBenefitVideoById" resultType="com.dsh.activity.entity.BenefitsVideos">
select * from t_benefits_videos where
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
index 3424582..c10e832 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -281,7 +281,11 @@
public ResultUtil<List<CompetitionListVo>> queryCompetitionList(String cityCode, String content, Integer registerCondition, String heat){
try {
List<CompetitionListVo> competitionListVos = cttService.queryCompetitionList(cityCode, content, registerCondition, heat);
- return ResultUtil.success(competitionListVos);
+ List<CompetitionListVo> filteredList = competitionListVos.stream()
+ .filter(vo -> vo.getStatus() == 1 || vo.getStatus() == 2)
+ .collect(Collectors.toList());
+
+ return ResultUtil.success(filteredList);
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
@@ -306,6 +310,19 @@
return ResultUtil.tokenErr();
}
CompetitionInfo competitionInfo = cttService.queryCompetitionInfo(uid, id, lon, lat);
+
+
+ String dateString = competitionInfo.getRegisterEndTime();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ Date date = sdf.parse(dateString);
+ if (new Date().after(date)){
+ competitionInfo.setHasPass(1);
+ }else {
+ competitionInfo.setHasPass(0);
+
+ }
+
+
return ResultUtil.success(competitionInfo);
}catch (Exception e){
e.printStackTrace();
@@ -345,7 +362,7 @@
return ResultUtil.tokenErr();
}
if (byId.getRegisterCondition()==3){
- Integer counts = coursePackagePaymentClient.isHave(uid);
+ Integer counts = coursePackagePaymentClient.isHave(paymentCompetitionVo.getIds());
if (counts==0){
return new ResultUtil(0,"当前赛事仅限已购课学员报名");
}
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java
index fd5049b..3566d7d 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java
@@ -1,5 +1,7 @@
package com.dsh.competition.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.dsh.competition.entity.UserCompetition;
import com.dsh.competition.feignclient.account.AppUserClient;
import com.dsh.competition.feignclient.account.StudentClient;
import com.dsh.competition.feignclient.account.model.AppUser;
@@ -10,6 +12,7 @@
import com.dsh.competition.model.ParticipantVo;
import com.dsh.competition.model.SaveParticipant;
import com.dsh.competition.service.IParticipantService;
+import com.dsh.competition.service.UserCompetitionService;
import com.dsh.competition.util.ResultUtil;
import com.dsh.competition.util.TokenUtil;
import io.swagger.annotations.ApiImplicitParam;
@@ -175,4 +178,14 @@
e.printStackTrace();
}
}
+
+ @Autowired
+ private UserCompetitionService userCompetitionService;
+
+
+ @ResponseBody
+ @PostMapping("/participant/counts")
+ public Integer counts(@RequestBody Integer stuId){
+ return userCompetitionService.count(new QueryWrapper<UserCompetition>().eq("participantId",stuId));
+ }
}
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/course/CoursePackagePaymentClient.java b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/course/CoursePackagePaymentClient.java
index 57365cc..04dd720 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/course/CoursePackagePaymentClient.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/course/CoursePackagePaymentClient.java
@@ -47,6 +47,5 @@
List<PayCourseRes> paymentCompetitionCourseList(String s);
@PostMapping("/coursePackagePayment/isHave")
-
- Integer isHave(Integer uid);
+ Integer isHave(String ids);
}
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/mapper/CompetitionMapper.java b/cloud-server-competition/src/main/java/com/dsh/competition/mapper/CompetitionMapper.java
index 9c34c67..9f9a335 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/mapper/CompetitionMapper.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/mapper/CompetitionMapper.java
@@ -39,4 +39,5 @@
void taskSetStatusEnd();
+ Integer counts(@Param("id")Long id);
}
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/model/CompetitionInfo.java b/cloud-server-competition/src/main/java/com/dsh/competition/model/CompetitionInfo.java
index bd251ec..213c2c0 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/model/CompetitionInfo.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/model/CompetitionInfo.java
@@ -68,6 +68,11 @@
private Double payMoney;
@ApiModelProperty("支付方式(1=微信,2=支付宝,3=玩湃币,4=课时)")
private Integer payType;
+ @ApiModelProperty("是否需要实名(0=否,1=是)")
+ private Integer isReal;
@ApiModelProperty("门店信息")
private List<Map<String,Object>> storeInfos;
+
+ @ApiModelProperty("是否已过报名时间0否,1是")
+ private Integer hasPass;
}
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java
index ea7864c..25847f2 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java
@@ -97,7 +97,10 @@
public List<CompetitionListVo> queryCompetitionList(String cityCode, String content, Integer registerCondition, String heat) throws Exception {
List<CompetitionListVo> competitionListVos = this.baseMapper.queryCompetitionList(cityCode, content, registerCondition, heat);
-
+ for (CompetitionListVo competitionListVo : competitionListVos) {
+ Integer counts = this.baseMapper.counts(competitionListVo.getId());
+ competitionListVo.setHeat(competitionListVo.getHeat()+counts);
+ }
return competitionListVos;
@@ -124,7 +127,6 @@
// 2.0
ArrayList<Map<String,Object>> objects = new ArrayList<>();
if(null != competition.getStoreId()){
-
String storeId = competition.getStoreId();
for (String s : storeId.split(",")) {
HashMap<String, Object> map = new HashMap<>();
@@ -159,6 +161,7 @@
competitionInfo.setRegisterEndTime(sdf.format(competition.getRegisterEndTime()));
competitionInfo.setStartTime(sdf.format(competition.getStartTime()));
+ competitionInfo.setIsReal(competition.getRealName());
competitionInfo.setEndTime(sdf.format(competition.getEndTime()));
competitionInfo.setAge(competition.getStartAge() + "-" + competition.getEndAge());
competitionInfo.setProvince(competition.getProvince());
@@ -292,7 +295,7 @@
paymentCompetition.setPayOrderNo("");
paymentCompetitionService.updateById(paymentCompetition);
- competition.setApplicantsNumber(competition.getApplicantsNumber() + 1);
+// competition.setApplicantsNumber(competition.getApplicantsNumber() + 1);
this.updateById(competition);
}
if(paymentCompetitionVo.getPayType() == 4){//课程
diff --git a/cloud-server-competition/src/main/resources/mapper/CompetitionMapper.xml b/cloud-server-competition/src/main/resources/mapper/CompetitionMapper.xml
index 3ea04a5..ff7613c 100644
--- a/cloud-server-competition/src/main/resources/mapper/CompetitionMapper.xml
+++ b/cloud-server-competition/src/main/resources/mapper/CompetitionMapper.xml
@@ -13,8 +13,8 @@
aa.introduction,
aa.registerEndTime,
aa.age,
- (aa.baseNumber+aa.userCompetitionCount) as heat,
- aa.status
+ aa.status,
+ aa.heat
from (
SELECT
a.id,
@@ -23,10 +23,10 @@
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,
- COUNT(uc.competitionId) AS userCompetitionCount,
CASE
WHEN NOW() < a.startTime THEN 1 -- 未开始
WHEN now() between a.startTime and a.endTime THEN 2 -- 进行中
@@ -34,11 +34,8 @@
END AS status
FROM
t_competition a
- LEFT JOIN
- t_user_competition5 uc ON a.id = uc.competitionId
WHERE
a.auditStatus = 2
- AND a.`status` IN (1, 2)
AND a.state = 1
<if test="null != cityCode and '' != cityCode">
and a.cityCode = #{cityCode}
@@ -56,6 +53,10 @@
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">
diff --git a/cloud-server-competition/src/main/resources/mapper/PaymentCompetitionMapper.xml b/cloud-server-competition/src/main/resources/mapper/PaymentCompetitionMapper.xml
index afed275..a5c2c8c 100644
--- a/cloud-server-competition/src/main/resources/mapper/PaymentCompetitionMapper.xml
+++ b/cloud-server-competition/src/main/resources/mapper/PaymentCompetitionMapper.xml
@@ -37,7 +37,7 @@
SELECT DATE_FORMAT(insertTime, '%m-%d %H:%i')as `time`,
amount
from t_payment_competition
- where payStatus = 2 and payType in (1,2)
+ 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>
@@ -46,7 +46,7 @@
</if>
</select>
<select id="queryCancelDatas" resultType="com.dsh.competition.feignclient.model.BillingRequest">
- SELECT DATE_FORMAT(insertTime, '%m-%d %H:%i')as `time`,
+ SELECT DATE_FORMAT(refundTime, '%m-%d %H:%i')as `time`,
amount
from t_payment_competition
where payStatus = 3 and payType in (1,2)
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java
index e8bae42..a12c499 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java
@@ -1,10 +1,7 @@
package com.dsh.course.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.dsh.course.entity.CancelledClasses;
-import com.dsh.course.entity.CoursePackageScheduling;
-import com.dsh.course.entity.TCoursePackage;
-import com.dsh.course.entity.TCoursePackagePayment;
+import com.dsh.course.entity.*;
import com.dsh.course.feignclient.account.AppUserClient;
import com.dsh.course.feignclient.account.CoachClient;
import com.dsh.course.feignclient.account.StudentClient;
@@ -125,6 +122,9 @@
return result;
}
+
+ @Autowired
+ private CourseCounsumService courseCounsumService;
/**
* 添加数据
* @param cancelledClasses
@@ -133,6 +133,15 @@
@PostMapping("/cancelledClasses/addCancelledClasses")
public void addCancelledClasses(@RequestBody CancelledClasses cancelledClasses){
cancelledClassesService.save(cancelledClasses);
+
+ TCoursePackagePayment byId = coursePackagePaymentService.getById(cancelledClasses.getCoursePackagePaymentId());
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(byId.getId());
+ courseCounsum.setChangeType(0);
+ courseCounsum.setNum(byId.getClassHours());
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("消课");
+ courseCounsumService.save(courseCounsum);
}
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java
index 9e1ff4b..44e1514 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java
@@ -2,10 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.dsh.course.entity.CoursePackagePaymentConfig;
-import com.dsh.course.entity.TCoursePackage;
-import com.dsh.course.entity.TCoursePackagePayment;
-import com.dsh.course.entity.TCoursePackageType;
+import com.dsh.course.entity.*;
import com.dsh.course.feignclient.model.StoreOfCourseVo;
import com.dsh.course.feignclient.other.StoreClient;
import com.dsh.course.feignclient.other.model.Store;
@@ -14,10 +11,7 @@
import com.dsh.course.model.QueryExamineCoursePackageLists;
import com.dsh.course.model.vo.response.Details;
import com.dsh.course.model.vo.response.ExchangeCoursePackageResponse;
-import com.dsh.course.service.ICoursePackagePaymentConfigService;
-import com.dsh.course.service.TCoursePackageDiscountService;
-import com.dsh.course.service.TCoursePackagePaymentService;
-import com.dsh.course.service.TCoursePackageService;
+import com.dsh.course.service.*;
import com.dsh.course.util.PageFactory;
import com.dsh.course.util.ResultUtil;
import com.dsh.course.util.TokenUtil;
@@ -129,6 +123,27 @@
return packagePaymentService.listStoreId(code);
}
+
+@Autowired
+private CoursePackageStudentService coursePackageStudentService;
+
+ @Autowired
+ private UserVideoDetailsService userVideoDetailsService;
+
+
+ @ResponseBody
+ @PostMapping("/base/coursePackage/counts")
+ public Integer counts(@RequestBody Integer stuId){
+ return coursePackageStudentService.count(new QueryWrapper<CoursePackageStudent>().eq("signInOrNot",1).eq("studentId",stuId));
+
+ }
+
+ @ResponseBody
+ @PostMapping("/base/coursePackage/counts1")
+ public Integer counts1(@RequestBody Integer stuId){
+ return userVideoDetailsService.count(new QueryWrapper<UserVideoDetails>().eq("appUserId",stuId)) ;
+
+ }
/**
* 根据id获取课包
*/
@@ -210,6 +225,7 @@
courseVo.setCourseId(coursePackage.getId());
courseVo.setName(coursePackage.getName()+"(" + store.getName() + ")");
courseVo.setClassStartTime(coursePackage.getClassStartTime() +"-"+ coursePackage.getClassEndTime());
+ courseVo.setCoverDrawing(coursePackage.getCoverDrawing());
courseVo.setApplicantsNumber(count);
List<CoursePackagePaymentConfig> list1 = icppconfigService.list(new QueryWrapper<CoursePackagePaymentConfig>()
.eq("coursePackageId",coursePackage.getId()));
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
index 8834457..7184451 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -430,7 +430,7 @@
Student student = studentClient.queryStudentById(stuId);
List<TCoursePackagePayment> byUserId = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
.eq("appUserId",student.getAppUserId())
- .eq("studentId",stuId));
+ .eq("studentId",stuId).eq("payStatus",2));
if (byUserId.size() > 0 ){
for (TCoursePackagePayment tCoursePackagePayment : byUserId) {
@@ -570,6 +570,62 @@
}
+ @Autowired
+ private CourseCounsumService courseCounsumService;
+
+ @Autowired
+ private TCoursePackagePaymentService coursePackagePaymentService;
+
+ @PostMapping("/base/coursePack/getRecord")
+ public List<PurchaseRecordVo> getRecord(@RequestBody RecordTimeRequest recordTimeRequest) {
+ List<TCoursePackagePayment> list = new ArrayList<>();
+ Integer [] changes = {1,0};
+ if (recordTimeRequest.getType()==null) {
+ list = coursePackagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime"));
+ }else {
+
+ list = coursePackagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime"));
+
+ }
+ List<Long> ids = new ArrayList<>();
+ for (TCoursePackagePayment coursePackagePayment : list) {
+ ids.add(coursePackagePayment.getId());
+ }
+
+
+
+ QueryWrapper<CourseCounsum> in = new QueryWrapper<CourseCounsum>().in("paymentId", ids).in("changeType", changes);
+
+ if (recordTimeRequest.getType()!=null){
+ if (recordTimeRequest.getType()==2){
+ recordTimeRequest.setType(0);
+ }
+ in.eq("changeType",recordTimeRequest.getType());
+ }
+ List<CourseCounsum> paymentId = courseCounsumService.list(in);
+ List<PurchaseRecordVo> recordVos =new ArrayList<>();
+ for (CourseCounsum courseCounsum : paymentId) {
+ PurchaseRecordVo purchaseRecordVo = new PurchaseRecordVo();
+ if (courseCounsum.getChangeType() == 0) {
+ purchaseRecordVo.setPurchaseAmount("-" + courseCounsum.getNum());
+ purchaseRecordVo.setPurchaseType(courseCounsum.getReason());
+ SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm");
+ String formattedDate = sdf.format(courseCounsum.getInsertTime());
+ purchaseRecordVo.setPurchaseTime(formattedDate);
+ } else {
+ purchaseRecordVo.setPurchaseAmount("+" + courseCounsum.getNum());
+ purchaseRecordVo.setPurchaseType(courseCounsum.getReason());
+ SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm");
+ String formattedDate = sdf.format(courseCounsum.getInsertTime());
+ purchaseRecordVo.setPurchaseTime(formattedDate);
+ }
+ recordVos.add(purchaseRecordVo);
+ }
+
+ return recordVos;
+ }
+
+
@PostMapping("/base/coursePack/stuOfCourses")
public StuWithCoursesListVo getStuOfCoursesDetails(@RequestBody GetStuOfCoursesDetails getStuOfCoursesDetails){
@@ -695,7 +751,7 @@
@ResponseBody
public List<CouponPaymentVo> getAppuserCourseList(@RequestBody Integer appUserId){
List<CouponPaymentVo> paymentVos = new ArrayList<>();
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm");
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
.eq("appUserId", appUserId)
.eq("payType", 3)
@@ -746,7 +802,11 @@
baseVo.setName(coursePackage.getName());
list.add(baseVo);
});
- return ResultUtil.success(list);
+
+ Set<BaseVo> set = new HashSet<>(list);
+ List<BaseVo> back = new ArrayList<>(set);
+
+ return ResultUtil.success(back);
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
@@ -797,8 +857,16 @@
List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>().in("id",longs).isNotNull("courseId"));
List<AppUserVideoResponse> coursePackageSchedulings1 = coursePackageSchedulingService.queryAll(longs);
+ if (search.getSearch()!=null) {
+ List<AppUserVideoResponse> filteredList = new ArrayList<>();
+ for (AppUserVideoResponse response : coursePackageSchedulings1) {
+ if (response.getVideoName().contains(search.getSearch())) {
+ filteredList.add(response);
+ }
+ }
+ return ResultUtil.success(filteredList);
-
+ }
return ResultUtil.success(coursePackageSchedulings1);
@@ -1127,6 +1195,16 @@
coursePackagePayment.setAppUserId(null);
packagePaymentService.updateById(coursePackagePayment);
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(coursePackagePayment.getId());
+ courseCounsum.setChangeType(0);
+ courseCounsum.setNum(classHour);
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("报名赛事");
+ courseCounsumService.save(courseCounsum);
+
+
+
// coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().eq("courseId", coursePackagePayment.getCoursePackageId()));
@@ -1139,47 +1217,30 @@
- Student student = studentClient.queryStudentById(coursePackagePayment.getStudentId());
+// Student student = studentClient.queryStudentById(coursePackagePayment.getStudentId());
TCoursePackage tCoursePackage = packageService.getById(coursePackagePayment.getCoursePackageId());
String classWeeks = tCoursePackage.getClassWeeks();
List<Integer> week = week(classWeeks);
- List<TCoursePackagePayment> pays = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackagePayment.getCoursePackageId()).eq("studentId", coursePackagePayment.getStudentId()));
+ TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackagePayment.getCoursePackageId()).eq("studentId", coursePackagePayment.getStudentId()));
-
- for (TCoursePackagePayment pay : pays) {
-
-
- List<CoursePackageStudent> studentCourse1 = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", pay.getStudentId()).eq("coursePackageId", pay.getCoursePackageId()));
- List<Long> collect1 = studentCourse1.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
+// List<CoursePackageStudent> studentCourse1 = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", pay.getStudentId()).eq("coursePackageId", pay.getCoursePackageId()));
+// List<Long> collect1 = studentCourse1.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
//拿到最后一天的排课记录
- CoursePackageScheduling cs = null;
- if (collect1.size()>0) {
- cs = coursePackageSchedulingService.getOne(new QueryWrapper<CoursePackageScheduling>().in("id", collect1).orderByDesc("classDate").last("limit 1"));
-
- }
+// CoursePackageScheduling cs = null;
+// if (collect1.size()>0) {
+// cs = coursePackageSchedulingService.getOne(new QueryWrapper<CoursePackageScheduling>().in("id", collect1).orderByDesc("classDate").last("limit 1"));
//
-// Calendar calendar = Calendar.getInstance();
-// Date currentDate = calendar.getTime();
-// calendar.add(Calendar.DAY_OF_MONTH, -1);
-// Date today = calendar.getTime();
+// }
Date today = new Date();
-
- //判断最后一天是否超过当前日期
- if (cs==null||cs.getClassDate().before(new Date())){
- }else {
- today = cs.getClassDate();
- }
Integer laveClassHours = pay.getLaveClassHours();
Integer codeTime = tCoursePackage.getCodeTime();
Integer can = laveClassHours/codeTime;
int count = 0;
-
-
String[] split = tCoursePackage.getClassStartTime().split(",");
String[] split1 = tCoursePackage.getClassEndTime().split(",");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
@@ -1219,7 +1280,7 @@
}
}
- }
+// }
@@ -1456,6 +1517,14 @@
return objects;
}
+ @ResponseBody
+ @PostMapping("/coursePackagePayment/isHave")
+ public Integer isHave(@RequestBody String ids){
+ String[] split = ids.split(",");
+ return coursePackagePaymentService.count(new QueryWrapper<TCoursePackagePayment>().in("studentId",split));
+
+ }
+
/**
* 课包续费玩湃币支付
@@ -1495,6 +1564,15 @@
tCourseInfoRecord.setType(1);
tCourseInfoRecord.setNum(paymentConfig.getClassHours());
auClitn.addCourseInfoRecord(tCourseInfoRecord);
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(packagePayment.getId());
+ courseCounsum.setChangeType(1);
+ courseCounsum.setNum(packagePayment.getClassHours());
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("购买课包");
+ courseCounsumService.save(courseCounsum);
+
} catch (Exception e) {
return 4;
}
@@ -1534,6 +1612,16 @@
tCourseInfoRecord.setType(1);
tCourseInfoRecord.setTime(new Date());
id = appUserClient.addCourseInfoRecord(tCourseInfoRecord);
+
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(packagePayment.getId());
+ courseCounsum.setChangeType(1);
+ courseCounsum.setNum(packagePayment.getClassHours());
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("续课");
+ courseCounsumService.save(courseCounsum);
+
}
return id;
}
@@ -1542,6 +1630,248 @@
public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment){
return packagePaymentService.save(packagePayment);
+ }
+
+
+ @PostMapping("/base/coursePack/orderClass")
+ public void orderClass(@RequestBody OrderDto orderDto) throws ParseException {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+ String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
+ String[] split = orderDto.getStuIds().split(",");
+ for (String s : split) {
+ TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s).eq("coursePackageId",orderDto.getClassId()));
+
+
+
+ if (coursePackagePaymentServiceOne==null) {
+ TCoursePackagePayment coursePackagePayment = new TCoursePackagePayment();
+ coursePackagePayment.setCode(code);
+ coursePackagePayment.setAppUserId(orderDto.getAppUserId());
+ coursePackagePayment.setStudentId(Integer.valueOf(s));
+ coursePackagePayment.setCoursePackageId(orderDto.getClassId());
+ coursePackagePayment.setPayType(4);
+ coursePackagePayment.setClassHours(orderDto.getClassHours());
+ coursePackagePayment.setTotalClassHours(orderDto.getClassHours());
+ coursePackagePayment.setLaveClassHours(orderDto.getClassHours());
+ coursePackagePayment.setAbsencesNumber(0);
+ coursePackagePayment.setPayUserType(1);
+ coursePackagePayment.setPayStatus(2);
+ coursePackagePayment.setPayUserId(orderDto.getAppUserId());
+ coursePackagePayment.setStatus(1);
+ coursePackagePayment.setState(1);
+ coursePackagePayment.setInsertTime(new Date());
+ coursePackagePaymentService.save(coursePackagePayment);
+ Integer sId = null;
+ Student student = studentClient.queryDefaultStudent(orderDto.getAppUserId());
+ if (student != null) {
+ sId = student.getId();
+ }
+ addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePayment.getId());
+
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(coursePackagePayment.getId());
+ courseCounsum.setChangeType(1);
+ courseCounsum.setNum(orderDto.getClassHours());
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("积分兑换");
+ courseCounsumService.save(courseCounsum);
+
+ }else {
+ coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+orderDto.getClassHours());
+ coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+orderDto.getClassHours());
+ coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+orderDto.getClassHours());
+ coursePackagePaymentServiceOne.setAppUserId(null);
+ coursePackagePaymentService.updateById(coursePackagePaymentServiceOne);
+
+ Integer sId = null;
+ Student student = studentClient.queryDefaultStudent(orderDto.getAppUserId());
+ if (student != null) {
+ sId = student.getId();
+ }
+ addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePaymentServiceOne.getId());
+
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(coursePackagePaymentServiceOne.getId());
+ courseCounsum.setChangeType(1);
+ courseCounsum.setNum(orderDto.getClassHours());
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("积分兑换");
+ courseCounsumService.save(courseCounsum);
+
+
+ }
+
+ }
+
+ }
+
+
+ public static Date[] generateDateArray1(Date startDate, Date endDate) {
+ List<Date> dateList = new ArrayList<>();
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(startDate);
+
+ while (!calendar.getTime().after(endDate)) {
+ Date currentDate = calendar.getTime();
+ dateList.add(currentDate);
+ calendar.add(Calendar.DAY_OF_MONTH, 1);
+ }
+
+ return dateList.toArray(new Date[0]);
+ }
+
+ @Autowired
+ private TCoursePackageService coursePackageService;
+ private void addPackageStudent(Integer courseId, Integer userId, Integer sId,Long paymentId) throws ParseException {
+ // 课包
+ TCoursePackage tCoursePackage = coursePackageService.getById(courseId);
+
+ if (tCoursePackage.getType()==1) {
+ String classWeeks = tCoursePackage.getClassWeeks();
+
+ List<Integer> week = week(classWeeks);
+
+ String[] split = tCoursePackage.getClassStartTime().split(",");
+ String[] split1 = tCoursePackage.getClassEndTime().split(",");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+
+ //查出当前用户当前学员当前课包最后一天的排课数据
+ List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", sId).eq("coursePackageId", courseId));
+ List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
+ //拿到最后一天的排课记录
+ if (collect.size() > 0) {
+ coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
+ coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", sId).eq("coursePackageId", courseId));
+ }
+ Date today = new Date();
+ TCoursePackagePayment pay = coursePackagePaymentService.getById(paymentId);
+ Integer laveClassHours = pay.getLaveClassHours();
+ Integer codeTime = tCoursePackage.getCodeTime();
+ Integer can = 0;
+ int count = 0;
+ // 本周周几
+ Date[] dates = generateDateArray(14, today);
+ if (tCoursePackage.getType() == 1) {
+ can = laveClassHours / codeTime;
+ }
+ if (tCoursePackage.getType() == 2) {
+ Date startDate = tCoursePackage.getStartTime();
+ Date endDate = tCoursePackage.getEndTime();
+ dates = generateDateArray1(startDate, endDate);
+ can = 999;
+ }
+ for (Date date : dates) {
+ if (count == can) {
+ break;
+ }
+ int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date);
+ if (week.contains(wei)) {
+ for (int i1 = 0; i1 < split.length; i1++) {
+ if (count == can) {
+ break;
+ }
+ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+ coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+ Date parse = format1.parse(format.format(date) + " " + split[i1]);
+ Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
+ coursePackageScheduling.setClassDate(parse);
+ coursePackageScheduling.setEndDate(parse1);
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.save(coursePackageScheduling);
+ CoursePackageStudent student1 = new CoursePackageStudent();
+ student1.setAppUserId(userId);
+ student1.setStudentId(sId);
+ student1.setCoursePackageId(tCoursePackage.getId());
+ student1.setCoursePackagePaymentId(paymentId);
+ student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+ student1.setSignInOrNot(1);
+ student1.setReservationStatus(1);
+ student1.setInsertTime(new Date());
+ coursePackageStudentService.save(student1);
+ count++;
+ }
+ }
+ }
+
+ }else if (tCoursePackage.getType()==2){
+ String classWeeks = tCoursePackage.getClassWeeks();
+ List<Integer> week = week(classWeeks);
+
+ Date today = new Date();
+
+ Date startTime = tCoursePackage.getStartTime();
+ Date endTime = tCoursePackage.getEndTime();
+ LocalDate startDate = startTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+ LocalDate endDate = endTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+ Period period = Period.between(startDate, endDate);
+ int days = period.getDays() + 1;
+ Integer can =999;
+ int count = 0;
+ String[] split = tCoursePackage.getClassStartTime().split(",");
+ String[] split1 = tCoursePackage.getClassEndTime().split(",");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(startTime);
+ calendar.add(Calendar.DAY_OF_MONTH, -1);
+
+ TCoursePackagePayment pay = coursePackagePaymentService.getById(paymentId);
+
+
+ Date[] dates = generateDateArray(days,calendar.getTime());
+ for (Date date : dates) {
+ if (count==can){
+ break;
+ }
+ int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date)-1;
+ if (wei == 0){
+ wei =7;
+ }
+ if (week.contains(wei)){
+ for (int i1 = 0; i1 < split.length; i1++) {
+ if (count==can){
+ break;
+ }
+ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+ coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+ Date parse = format1.parse(format.format(date) + " " + split[i1]);
+ Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
+ coursePackageScheduling.setClassDate(parse);
+ coursePackageScheduling.setEndDate(parse1);
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.save(coursePackageScheduling);
+ CoursePackageStudent student1 = new CoursePackageStudent();
+ student1.setAppUserId(userId);
+ student1.setStudentId(sId);
+ student1.setCoursePackageId(tCoursePackage.getId());
+ student1.setCoursePackagePaymentId(pay.getId());
+ student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+ student1.setSignInOrNot(1);
+ student1.setReservationStatus(1);
+ student1.setInsertTime(new Date());
+ coursePackageStudentService.save(student1);
+ count++;
+ }
+ }
+ }
+ }
+
+
+ // 2.0
+ TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
+ tCourseInfoRecord.setUserId(userId);
+ tCourseInfoRecord.setCourseId(courseId);
+ tCourseInfoRecord.setName("报名运动营");
+ tCourseInfoRecord.setNum(tCoursePackage.getNeedNum());
+ tCourseInfoRecord.setTime(new Date());
+ tCourseInfoRecord.setType(2);
+ appUserClient.addCourseInfoRecord(tCourseInfoRecord);
+
+
}
@ResponseBody
@@ -1732,6 +2062,21 @@
}
}
+
+
+ @ResponseBody
+ @PostMapping("/base/coursePack/getConsumes")
+ List<CourseCounsum> getConsumes(@RequestBody BillingDataRequestVo requestVo) {
+ Integer[] integers = {2,3};
+ QueryWrapper<CourseCounsum> courseCounsumQueryWrapper = new QueryWrapper<CourseCounsum>().in("changeType",integers).eq("appUserId",requestVo.getAppUserId());
+ if (requestVo.getMonthEnd()!=null){
+ courseCounsumQueryWrapper.ge("insertTime",requestVo.getMonthStart());
+ courseCounsumQueryWrapper.le("insertTime",requestVo.getMonthEnd());
+ }
+ return courseCounsumService.list(courseCounsumQueryWrapper);
+
+ }
+
@ResponseBody
@PostMapping("/base/coursePack/weeksOfCourseDetailsList")
HashMap<String, Object> weeksOfCourseDetailsList(@RequestBody CourseDetailReq courseDetailReq){
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageSchedulingController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageSchedulingController.java
index e1074c2..dd7ae8e 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageSchedulingController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageSchedulingController.java
@@ -1,5 +1,7 @@
package com.dsh.course.controller;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsh.course.entity.CoursePackageScheduling;
import com.dsh.course.model.QueryCoursePackageSchedulingList;
@@ -8,6 +10,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
import java.util.Map;
/**
@@ -49,6 +54,18 @@
}
+ @ResponseBody
+ @PostMapping("/coursePackageScheduling/queryCoursePackageSchedulingsById")
+ public List<CoursePackageScheduling> queryCoursePackageSchedulingsById(@RequestBody Long id){
+ CoursePackageScheduling byId = coursePackageSchedulingService.getById(id);
+ Date date = new Date(); // 假设你有一个 Date 对象
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String formattedDate = sdf.format(byId.getClassDate());
+ List<CoursePackageScheduling> list = coursePackageSchedulingService.list(new LambdaQueryWrapper<CoursePackageScheduling>().eq(CoursePackageScheduling::getCoursePackageId,byId.getCoursePackageId()).eq(CoursePackageScheduling::getClassDate,formattedDate));
+ return list;
+ }
+
+
/**
* 编辑数据
* @param coursePackageScheduling
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
index b277725..4978443 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
@@ -12,6 +12,7 @@
import com.dsh.course.feignclient.account.StudentClient;
import com.dsh.course.feignclient.account.model.Student;
import com.dsh.course.mapper.CoursePackageSchedulingMapper;
+import com.dsh.course.mapper.CoursePackageStudentMapper;
import com.dsh.course.model.dto.ToClassDto;
import com.dsh.course.service.*;
import com.dsh.course.util.ResultUtil;
@@ -28,6 +29,9 @@
import javax.swing.text.html.parser.Entity;
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.Period;
+import java.time.ZoneId;
import java.util.*;
import java.util.stream.Collectors;
@@ -44,6 +48,8 @@
private CourseCounsumService counsumService;
@Autowired
private TCoursePackageService coursePackageService;
+ @Resource
+ private CoursePackageStudentMapper cpsMapper;
//获取退费记录
@RequestMapping("/getRefund")
@ResponseBody
@@ -325,9 +331,9 @@
@ResponseBody
public void zeroClass(@RequestParam("id")Integer id){
MoneyBack byId = moneyBackService.getById(id);
- String[] split = byId.getIds().split(",");
- System.out.println("========split===>"+split);
- List<TCoursePackagePayment> id1 = paymentService.list(new QueryWrapper<TCoursePackagePayment>().in("id", split));
+ String[] split2 = byId.getIds().split(",");
+ System.out.println("========split===>"+split2);
+ List<TCoursePackagePayment> id1 = paymentService.list(new QueryWrapper<TCoursePackagePayment>().in("id", split2));
for (TCoursePackagePayment o :id1){
CourseCounsum courseCounsum = new CourseCounsum();
courseCounsum.setNum(o.getLaveClassHours());
@@ -342,6 +348,25 @@
o.setStatus(2);
o.setAppUserId(null);
+
+
+ TCoursePackage tCoursePackage = packageService.getById(o.getCoursePackageId());
+ String classWeeks = tCoursePackage.getClassWeeks();
+ List<Integer> week = week(classWeeks);
+
+ String[] split = tCoursePackage.getClassStartTime().split(",");
+ String[] split1 = tCoursePackage.getClassEndTime().split(",");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ // 本周周几
+
+ List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId",o.getStudentId()).eq("coursePackageId", o.getCoursePackageId()));
+ List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
+ //拿到最后一天的排课记录
+ if (collect.size()>0) {
+ coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
+ coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", o.getStudentId()).eq("coursePackageId", o.getCoursePackageId()));
+ }
@@ -390,7 +415,7 @@
//课程转移
@RequestMapping("/toClass")
@ResponseBody
- public void toClass(@RequestBody ToClassDto toClassDto){
+ public void toClass(@RequestBody ToClassDto toClassDto) throws ParseException {
System.out.println("===========到达getSelect======="+toClassDto);
TCoursePackagePayment orinPay = paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", toClassDto.getId()));
TCoursePackagePayment studentPay = paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId",orinPay.getCoursePackageId()));
@@ -402,10 +427,18 @@
orinPay.setTotalClassHours(0);
orinPay.setLaveClassHours(0);
- orinPay.setStatus(5);
+ orinPay.setStatus(1);
orinPay.setAppUserId(null);
paymentService.updateById(orinPay);
+ //删除orin的排课记录
+ List<CoursePackageStudent> studentCourse1 = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", orinPay.getStudentId()).eq("coursePackageId", orinPay.getCoursePackageId()));
+ List<Long> collect1 = studentCourse1.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
+ //拿到最后一天的排课记录
+ if (collect1.size()>0){
+ coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect1));
+ coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId()));
+ }
CourseCounsum courseCounsum = new CourseCounsum();
courseCounsum.setInsertTime(new Date());
if (orinPay.getAppUserId()!=studentPay.getAppUserId()){
@@ -429,11 +462,86 @@
CourseCounsum courseCounsum1 = new CourseCounsum();
courseCounsum1.setInsertTime(new Date());
- courseCounsum1.setReason("转课");
+ if (orinPay.getAppUserId()!=studentPay.getAppUserId()){
+ courseCounsum1.setReason("赠课");
+ }else { courseCounsum1.setReason("转课");
+ }
courseCounsum1.setNum(laveClassHours);
courseCounsum1.setChangeType(1);
courseCounsum1.setPaymentId(studentPay.getId());
counsumService.save(courseCounsum1);
+
+
+ //排课
+ TCoursePackage tCoursePackage = packageService.getById(studentPay.getCoursePackageId());
+ String classWeeks = tCoursePackage.getClassWeeks();
+ List<Integer> week = week(classWeeks);
+
+ String[] split = tCoursePackage.getClassStartTime().split(",");
+ String[] split1 = tCoursePackage.getClassEndTime().split(",");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ // 本周周几
+
+ List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId()));
+ List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
+ //拿到最后一天的排课记录
+ if (collect.size()>0) {
+ coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
+ coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId()));
+ }
+
+ Student student = studentClient.queryStudentById(toClassDto.getToStudentId());
+
+ Date today = new Date();
+
+
+
+
+ TCoursePackagePayment pay = coursePackagePaymentService.getById(studentPay.getId());
+ Integer laveClassHours2 = pay.getLaveClassHours();
+ Integer codeTime = tCoursePackage.getCodeTime();
+ Integer can = 0;
+ int count = 0;
+ // 本周周几
+// int i = DateUtil.dayOfWeek(new Date())-1;
+
+ Date[] dates = generateDateArray(14,today);
+ can = laveClassHours2/codeTime;
+
+ for (Date date : dates) {
+ if (count==can){
+ break;
+ }
+ int wei = DateUtil.dayOfWeek(date);
+ if (week.contains(wei)){
+ for (int i1 = 0; i1 < split.length; i1++) {
+ if (count==can){
+ break;
+ }
+ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+ coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+ Date parse = format1.parse(format.format(date) + " " + split[i1]);
+ Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
+ coursePackageScheduling.setClassDate(parse);
+ coursePackageScheduling.setEndDate(parse1);
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.insert(coursePackageScheduling);
+ CoursePackageStudent student1 = new CoursePackageStudent();
+ student1.setAppUserId(student.getAppUserId());
+ student1.setStudentId(student.getId());
+ student1.setCoursePackageId(tCoursePackage.getId());
+ student1.setCoursePackagePaymentId(studentPay.getId());
+ student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+ student1.setSignInOrNot(1);
+ student1.setReservationStatus(1);
+ student1.setInsertTime(new Date());
+ cpsMapper.insert(student1);
+ count++;
+ }
+ }
+ }
+
}else {
@@ -457,10 +565,19 @@
orinPay.setTotalClassHours(0);
orinPay.setLaveClassHours(0);
orinPay.setAppUserId(null);
- orinPay.setStatus(6);
+ orinPay.setStatus(1);
paymentService.updateById(orinPay);
+
+ //删除orin的排课记录
+ List<CoursePackageStudent> studentCourse1 = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", orinPay.getStudentId()).eq("coursePackageId", orinPay.getCoursePackageId()));
+ List<Long> collect1 = studentCourse1.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
+ //拿到最后一天的排课记录
+ if (collect1.size()>0) {
+ coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect1));
+ coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId()));
+ }
CourseCounsum courseCounsum = new CourseCounsum();
@@ -483,6 +600,77 @@
courseCounsum1.setPaymentId(to.getId());
counsumService.save(courseCounsum);
+
+
+ TCoursePackage tCoursePackage = packageService.getById(studentPay.getCoursePackageId());
+ String classWeeks = tCoursePackage.getClassWeeks();
+ List<Integer> week = week(classWeeks);
+
+ String[] split = tCoursePackage.getClassStartTime().split(",");
+ String[] split1 = tCoursePackage.getClassEndTime().split(",");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ // 本周周几
+
+ List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId()));
+ List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
+ //拿到最后一天的排课记录
+ if (collect.size()>0) {
+ coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
+ coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId()));
+ }
+
+
+
+ Date today = new Date();
+
+
+
+
+ TCoursePackagePayment pay = coursePackagePaymentService.getById(studentPay.getId());
+ Integer laveClassHours2 = pay.getLaveClassHours();
+ Integer codeTime = tCoursePackage.getCodeTime();
+ Integer can = 0;
+ int count = 0;
+ // 本周周几
+// int i = DateUtil.dayOfWeek(new Date())-1;
+
+ Date[] dates = generateDateArray(14,today);
+ can = laveClassHours2/codeTime;
+
+ for (Date date : dates) {
+ if (count==can){
+ break;
+ }
+ int wei = DateUtil.dayOfWeek(date);
+ if (week.contains(wei)){
+ for (int i1 = 0; i1 < split.length; i1++) {
+ if (count==can){
+ break;
+ }
+ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+ coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+ Date parse = format1.parse(format.format(date) + " " + split[i1]);
+ Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
+ coursePackageScheduling.setClassDate(parse);
+ coursePackageScheduling.setEndDate(parse1);
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.insert(coursePackageScheduling);
+ CoursePackageStudent student1 = new CoursePackageStudent();
+ student1.setAppUserId(student.getAppUserId());
+ student1.setStudentId(student.getId());
+ student1.setCoursePackageId(tCoursePackage.getId());
+ student1.setCoursePackagePaymentId(studentPay.getId());
+ student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+ student1.setSignInOrNot(1);
+ student1.setReservationStatus(1);
+ student1.setInsertTime(new Date());
+ cpsMapper.insert(student1);
+ count++;
+ }
+ }
+ }
+
}
@@ -490,6 +678,8 @@
@Resource
private StudentClient studentClient;
+ @Autowired
+ private CourseCounsumService courseCounsumService;
@RequestMapping(value = "/toHoli",produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8")
@ResponseBody
public String toHoli(@RequestBody ToHoliDto toHoliDto) throws ParseException {
@@ -519,7 +709,7 @@
payment.setLaveClassHours(laveClassHoursnew);
payment.setTotalClassHours(totalClassHoursnew);
payment.setAppUserId(null);
- payment.setStatus(3);
+// payment.setStatus(3);
paymentService.updateById(payment);
@@ -538,105 +728,73 @@
holi.setPayStatus(2);
paymentService.save(holi);
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(holi.getId());
+ courseCounsum.setChangeType(0);
+ courseCounsum.setNum(classNum);
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("报名假期班");
+ courseCounsumService.save(courseCounsum);
+
+ //排假期课
+
TCoursePackage tCoursePackage = packageService.getById(toHoliDto.getClassId());
String classWeeks = tCoursePackage.getClassWeeks();
List<Integer> week = week(classWeeks);
+ Date today = new Date();
+
+ Date startTime = tCoursePackage.getStartTime();
+ Date endTime = tCoursePackage.getEndTime();
+ LocalDate startDate = startTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+ LocalDate endDate = endTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+ Period period = Period.between(startDate, endDate);
+ int days = period.getDays() + 1;
+ Integer can =999;
+ int count = 0;
String[] split = tCoursePackage.getClassStartTime().split(",");
String[] split1 = tCoursePackage.getClassEndTime().split(",");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
- // 本周周几
- int i = DateUtil.dayOfWeek(new Date())-1;
- for (Integer integer : week) {
- if(integer<i){
- // 找下一周的时间
- Calendar instance = Calendar.getInstance();
- instance.add(Calendar.DATE,7-(i-integer));
- Date time = instance.getTime();
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(startTime);
+ calendar.add(Calendar.DAY_OF_MONTH, -1);
+
+ Date[] dates = generateDateArray(days,calendar.getTime());
+ for (Date date : dates) {
+ if (count==can){
+ break;
+ }
+ int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date)-1;
+ if (wei == 0){
+ wei =7;
+ }
+ if (week.contains(wei)){
for (int i1 = 0; i1 < split.length; i1++) {
-
- CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
- coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
- Date parse = format1.parse(format.format(time) + " " + split[i1]);
- Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
- coursePackageScheduling.setClassDate(parse);
- coursePackageScheduling.setEndDate(parse1);
- coursePackageScheduling.setStatus(1);
- coursePackageSchedulingService.insert(coursePackageScheduling);
-
- CoursePackageStudent student1 = new CoursePackageStudent();
- student1.setAppUserId(student.getAppUserId());
- student1.setStudentId(student.getId());
- student1.setCoursePackageId(tCoursePackage.getId());
- student1.setCoursePackagePaymentId(holi.getId());
- student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
- student1.setSignInOrNot(1);
- student1.setReservationStatus(1);
- student1.setInsertTime(new Date());
- studentService.save(student1);
-
- }
-
- }else if(integer>i) {
- Calendar instance = Calendar.getInstance();
- instance.add(Calendar.DATE,integer-i);
- Date time1 = instance.getTime();
- List<Date> list = new ArrayList<>();
- list.add(time1);
- instance.add(Calendar.DATE,7);
- Date time2 = instance.getTime();
- list.add(time2);
- for (Date time : list) {
- for (int i1 = 0; i1 < split.length; i1++) {
- CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
- coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
- Date parse = format1.parse(format.format(time) + " " + split[i1]);
- Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
- coursePackageScheduling.setClassDate(parse);
- coursePackageScheduling.setEndDate(parse1);
- coursePackageScheduling.setStatus(1);
- coursePackageSchedulingService.insert(coursePackageScheduling);
-
- CoursePackageStudent student1 = new CoursePackageStudent();
- student1.setAppUserId(student.getAppUserId());
- student1.setStudentId(student.getId());
- student1.setCoursePackageId(tCoursePackage.getId());
- student1.setCoursePackagePaymentId(holi.getId());
- student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
- student1.setSignInOrNot(1);
- student1.setReservationStatus(1);
- student1.setInsertTime(new Date());
- studentService.save(student1);
+ if (count==can){
+ break;
}
- }
-
- }else {
- Calendar instance = Calendar.getInstance();
- instance.add(Calendar.DATE,7);
- Date time = instance.getTime();
-
- for (int i1 = 0; i1 < split.length; i1++) {
CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
- Date parse = format1.parse(format.format(time) + " " + split[i1]);
- Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
- coursePackageScheduling.setClassDate(parse);
- coursePackageScheduling.setEndDate(parse1);
- coursePackageScheduling.setStatus(1);
- coursePackageSchedulingService.insert(coursePackageScheduling);
-
+ Date parse = format1.parse(format.format(date) + " " + split[i1]);
+ Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
+ coursePackageScheduling.setClassDate(parse);
+ coursePackageScheduling.setEndDate(parse1);
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.insert(coursePackageScheduling);
CoursePackageStudent student1 = new CoursePackageStudent();
student1.setAppUserId(student.getAppUserId());
student1.setStudentId(student.getId());
- student1.setCoursePackageId(tCoursePackage.getId());
+ student1.setCoursePackageId(toHoliDto.getClassId());
student1.setCoursePackagePaymentId(holi.getId());
student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
student1.setSignInOrNot(1);
student1.setReservationStatus(1);
student1.setInsertTime(new Date());
studentService.save(student1);
+ count++;
}
}
}
@@ -657,6 +815,23 @@
+ }
+
+
+ @Autowired
+ private TCoursePackagePaymentService coursePackagePaymentService;
+ public static Date[] generateDateArray(int numDays,Date date) {
+// LocalDate tomorrow = LocalDate.now().plusDays(1);
+ LocalDate tomorrow = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate().plusDays(1);
+
+ Date[] dates = new Date[numDays];
+
+ for (int i = 0; i < numDays; i++) {
+ LocalDate currentDate = tomorrow.plusDays(i);
+ dates[i] = Date.from(currentDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
+ }
+
+ return dates;
}
private List<Integer> week(String week){
String[] split = week.split(";");
@@ -689,6 +864,9 @@
return integers;
}
+
+ @Autowired
+ private CoursePackageStudentService coursePackageStudentService;
@RequestMapping(value = "/toTrans",produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8")
@ResponseBody
public String toTrans(@RequestBody ToHoliDto toHoliDto) throws ParseException {
@@ -725,18 +903,38 @@
//新增课时
- TCoursePackagePayment holi = new TCoursePackagePayment();
- holi.setAppUserId(student.getAppUserId());
- holi.setStudentId(student.getId());
- holi.setCoursePackageId(toHoliDto.getClassId());
- holi.setTotalClassHours(laveClassHours);
- holi.setLaveClassHours(laveClassHours);
- holi.setState(1);
- holi.setInsertTime(new Date());
- holi.setPayStatus(2);
- paymentService.save(holi);
+ TCoursePackagePayment one = paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", student.getId()).eq("coursePackageId", toHoliDto.getClassId()));
+ TCoursePackagePayment holi = new TCoursePackagePayment();
+ if (one==null){
+ holi.setAppUserId(student.getAppUserId());
+ holi.setStudentId(student.getId());
+ holi.setCoursePackageId(toHoliDto.getClassId());
+ holi.setTotalClassHours(laveClassHours);
+ holi.setLaveClassHours(laveClassHours);
+ holi.setState(1);
+ holi.setInsertTime(new Date());
+ holi.setPayStatus(2);
+ holi.setStatus(1);
+ paymentService.save(holi);
+
+ }else{
+ one.setTotalClassHours(one.getTotalClassHours()+laveClassHours);
+ one.setLaveClassHours(one.getLaveClassHours()+laveClassHours);
+ one.setAppUserId(null);
+ paymentService.updateById(one);
+ holi=one;
+ }
System.out.println("保存成功=============》="+holi);
+
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(holi.getId());
+ courseCounsum.setChangeType(1);
+ courseCounsum.setNum(laveClassHours);
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("换课");
+ courseCounsumService.save(courseCounsum);
@@ -749,86 +947,53 @@
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
// 本周周几
- int i = DateUtil.dayOfWeek(new Date())-1;
- for (Integer integer : week) {
- if(integer<i){
- // 找下一周的时间
- Calendar instance = Calendar.getInstance();
- instance.add(Calendar.DATE,7-(i-integer));
- Date time = instance.getTime();
+ List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", student.getId()).eq("coursePackageId", toHoliDto.getClassId()));
+ List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
+ //拿到最后一天的排课记录
+ if (collect.size()>0) {
+ coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
+ coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", student.getId()).eq("coursePackageId", toHoliDto.getClassId()));
+ }
+
+
+ Date today = new Date();
+
+
+
+
+ TCoursePackagePayment pay = coursePackagePaymentService.getById(holi.getId());
+ Integer laveClassHours1 = pay.getLaveClassHours();
+ Integer codeTime = tCoursePackage.getCodeTime();
+ Integer can = 0;
+
+
+ int count = 0;
+
+ // 本周周几
+// int i = DateUtil.dayOfWeek(new Date())-1;
+
+ Date[] dates = generateDateArray(14,today);
+ can = laveClassHours1/codeTime;
+
+ for (Date date : dates) {
+ if (count==can){
+ break;
+ }
+ int wei = DateUtil.dayOfWeek(date);
+ if (week.contains(wei)){
for (int i1 = 0; i1 < split.length; i1++) {
-
- CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
- coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
- Date parse = format1.parse(format.format(time) + " " + split[i1]);
- Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
- coursePackageScheduling.setClassDate(parse);
- coursePackageScheduling.setEndDate(parse1);
- coursePackageScheduling.setStatus(1);
- coursePackageSchedulingService.insert(coursePackageScheduling);
-
- CoursePackageStudent student1 = new CoursePackageStudent();
- student1.setAppUserId(student.getAppUserId());
- student1.setStudentId(student.getId());
- student1.setCoursePackageId(tCoursePackage.getId());
- student1.setCoursePackagePaymentId(holi.getId());
- student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
- student1.setSignInOrNot(1);
- student1.setReservationStatus(1);
- student1.setInsertTime(new Date());
- studentService.save(student1);
-
- }
-
- }else if(integer>i) {
- Calendar instance = Calendar.getInstance();
- instance.add(Calendar.DATE,integer-i);
- Date time1 = instance.getTime();
- List<Date> list = new ArrayList<>();
- list.add(time1);
- instance.add(Calendar.DATE,7);
- Date time2 = instance.getTime();
- list.add(time2);
- for (Date time : list) {
- for (int i1 = 0; i1 < split.length; i1++) {
- CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
- coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
- Date parse = format1.parse(format.format(time) + " " + split[i1]);
- Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
- coursePackageScheduling.setClassDate(parse);
- coursePackageScheduling.setEndDate(parse1);
- coursePackageScheduling.setStatus(1);
- coursePackageSchedulingService.insert(coursePackageScheduling);
-
- CoursePackageStudent student1 = new CoursePackageStudent();
- student1.setAppUserId(student.getAppUserId());
- student1.setStudentId(student.getId());
- student1.setCoursePackageId(tCoursePackage.getId());
- student1.setCoursePackagePaymentId(holi.getId());
- student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
- student1.setSignInOrNot(1);
- student1.setReservationStatus(1);
- student1.setInsertTime(new Date());
- studentService.save(student1);
+ if (count==can){
+ break;
}
- }
-
- }else {
- Calendar instance = Calendar.getInstance();
- instance.add(Calendar.DATE,7);
- Date time = instance.getTime();
-
- for (int i1 = 0; i1 < split.length; i1++) {
CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
- Date parse = format1.parse(format.format(time) + " " + split[i1]);
- Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
- coursePackageScheduling.setClassDate(parse);
- coursePackageScheduling.setEndDate(parse1);
- coursePackageScheduling.setStatus(1);
- coursePackageSchedulingService.insert(coursePackageScheduling);
-
+ Date parse = format1.parse(format.format(date) + " " + split[i1]);
+ Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
+ coursePackageScheduling.setClassDate(parse);
+ coursePackageScheduling.setEndDate(parse1);
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.insert(coursePackageScheduling);
CoursePackageStudent student1 = new CoursePackageStudent();
student1.setAppUserId(student.getAppUserId());
student1.setStudentId(student.getId());
@@ -838,11 +1003,11 @@
student1.setSignInOrNot(1);
student1.setReservationStatus(1);
student1.setInsertTime(new Date());
- studentService.save(student1);
+ cpsMapper.insert(student1);
+ count++;
}
}
}
-
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/CourseCounsum.java b/cloud-server-course/src/main/java/com/dsh/course/entity/CourseCounsum.java
index 0725d67..9f9e37e 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/CourseCounsum.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/CourseCounsum.java
@@ -25,4 +25,6 @@
Long paymentId;
@TableField("insertTime")
Date insertTime;
+ @TableField("appUserId")
+ Integer appUserId;
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/OrderDto.java b/cloud-server-course/src/main/java/com/dsh/course/entity/OrderDto.java
new file mode 100644
index 0000000..69b6d2e
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/OrderDto.java
@@ -0,0 +1,14 @@
+package com.dsh.course.entity;
+
+import lombok.Data;
+
+@Data
+public class OrderDto {
+ private String stuIds;
+
+ private Integer appUserId;
+
+ private Integer classId;
+
+ private Integer classHours;
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/RecordTimeRequest.java b/cloud-server-course/src/main/java/com/dsh/course/entity/RecordTimeRequest.java
new file mode 100644
index 0000000..33f6f42
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/RecordTimeRequest.java
@@ -0,0 +1,20 @@
+package com.dsh.course.entity;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class RecordTimeRequest {
+
+ @ApiModelProperty(value = "学员id", dataType = "int", required = true)
+ private Integer stuId;
+
+ @ApiModelProperty(value = "结束时间 格式:yyyy-MM", dataType = "string")
+ private String time;
+
+ @ApiModelProperty(value = "类型:1增加 2扣减 ", dataType = "int")
+ private Integer type;
+
+ @ApiModelProperty(value = "课包id", dataType = "int")
+ private Integer lessionId;
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/activity/CouponClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/activity/CouponClient.java
index 133f103..4de0e27 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/activity/CouponClient.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/activity/CouponClient.java
@@ -30,5 +30,6 @@
@PostMapping("/base/userConpon/getCoupons")
List<Coupon> getCoupons(String couponIds);
-
+ @PostMapping("/coupon/queryCouponByUid")
+ List<Coupon> queryCouponByUid(Integer uid);
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/CourseDetailsResponse.java b/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/CourseDetailsResponse.java
index 2884223..d76c9cc 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/CourseDetailsResponse.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/CourseDetailsResponse.java
@@ -42,4 +42,8 @@
@ApiModelProperty("详情图片")
private String detailDrawing;
+ @ApiModelProperty("假期有效期")
+ private String time;
+ @ApiModelProperty("1常规 2假期 3体验")
+ private Integer type;
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java
index 9d43184..b88f008 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java
@@ -146,9 +146,9 @@
for (AppUserVideoResponse appUserVideoRespon : appUserVideoResponses) {
if (appUserVideoRespon.getVideoId() != null) {
if (this.baseMapper.isHave(appUserVideoRespon.getVideoId()) > 0) {
- appUserVideoRespon.setStudyStatus(1);
+ appUserVideoRespon.setStudyStatus(2);
} else {
- appUserVideoRespon.setStudyStatus(0);
+ appUserVideoRespon.setStudyStatus(1);
}
}
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java
index ebb3217..15115b8 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java
@@ -69,7 +69,7 @@
List<Details> list = new ArrayList<>();
QueryWrapper<TCoursePackageDiscount> tCoursePackageDiscountQueryWrapper = new QueryWrapper<>();
- tCoursePackageDiscountQueryWrapper.eq("auditStatus", 2);
+ tCoursePackageDiscountQueryWrapper.eq("auditStatus", 2).eq("status",1);
List<TCoursePackageDiscount> tCoursePackageDiscounts = new ArrayList<>();
int weekStr = LocalDateTimeUtils.getWeekStr();
if (null == discountType || discountType == 1) {
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
index 96e9b12..bbf7b33 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -35,9 +35,7 @@
import com.dsh.course.model.vo.RegisterCourseVo;
import com.dsh.course.model.vo.request.*;
import com.dsh.course.model.vo.response.*;
-import com.dsh.course.service.CoursePackageSchedulingService;
-import com.dsh.course.service.ICoursePackageSchedulingService;
-import com.dsh.course.service.TCoursePackagePaymentService;
+import com.dsh.course.service.*;
import com.dsh.course.util.*;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -56,6 +54,8 @@
import java.math.RoundingMode;
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.ZoneId;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -320,28 +320,35 @@
}
return responses;
}
-
+ @Autowired
+ private TCourseService courseService;
@Override
public CourseOfVideoResponse queryVideoDetails(CourseWithDetailsRequest detailsRequest,Integer appUserId) {
CourseOfVideoResponse response = new CourseOfVideoResponse();
- BenefitsVideos videosWithIds = bfvoClient.getVideosWithIds(detailsRequest.getVideoId());
+// BenefitsVideos videosWithIds = bfvoClient.getVideosWithIds(detailsRequest.getVideoId());
+ TCourse byId = courseService.getById(detailsRequest.getVideoId());
TCoursePackage coursePackage = tcpmapper.selectById(detailsRequest.getCoursePackageId());
- if (null != videosWithIds && null != coursePackage){
+
+ if (null != coursePackage){
response.setCoursePackageId(coursePackage.getId());
- response.setVideoId(videosWithIds.getId());
- response.setVideoURL(videosWithIds.getVideos());
- response.setVideoName(videosWithIds.getName());
- response.setIntegral(videosWithIds.getIntegral());
+ response.setVideoId(byId.getId());
+ response.setVideoURL(byId.getCourseVideo());
+ response.setVideoName(coursePackage.getName());
+// response.setIntegral(byId.getIntegral());
UserVideoDetails userVideoDetails = uvdmapper.selectOne(new QueryWrapper<UserVideoDetails>()
.eq("appUserId",appUserId )
.eq("coursePackageId",coursePackage.getId())
- .eq("courseId",videosWithIds.getId()));
+ .eq("courseId",detailsRequest.getVideoId()));
- response.setStudyStatus(userVideoDetails.getState());
+ if (userVideoDetails!=null) {
+ response.setStudyStatus(userVideoDetails.getState());
+ }else {
+ response.setStudyStatus(1);
+ }
response.setPackageName(coursePackage.getName());
- response.setSynopsis(videosWithIds.getIntroduction());
- response.setDetailedDiagram(coursePackage.getIntroduceDrawing());
- response.setCover(videosWithIds.getCover());
+ response.setSynopsis(byId.getIntroduce());
+ response.setDetailedDiagram(byId.getIntroductionDrawing());
+ response.setCover(byId.getCoverDrawing());
}
return response;
@@ -433,23 +440,45 @@
if (null != tCoursePackagePayment){
TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
+ if (coursePackage.getType()==2) {
+ response.setTime(new SimpleDateFormat("yyyy-MM-dd").format(coursePackage.getStartTime()) + "-" + new SimpleDateFormat("yyyy-MM-dd").format(coursePackage.getEndTime()));
+ }
+
+
response.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
response.setCoverDrawing(coursePackage.getCoverDrawing());
response.setDetailDrawing(coursePackage.getDetailDrawing());
response.setCoursePackageName(coursePackage.getName());
response.setCoursePayId(tCoursePackagePayment.getId());
+ response.setType(coursePackage.getType());
List<Integer> integers = StrUtils.dealStrToList(coursePackage.getClassWeeks());
+ String classWeeks = coursePackage.getClassWeeks();
if (integers.size() > 0){
- StringBuilder courWeeks = new StringBuilder("每");
- for (Integer integer : integers) {
- courWeeks.append(integer).append("、");
- }
- if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == '、'){
- courWeeks.deleteCharAt(courWeeks.length() - 1);
- }
+ StringBuilder courWeeks = new StringBuilder("每"+classWeeks);
+// for (Integer integer : integers) {
+// courWeeks.append(integer).append("、");
+// }
+// if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == '、'){
+// courWeeks.deleteCharAt(courWeeks.length() - 1);
+// }
response.setWeeks(courWeeks.toString());
}
- response.setCourseTimeFrame(coursePackage.getClassStartTime()+"-"+coursePackage.getClassEndTime());
+ ArrayList<String> classTime = new ArrayList<>();
+ String[] split4 = coursePackage.getClassStartTime().split(",");
+ String[] split3 = coursePackage.getClassEndTime().split(",");
+ if(ToolUtil.isNotEmpty(coursePackage.getClassStartTime())){
+ for (int i = 0; i < split4.length; i++) {
+ String s = split4[i].substring(0,5) + "-" + split3[i].substring(0,5);
+ classTime.add(s);
+ }
+ }
+
+ String joinedString = String.join("|", classTime);
+
+ response.setCourseTimeFrame(joinedString);
+
+
+// response.setCourseTimeFrame(coursePackage.getClassStartTime()+"-"+coursePackage.getClassEndTime());
response.setIntroduceDrawing(coursePackage.getIntroduceDrawing());
Integer payType = tCoursePackagePayment.getPayType();
@@ -740,8 +769,6 @@
@Override
public List<RecordAppoint> obtainStuClassDetails(Integer stuId, Integer appUserId,Integer pageNum) {
-
-
List<RecordAppoint> recordVoList = new ArrayList<>();
List<TCoursePackagePayment> tCoursePackagePayments = this.baseMapper.selectList(new QueryWrapper<TCoursePackagePayment>()
.eq("studentId",stuId )
@@ -759,7 +786,7 @@
if (tCoursePackagePayments.size() > 0 ){
// int pageNum = 1; // 页码
- int pageSize = 5; // 每页记录数
+ int pageSize = 100; // 每页记录数
Page<CoursePackageStudent> page = new Page<>(1, pageSize);
// for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) {
@@ -811,6 +838,10 @@
CoursePackageScheduling byId = coursePackageSchedulingService.getById(coursePackageStudent.getCoursePackageSchedulingId());
// String classStartTime = coursePackage.getClassStartTime();
// String classEndTime = coursePackage.getClassEndTime();
+ //这里是过滤今天之后的数据
+// if (byId == null||byId.getClassDate().after(new Date())){
+// continue;
+// }
if (byId == null){
continue;
@@ -831,7 +862,7 @@
List<String> integerList = Arrays.asList(split);
String weekOfDate = DateTimeHelper.getWeekOfDate(new Date());
if (integerList.contains(weekOfDate)){
- String dat = simpleDateFormat.format(date) +" "+ dateString2.substring(11);
+ String dat = simpleDateFormat.format(byId.getClassDate()) +" "+ dateString1.substring(11);
Date start = null;
try {
@@ -839,11 +870,18 @@
} catch (ParseException e) {
throw new RuntimeException(e);
}
- if (start.after(new Date())){
- recordVo.setStatus(1);
- }else if(coursePackageStudent.getSignInOrNot()==2){
+ if (byId.getStatus()==4){
+ recordVo.setStatus(4);
+ } else if(coursePackageStudent.getSignInOrNot()==2){
recordVo.setStatus(5);
- }else {
+ }
+ else if (start.after(new Date())){
+ recordVo.setStatus(1);
+ }
+// else if(coursePackageStudent.getSignInOrNot()==2){
+// recordVo.setStatus(5);
+// }
+ else {
// CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>()
// .eq("coursePackageId",coursePackageStudent.getCoursePackageId()));
CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>()
@@ -1106,6 +1144,15 @@
return integers;
}
+ @Autowired
+ private TCoursePackageService packageService;
+
+
+ @Autowired
+ private TCoursePackagePaymentService packagePaymentService;
+ @Autowired
+ private CoursePackageStudentService coursePackageStudentService;
+
@Override
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW)
public ResultUtil payCourse(PayCourseReq req,Integer userId){
@@ -1119,6 +1166,67 @@
}
tCoursePackagePayment.setLaveClassHours(tCoursePackagePayment.getLaveClassHours()-req.getNum());
this.baseMapper.updateHoursById(tCoursePackagePayment.getId(),-req.getNum());
+
+//
+// List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackagePayment.getStudentId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId()));
+// List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
+// coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id",collect));
+// coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", paymentDeductionClassHour.getId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId()));
+//
+// TCoursePackage tCoursePackage = packageService.getById(tCoursePackagePayment.getCoursePackageId());
+// String classWeeks = tCoursePackage.getClassWeeks();
+// List<Integer> week = week(classWeeks);
+//
+// TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", tCoursePackagePayment.getCoursePackageId()).eq("studentId", tCoursePackagePayment.getStudentId()));
+//
+//
+// Date today = new Date();
+//
+// Integer laveClassHours = pay.getLaveClassHours();
+// Integer codeTime = tCoursePackage.getCodeTime();
+// Integer can = laveClassHours/codeTime;
+//
+// int count = 0;
+// String[] split = tCoursePackage.getClassStartTime().split(",");
+// String[] split1 = tCoursePackage.getClassEndTime().split(",");
+// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+// SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+//
+// Date[] dates = generateDateArray(14,today);
+// for (Date date : dates) {
+// if (count==can){
+// break;
+// }
+// int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date);
+// if (week.contains(wei)){
+// for (int i1 = 0; i1 < split.length; i1++) {
+// if (count==can){
+// break;
+// }
+// CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+// coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+// Date parse = format1.parse(format.format(date) + " " + split[i1]);
+// Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
+// coursePackageScheduling.setClassDate(parse);
+// coursePackageScheduling.setEndDate(parse1);
+// coursePackageScheduling.setStatus(1);
+// coursePackageSchedulingService.save(coursePackageScheduling);
+// CoursePackageStudent student1 = new CoursePackageStudent();
+// student1.setAppUserId(pay.getAppUserId());
+// student1.setStudentId(pay.getStudentId());
+// student1.setCoursePackageId(pay.getCoursePackageId());
+// student1.setCoursePackagePaymentId(pay.getId());
+// student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+// student1.setSignInOrNot(1);
+// student1.setReservationStatus(1);
+// student1.setInsertTime(new Date());
+// studentService.save(student1);
+// count++;
+// }
+// }
+// }
+
+
TCoursePackage tCoursePackage = tcpmapper.selectById(req.getCourseId());
@@ -1232,5 +1340,18 @@
+ public static Date[] generateDateArray(int numDays,Date date) {
+// LocalDate tomorrow = LocalDate.now().plusDays(1);
+ LocalDate tomorrow = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate().plusDays(1);
+
+ Date[] dates = new Date[numDays];
+
+ for (int i = 0; i < numDays; i++) {
+ LocalDate currentDate = tomorrow.plusDays(i);
+ dates[i] = Date.from(currentDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
+ }
+
+ return dates;
+ }
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
index ced476d..7641115 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -1,5 +1,6 @@
package com.dsh.course.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -35,6 +36,7 @@
import com.dsh.course.model.*;
import com.dsh.course.service.*;
import com.dsh.course.util.*;
+import io.vertx.core.json.Json;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -43,6 +45,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
+import java.time.Period;
import java.time.ZoneId;
import java.util.*;
import java.util.stream.Collectors;
@@ -146,7 +149,14 @@
wrapper.or().in("storeId", collect);
}
}
- List<TCoursePackage> list = this.list(wrapper.last(" order by sort desc, insertTime desc"));
+ List<TCoursePackage> list1 = this.list(wrapper.last(" order by sort desc, insertTime desc"));
+ Date currentTime = new Date();
+
+// Filter the list based on the conditions
+ List<TCoursePackage> list = list1.stream()
+ .filter(coursePackage -> coursePackage.getType() != 2 || currentTime.before(coursePackage.getEndTime()))
+ .collect(Collectors.toList());
+
List<CoursePackageListVo> listVos = new ArrayList<>();
for (TCoursePackage coursePackage : list) {
Store store = storeClient.queryStoreById(coursePackage.getStoreId());
@@ -195,7 +205,7 @@
//会员显示原价和会员价(最低)。非会员显示会员价和支付价(最低)
if(appUser.getIsVip() == 0){//非会员
List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
- .eq("type", 1).eq("auditStatus", 2));
+ .eq("type", 1).eq("auditStatus", 2).eq("status",1));
Double vipPrice = coursePackagePaymentConfig.getCashPayment();
for (TCoursePackageDiscount coursePackageDiscount : list2) {
Double num1 = JSON.parseObject(coursePackageDiscount.getContent()).getDouble("discountMember");
@@ -207,7 +217,7 @@
Double paymentPrice = coursePackagePaymentConfig.getCashPayment();
List<TCoursePackageDiscount> list3 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
- .eq("type", 3).eq("auditStatus", 2));
+ .eq("type", 3).eq("auditStatus", 2).eq("status",1));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
for (TCoursePackageDiscount coursePackageDiscount : list3) {
/**
@@ -284,7 +294,7 @@
coursePackageListVo.setPaymentPrice(paymentPrice);
}else{
List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
- .eq("type", 1).eq("auditStatus", 2));
+ .eq("type", 1).eq("auditStatus", 2).eq("status",1));
Double vipPrice = coursePackagePaymentConfig.getCashPayment();
for (TCoursePackageDiscount coursePackageDiscount : list2) {
Double num1 = JSON.parseObject(coursePackageDiscount.getContent()).getDouble("discountMember");
@@ -302,21 +312,41 @@
}
//销量排行
- if(ToolUtil.isNotEmpty(coursePackageList.getSalesRanking())){
+ if(ToolUtil.isNotEmpty(coursePackageList.getSalesRanking())&&coursePackageList.getSalesRanking().equals("asc")){
Collections.sort(listVos, new Comparator<CoursePackageListVo>() {
public int compare(CoursePackageListVo s1, CoursePackageListVo s2) {
return Integer.compare(s1.getApplicantsNumber(), s2.getApplicantsNumber());
}
});
}
+
+
+ if(ToolUtil.isNotEmpty(coursePackageList.getSalesRanking())&&coursePackageList.getSalesRanking().equals("desc")){
+ Collections.sort(listVos, new Comparator<CoursePackageListVo>() {
+ public int compare(CoursePackageListVo s1, CoursePackageListVo s2) {
+ return Integer.compare(s2.getApplicantsNumber(), s1.getApplicantsNumber());
+ }
+ });
+ }
+
+
//距离排行
- if(ToolUtil.isNotEmpty(coursePackageList.getDistanceSort())){
+ if(ToolUtil.isNotEmpty(coursePackageList.getDistanceSort())&&coursePackageList.getDistanceSort().equals("asc")){
Collections.sort(listVos, new Comparator<CoursePackageListVo>() {
public int compare(CoursePackageListVo s1, CoursePackageListVo s2) {
return Double.compare(s1.getDistance(), s2.getDistance());
}
});
}
+ if (ToolUtil.isNotEmpty(coursePackageList.getDistanceSort())&&coursePackageList.getDistanceSort().equals("desc")) {
+ Collections.sort(listVos, new Comparator<CoursePackageListVo>() {
+ public int compare(CoursePackageListVo s1, CoursePackageListVo s2) {
+ return Double.compare(s2.getDistance(), s1.getDistance());
+ }
+ });
+ }
+
+
return listVos;
}
@@ -358,7 +388,18 @@
coursePackageListVo.setId(coursePackage.getId());
coursePackageListVo.setName(coursePackage.getName());
coursePackageListVo.setStoreName(null != store ? store.getName() : "");
+// coursePackageListVo.setPayType();
coursePackageListVo.setCoverDrawing(coursePackage.getCoverDrawing());
+
+ Double cashPayment1 = coursePackagePaymentConfig.getCashPayment();
+ Integer playPaiCoin = coursePackagePaymentConfig.getPlayPaiCoin();
+ if(ToolUtil.isNotEmpty(cashPayment1) && cashPayment1>0 && ToolUtil.isNotEmpty(playPaiCoin) && playPaiCoin>0){
+ coursePackageListVo.setPayType(3);
+ }else if(ToolUtil.isNotEmpty(cashPayment1) && cashPayment1>0){
+ coursePackageListVo.setPayType(1);
+ }else if(ToolUtil.isNotEmpty(playPaiCoin) && playPaiCoin>0){
+ coursePackageListVo.setPayType(2);
+ }
// 2.0修改
String classStartTime = coursePackage.getClassStartTime();
@@ -715,14 +756,10 @@
//校验是否已经报满
Integer integer = coursePackagePaymentService.queryCountNumber(paymentCourseVo.getId());
TCoursePackage course = coursePackageService.getById(paymentCourseVo.getId());
- if (integer>=course.getMaxSubscribeNumber()){
+ if (integer+paymentCourseVo.getStudentIds().split(";").length>course.getMaxSubscribeNumber()){
return ResultUtil.error("报名失败,已达最大报名人数");
}
-
-
-
List<CoursePackagePaymentConfigVo> list = coursePackageInfo.getList();
-
String[] students = paymentCourseVo.getStudentIds().split(";");
for (CoursePackagePaymentConfigVo coursePackagePaymentConfigVo : list) {
if(paymentCourseVo.getCoursePackagePaymentConfigId().compareTo(coursePackagePaymentConfigVo.getId()) == 0){
@@ -739,7 +776,6 @@
if((cashPayment!=null || cashPayment>0) &&(playPaiCoin1!=null || playPaiCoin1>0)){
payType=3;
}
-
if(cashPayment!=null && cashPayment>0 && playPaiCoin1 !=null && playPaiCoin1>0){
}else {
if(payType == 1 && paymentCourseVo.getPayType() == 3){//现金支付
@@ -749,12 +785,11 @@
return ResultUtil.error("支付方式错误,请刷新后重试");
}
}
-
Double paymentPrice = coursePackagePaymentConfigVo.getPaymentPrice();//支付价
paymentPrice = new BigDecimal(students.length).multiply(new BigDecimal(paymentPrice)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
Double playPaiCoin = coursePackagePaymentConfigVo.getPlayPaiCoin().doubleValue();//支付币
playPaiCoin = new BigDecimal(students.length).multiply(new BigDecimal(playPaiCoin)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
- if(paymentCourseVo.getPayType() != 3 && paymentPrice.compareTo(paymentCourseVo.getPrice()) != 0){
+ if(paymentCourseVo.getPayType() != 3 && paymentPrice.compareTo(paymentCourseVo.getPrice()) != 0&&paymentCourseVo.getCouponId()!=null){
return ResultUtil.error("支付金额异常,请刷新后重试");
}
if(paymentCourseVo.getPayType() == 3 && playPaiCoin.compareTo(paymentCourseVo.getPrice()) != 0){
@@ -762,9 +797,7 @@
}
}
}
-
Double price = paymentCourseVo.getPrice();//支付金额
-
//校验优惠券
Long couponId = paymentCourseVo.getCouponId();
if(null != couponId && paymentCourseVo.getPayType() != 3){
@@ -850,6 +883,15 @@
coursePackagePayment.setState(1);
coursePackagePayment.setInsertTime(new Date());
coursePackagePaymentService.save(coursePackagePayment);
+
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(coursePackagePayment.getId());
+ courseCounsum.setChangeType(1);
+ courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("购买课包");
+ courseCounsumService.save(courseCounsum);
}
Student student = studentClient.queryDefaultStudent(uid);
@@ -905,7 +947,7 @@
// 2.0
userCouponClient.sendUserCoupon(new SendCouponReq(uid,coursePackagePaymentConfig.getCouponIds()));
- addPackageStudent(paymentCourseVo.getId(),uid, finalSid,one.getId());
+ addPackageStudent(paymentCourseVo.getId(),uid, finalSid,one.getId(),null);
break;
}
if("USERPAYING".equals(s)){
@@ -937,26 +979,109 @@
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
for (String s : split) {
- TCoursePackagePayment coursePackagePayment = new TCoursePackagePayment();
- coursePackagePayment.setCode(code);
- coursePackagePayment.setAppUserId(uid);
- coursePackagePayment.setStudentId(Integer.valueOf(s));
- coursePackagePayment.setCoursePackageId(paymentCourseVo.getId());
- coursePackagePayment.setPayType(paymentCourseVo.getPayType());
- coursePackagePayment.setClassHours(coursePackagePaymentConfig.getClassHours());
- coursePackagePayment.setOriginalPrice(paymentCourseVo.getPrice());
- coursePackagePayment.setUserCouponId(paymentCourseVo.getCouponId());
- coursePackagePayment.setCashPayment(new BigDecimal(paymentPrice));
- coursePackagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours());
- coursePackagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours());
- coursePackagePayment.setAbsencesNumber(0);
- coursePackagePayment.setPayUserType(1);
- coursePackagePayment.setPayStatus(1);
- coursePackagePayment.setPayUserId(uid);
- coursePackagePayment.setStatus(1);
- coursePackagePayment.setState(1);
- coursePackagePayment.setInsertTime(new Date());
- coursePackagePaymentService.save(coursePackagePayment);
+// TCoursePackagePayment coursePackagePayment = new TCoursePackagePayment();
+// coursePackagePayment.setCode(code);
+// coursePackagePayment.setAppUserId(uid);
+// coursePackagePayment.setStudentId(Integer.valueOf(s));
+// coursePackagePayment.setCoursePackageId(paymentCourseVo.getId());
+// coursePackagePayment.setPayType(paymentCourseVo.getPayType());
+// coursePackagePayment.setClassHours(coursePackagePaymentConfig.getClassHours());
+// coursePackagePayment.setOriginalPrice(paymentCourseVo.getPrice());
+// coursePackagePayment.setUserCouponId(paymentCourseVo.getCouponId());
+// coursePackagePayment.setCashPayment(new BigDecimal(paymentPrice));
+// coursePackagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours());
+// coursePackagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours());
+// coursePackagePayment.setAbsencesNumber(0);
+// coursePackagePayment.setPayUserType(1);
+// coursePackagePayment.setPayStatus(1);
+// coursePackagePayment.setPayUserId(uid);
+// coursePackagePayment.setStatus(1);
+// coursePackagePayment.setState(1);
+// coursePackagePayment.setInsertTime(new Date());
+// coursePackagePaymentService.save(coursePackagePayment);
+//
+//
+// CourseCounsum courseCounsum = new CourseCounsum();
+// courseCounsum.setPaymentId(coursePackagePayment.getId());
+// courseCounsum.setChangeType(1);
+// courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
+// courseCounsum.setInsertTime(new Date());
+// courseCounsum.setReason("购买课包");
+// courseCounsumService.save(courseCounsum);
+
+ TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s).eq("coursePackageId", paymentCourseVo.getId()));
+
+ if (coursePackagePaymentServiceOne==null) {
+ TCoursePackagePayment coursePackagePayment = new TCoursePackagePayment();
+ coursePackagePayment.setCode(code);
+ coursePackagePayment.setAppUserId(uid);
+ coursePackagePayment.setStudentId(Integer.valueOf(s));
+ coursePackagePayment.setCoursePackageId(paymentCourseVo.getId());
+ coursePackagePayment.setPayType(paymentCourseVo.getPayType());
+ coursePackagePayment.setClassHours(coursePackagePaymentConfig.getClassHours());
+ coursePackagePayment.setOriginalPrice(paymentCourseVo.getPrice());
+ coursePackagePayment.setPlayPaiCoin(paymentPrice.intValue());
+ coursePackagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours());
+ coursePackagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours());
+ coursePackagePayment.setAbsencesNumber(0);
+ coursePackagePayment.setPayUserType(1);
+ coursePackagePayment.setPayStatus(1);
+ coursePackagePayment.setPayUserId(uid);
+ coursePackagePayment.setStatus(1);
+ coursePackagePayment.setState(1);
+ coursePackagePayment.setInsertTime(new Date());
+ coursePackagePaymentService.save(coursePackagePayment);
+ Integer sId = null;
+ Student student = studentClient.queryDefaultStudent(uid);
+ if (student != null) {
+ sId = student.getId();
+ }
+
+// coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue());
+
+// addPackageStudent(paymentCourseVo.getId(), uid, Integer.valueOf(s), coursePackagePayment.getId());
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(coursePackagePayment.getId());
+ courseCounsum.setChangeType(1);
+ courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("购买课包");
+ courseCounsumService.save(courseCounsum);
+
+ }else {
+ coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours());
+ coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice()+paymentCourseVo.getPrice());
+ coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue());
+ coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours());
+ coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours());
+ coursePackagePaymentServiceOne.setCode(code);
+
+ coursePackagePaymentServiceOne.setAppUserId(null);
+ coursePackagePaymentServiceOne.setPayStatus(1);
+ coursePackagePaymentService.updateById(coursePackagePaymentServiceOne);
+
+// coursePackagePaymentService.save(coursePackagePayment);
+ Integer sId = null;
+ Student student = studentClient.queryDefaultStudent(uid);
+ if (student != null) {
+ sId = student.getId();
+ }
+ coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue());
+
+
+// addPackageStudent(paymentCourseVo.getId(), uid, Integer.valueOf(s), coursePackagePaymentServiceOne.getId());
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(coursePackagePaymentServiceOne.getId());
+ courseCounsum.setChangeType(1);
+ courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("续课");
+ courseCounsumService.save(courseCounsum);
+
+
+ }
}
Student student = studentClient.queryDefaultStudent(uid);
@@ -1016,8 +1141,15 @@
userCouponClient.sendUserCoupon(new SendCouponReq(uid,coursePackagePaymentConfig.getCouponIds()));
+ for (TCoursePackagePayment coursePackagePayment : list) {
+ addPackageStudent(paymentCourseVo.getId(),uid, finalSid,coursePackagePayment.getId(),paymentCourseVo.getPrice());
+
+
+ }
moneyOut(tradeNo,tradeNo);
+
+
@@ -1025,7 +1157,6 @@
if(student!=null){
}
- addPackageStudent(paymentCourseVo.getId(),uid, finalSid,one.getId());
break;
}
if("WAIT_BUYER_PAY".equals(s)){
@@ -1129,6 +1260,10 @@
+ @Autowired
+ private CourseCounsumService courseCounsumService;
+
+
/**
* 玩湃币支付课程
@@ -1143,33 +1278,96 @@
String[] split = paymentCourseVo.getStudentIds().split(";");
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
- for (String s : split) {
- TCoursePackagePayment coursePackagePayment = new TCoursePackagePayment();
- coursePackagePayment.setCode(code);
- coursePackagePayment.setAppUserId(appUser.getId());
- coursePackagePayment.setStudentId(Integer.valueOf(s));
- coursePackagePayment.setCoursePackageId(paymentCourseVo.getId());
- coursePackagePayment.setPayType(paymentCourseVo.getPayType());
- coursePackagePayment.setClassHours(coursePackagePaymentConfig.getClassHours());
- coursePackagePayment.setOriginalPrice(paymentCourseVo.getPrice());
- coursePackagePayment.setPlayPaiCoin(paymentPrice.intValue());
- coursePackagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours());
- coursePackagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours());
- coursePackagePayment.setAbsencesNumber(0);
- coursePackagePayment.setPayUserType(1);
- coursePackagePayment.setPayStatus(2);
- coursePackagePayment.setPayUserId(appUser.getId());
- coursePackagePayment.setStatus(1);
- coursePackagePayment.setState(1);
- coursePackagePayment.setInsertTime(new Date());
- coursePackagePaymentService.save(coursePackagePayment);
- Integer sId=null;
- Student student = studentClient.queryDefaultStudent(appUser.getId());
- if(student!=null){
- sId=student.getId();
+
+ //赠送课时
+ int weekday = DateUtil.dayOfWeek(new Date()) - 1;
+ TCoursePackageDiscount discount = coursePackageDiscountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("type",4).eq("coursePackageId", paymentCourseVo.getId()).last("limit 1"));
+
+ Integer hour = 0;
+ if (discount!=null) {
+ JSONArray objects = JSONObject.parseArray(discount.getContent());
+ JSONObject parse = JSONObject.parseObject(JSONObject.toJSONString(objects.get(0)));
+ hour = parse.getInteger("hour");
+ if (hour == null) {
+ hour = 0;
}
- addPackageStudent(paymentCourseVo.getId(),appUser.getId(), Integer.valueOf(s),coursePackagePayment.getId());
+ }
+
+ for (String s : split) {
+ TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s).eq("coursePackageId", paymentCourseVo.getId()));
+
+
+
+ if (coursePackagePaymentServiceOne==null) {
+ TCoursePackagePayment coursePackagePayment = new TCoursePackagePayment();
+ coursePackagePayment.setCode(code);
+ coursePackagePayment.setAppUserId(appUser.getId());
+ coursePackagePayment.setStudentId(Integer.valueOf(s));
+ coursePackagePayment.setCoursePackageId(paymentCourseVo.getId());
+ coursePackagePayment.setPayType(paymentCourseVo.getPayType());
+ coursePackagePayment.setClassHours(coursePackagePaymentConfig.getClassHours()+hour);
+ coursePackagePayment.setOriginalPrice(paymentCourseVo.getPrice());
+ coursePackagePayment.setPlayPaiCoin(paymentPrice.intValue());
+ coursePackagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours()+hour);
+ coursePackagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours()+hour);
+ coursePackagePayment.setAbsencesNumber(0);
+ coursePackagePayment.setPayUserType(1);
+ coursePackagePayment.setPayStatus(2);
+ coursePackagePayment.setPayUserId(appUser.getId());
+ coursePackagePayment.setStatus(1);
+ coursePackagePayment.setState(1);
+ coursePackagePayment.setInsertTime(new Date());
+ coursePackagePaymentService.save(coursePackagePayment);
+ Integer sId = null;
+ Student student = studentClient.queryDefaultStudent(appUser.getId());
+ if (student != null) {
+ sId = student.getId();
+ }
+ addPackageStudent(paymentCourseVo.getId(), appUser.getId(), Integer.valueOf(s), coursePackagePayment.getId(),null);
+
+ //课时记录
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(coursePackagePayment.getId());
+ courseCounsum.setChangeType(1);
+ courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("购买课包");
+ courseCounsumService.save(courseCounsum);
+
+ }else {
+ coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()+hour);
+ coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice()+paymentCourseVo.getPrice());
+ if (coursePackagePaymentServiceOne.getPlayPaiCoin()==null){
+ coursePackagePaymentServiceOne.setPlayPaiCoin(paymentPrice.intValue());
+
+ }else {
+ coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue());}
+ coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours()+hour);
+ coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours()+hour);
+ coursePackagePaymentServiceOne.setAppUserId(null);
+ coursePackagePaymentService.updateById(coursePackagePaymentServiceOne);
+
+// coursePackagePaymentService.save(coursePackagePayment);
+ Integer sId = null;
+ Student student = studentClient.queryDefaultStudent(appUser.getId());
+ if (student != null) {
+ sId = student.getId();
+ }
+ addPackageStudent(paymentCourseVo.getId(), appUser.getId(), Integer.valueOf(s), coursePackagePaymentServiceOne.getId(),null);
+
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(coursePackagePaymentServiceOne.getId());
+ courseCounsum.setChangeType(1);
+ courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("续课");
+ courseCounsumService.save(courseCounsum);
+
+
+ }
+
}
Integer playPaiCoins = appUser.getPlayPaiCoins();
@@ -1189,235 +1387,167 @@
- private void addPackageStudent(Integer courseId, Integer userId, Integer sId,Long paymentId) throws ParseException {
+ private void addPackageStudent(Integer courseId, Integer userId, Integer sId,Long paymentId,Double price) throws ParseException {
// 课包
TCoursePackage tCoursePackage = this.baseMapper.selectById(courseId);
- String classWeeks = tCoursePackage.getClassWeeks();
- List<Integer> week = week(classWeeks);
+ if (tCoursePackage.getType()==1) {
+ String classWeeks = tCoursePackage.getClassWeeks();
- String[] split = tCoursePackage.getClassStartTime().split(",");
- String[] split1 = tCoursePackage.getClassEndTime().split(",");
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ List<Integer> week = week(classWeeks);
- //查出当前用户当前学员当前课包最后一天的排课数据
- List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", sId).eq("coursePackageId", courseId));
- List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
- //拿到最后一天的排课记录
+ String[] split = tCoursePackage.getClassStartTime().split(",");
+ String[] split1 = tCoursePackage.getClassEndTime().split(",");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
- CoursePackageScheduling cs = null;
- if (collect.size()>0) {
- cs = coursePackageSchedulingService.getOne(new QueryWrapper<CoursePackageScheduling>().in("id", collect).orderByDesc("classDate").last("limit 1"));
-
- }
- int i = -1;
-
-// Calendar calendar = Calendar.getInstance();
-// Date currentDate = calendar.getTime();
-// calendar.add(Calendar.DAY_OF_MONTH, -1);
-// Date today = calendar.getTime();
- Date today = new Date();
-
- //判断最后一天是否超过当前日期
- if (cs==null||cs.getClassDate().before(new Date())){
- i = DateUtil.dayOfWeek(new Date())-1;
- }else {
- i = DateUtil.dayOfWeek(cs.getClassDate())-1;
- today = cs.getClassDate();
- }
+ //查出当前用户当前学员当前课包最后一天的排课数据
+ List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", sId).eq("coursePackageId", courseId));
+ List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
- TCoursePackagePayment pay = coursePackagePaymentService.getById(paymentId);
- Integer laveClassHours = pay.getLaveClassHours();
- Integer codeTime = tCoursePackage.getCodeTime();
- Integer can = 0;
- int count = 0;
+ //拿到最后一天的排课记录
+ if (collect.size() > 0){
+ coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
+ coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", sId).eq("coursePackageId", courseId));
+ if (price!=null) {
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(paymentId);
+ courseCounsum.setChangeType(3);
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("续课;" + price);
+ courseCounsum.setAppUserId(userId);
+ courseCounsumService.save(courseCounsum);
+ }
- // 本周周几
-// int i = DateUtil.dayOfWeek(new Date())-1;
+ }else {
+ if (price!=null) {
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(paymentId);
+ courseCounsum.setChangeType(3);
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("报名课程;" + price);
+ courseCounsum.setAppUserId(userId);
+ courseCounsumService.save(courseCounsum);
+ }
+ }
+ Date today = new Date();
+ TCoursePackagePayment pay = coursePackagePaymentService.getById(paymentId);
+ Integer laveClassHours = pay.getLaveClassHours();
+ Integer codeTime = tCoursePackage.getCodeTime();
+ Integer can = 0;
+ int count = 0;
+ // 本周周几
+ Date[] dates = generateDateArray(14, today);
+ if (tCoursePackage.getType() == 1) {
+ can = laveClassHours / codeTime;
+ }
+ if (tCoursePackage.getType() == 2) {
+ Date startDate = tCoursePackage.getStartTime();
+ Date endDate = tCoursePackage.getEndTime();
+ dates = generateDateArray1(startDate, endDate);
+ can = 999;
+ }
+ for (Date date : dates) {
+ if (count == can) {
+ break;
+ }
+ int wei = DateUtil.dayOfWeek(date);
+ if (week.contains(wei)) {
+ for (int i1 = 0; i1 < split.length; i1++) {
+ if (count == can) {
+ break;
+ }
+ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+ coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+ Date parse = format1.parse(format.format(date) + " " + split[i1]);
+ Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
+ coursePackageScheduling.setClassDate(parse);
+ coursePackageScheduling.setEndDate(parse1);
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.save(coursePackageScheduling);
+ CoursePackageStudent student1 = new CoursePackageStudent();
+ student1.setAppUserId(userId);
+ student1.setStudentId(sId);
+ student1.setCoursePackageId(tCoursePackage.getId());
+ student1.setCoursePackagePaymentId(paymentId);
+ student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+ student1.setSignInOrNot(1);
+ student1.setReservationStatus(1);
+ student1.setInsertTime(new Date());
+ cpsMapper.insert(student1);
+ count++;
+ }
+ }
+ }
- Date[] dates = generateDateArray(14,today);
- if (tCoursePackage.getType()==1){
- can = laveClassHours/codeTime;
- }
- if (tCoursePackage.getType()==2){
- Date startDate = tCoursePackage.getStartTime();
- Date endDate = tCoursePackage.getEndTime();
- dates = generateDateArray1(startDate, endDate);
- can = 999;
- }
+ }else if (tCoursePackage.getType()==2){
+ String classWeeks = tCoursePackage.getClassWeeks();
+ List<Integer> week = week(classWeeks);
- for (Date date : dates) {
- if (count==can){
- break;
- }
- int wei = DateUtil.dayOfWeek(date);
- if (week.contains(wei)){
- for (int i1 = 0; i1 < split.length; i1++) {
- if (count==can){
- break;
- }
- CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
- coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
- Date parse = format1.parse(format.format(date) + " " + split[i1]);
- Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
- coursePackageScheduling.setClassDate(parse);
- coursePackageScheduling.setEndDate(parse1);
- coursePackageScheduling.setStatus(1);
- coursePackageSchedulingService.save(coursePackageScheduling);
- CoursePackageStudent student1 = new CoursePackageStudent();
- student1.setAppUserId(userId);
- student1.setStudentId(sId);
- student1.setCoursePackageId(tCoursePackage.getId());
- student1.setCoursePackagePaymentId(paymentId);
- student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
- student1.setSignInOrNot(1);
- student1.setReservationStatus(1);
- student1.setInsertTime(new Date());
- cpsMapper.insert(student1);
- count++;
+ Date today = new Date();
+
+ Date startTime = tCoursePackage.getStartTime();
+ Date endTime = tCoursePackage.getEndTime();
+ LocalDate startDate = startTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+ LocalDate endDate = endTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+ Period period = Period.between(startDate, endDate);
+ int days = period.getDays() + 1;
+ Integer can =999;
+ int count = 0;
+ String[] split = tCoursePackage.getClassStartTime().split(",");
+ String[] split1 = tCoursePackage.getClassEndTime().split(",");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(startTime);
+ calendar.add(Calendar.DAY_OF_MONTH, -1);
+
+ TCoursePackagePayment pay = coursePackagePaymentService.getById(paymentId);
+
+
+ Date[] dates = generateDateArray(days,calendar.getTime());
+ for (Date date : dates) {
+ if (count==can){
+ break;
+ }
+ int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date)-1;
+ if (wei == 0){
+ wei =7;
+ }
+ if (week.contains(wei)){
+ for (int i1 = 0; i1 < split.length; i1++) {
+ if (count==can){
+ break;
+ }
+ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+ coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+ Date parse = format1.parse(format.format(date) + " " + split[i1]);
+ Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
+ coursePackageScheduling.setClassDate(parse);
+ coursePackageScheduling.setEndDate(parse1);
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.save(coursePackageScheduling);
+ CoursePackageStudent student1 = new CoursePackageStudent();
+ student1.setAppUserId(userId);
+ student1.setStudentId(sId);
+ student1.setCoursePackageId(tCoursePackage.getId());
+ student1.setCoursePackagePaymentId(pay.getId());
+ student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+ student1.setSignInOrNot(1);
+ student1.setReservationStatus(1);
+ student1.setInsertTime(new Date());
+ cpsMapper.insert(student1);
+ count++;
+ }
}
}
}
-
-
-// for (Integer integer : week) {
-// if (count==can){
-// break;
-// }
-// if(integer<i){
-// // 找下一周的时间
-// Calendar instance = Calendar.getInstance();
-// if (cs==null||cs.getClassDate().before(new Date())){
-// instance = Calendar.getInstance();
-// }else {
-//// i = DateUtil.dayOfWeek(cs.getClassDate())-1;
-// instance.setTime(cs.getClassDate());
-// }
-// instance.add(Calendar.DATE,7-(i-integer));
-// Date time = instance.getTime();
-//
-// for (int i1 = 0; i1 < split.length; i1++) {
-// if (count==can){
-// break;
-// }
-//
-// CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
-// coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
-// Date parse = format1.parse(format.format(time) + " " + split[i1]);
-// Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
-// coursePackageScheduling.setClassDate(parse);
-// coursePackageScheduling.setEndDate(parse1);
-// coursePackageScheduling.setStatus(1);
-// coursePackageSchedulingService.save(coursePackageScheduling);
-//
-// CoursePackageStudent student1 = new CoursePackageStudent();
-// student1.setAppUserId(userId);
-// student1.setStudentId(sId);
-// student1.setCoursePackageId(tCoursePackage.getId());
-// student1.setCoursePackagePaymentId(paymentId);
-// student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
-// student1.setSignInOrNot(1);
-// student1.setReservationStatus(1);
-// student1.setInsertTime(new Date());
-// cpsMapper.insert(student1);
-// count++;
-// }
-//
-//
-// }else if(integer>i) {
-// if (count==can){
-// break;
-// }
-//
-//// Calendar instance = Calendar.getInstance();
-//
-// Calendar instance = Calendar.getInstance();
-// if (cs==null||cs.getClassDate().before(new Date())){
-// instance = Calendar.getInstance();
-// }else {
-//// i = DateUtil.dayOfWeek(cs.getClassDate())-1;
-// instance.setTime(cs.getClassDate());
-// }
-// instance.add(Calendar.DATE,integer-i);
-// Date time1 = instance.getTime();
-// List<Date> list = new ArrayList<>();
-// list.add(time1);
-// instance.add(Calendar.DATE,7);
-// Date time2 = instance.getTime();
-// list.add(time2);
-// for (Date time : list) {
-// for (int i1 = 0; i1 < split.length; i1++) {
-// CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
-// coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
-// Date parse = format1.parse(format.format(time) + " " + split[i1]);
-// Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
-// coursePackageScheduling.setClassDate(parse);
-// coursePackageScheduling.setEndDate(parse1);
-// coursePackageScheduling.setStatus(1);
-// coursePackageSchedulingService.save(coursePackageScheduling);
-//
-// CoursePackageStudent student1 = new CoursePackageStudent();
-// student1.setAppUserId(userId);
-// student1.setStudentId(sId);
-// student1.setCoursePackageId(tCoursePackage.getId());
-// student1.setCoursePackagePaymentId(paymentId);
-// student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
-// student1.setSignInOrNot(1);
-// student1.setReservationStatus(1);
-// student1.setInsertTime(new Date());
-// cpsMapper.insert(student1);
-// count++;
-//
-// }
-// }
-//
-// }else {
-//// Calendar instance = Calendar.getInstance();
-// Calendar instance = Calendar.getInstance();
-// if (cs==null||cs.getClassDate().before(new Date())){
-// instance = Calendar.getInstance();
-// }else {
-//// i = DateUtil.dayOfWeek(cs.getClassDate())-1;
-// instance.setTime(cs.getClassDate());
-// }
-// instance.add(Calendar.DATE,7);
-// Date time = instance.getTime();
-//
-// for (int i1 = 0; i1 < split.length; i1++) {
-// if (count==can){
-// break;
-// }
-//
-// CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
-// coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
-// Date parse = format1.parse(format.format(time) + " " + split[i1]);
-// Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
-// coursePackageScheduling.setClassDate(parse);
-// coursePackageScheduling.setEndDate(parse1);
-// coursePackageScheduling.setStatus(1);
-// coursePackageSchedulingService.save(coursePackageScheduling);
-//
-// CoursePackageStudent student1 = new CoursePackageStudent();
-// student1.setAppUserId(userId);
-// student1.setStudentId(sId);
-// student1.setCoursePackageId(tCoursePackage.getId());
-// student1.setCoursePackagePaymentId(paymentId);
-// student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
-// student1.setSignInOrNot(1);
-// student1.setReservationStatus(1);
-// student1.setInsertTime(new Date());
-// cpsMapper.insert(student1);
-// count++;
-//
-// }
-// }
-// }
// 2.0
TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
tCourseInfoRecord.setUserId(userId);
@@ -1738,22 +1868,27 @@
@Override
public ResultUtil paymentCourseCouponList(Integer uid, Integer coursePackagePaymentConfigId) {
- CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getById(coursePackagePaymentConfigId);
- if(ToolUtil.isEmpty(coursePackagePaymentConfig.getCouponIds())){
- coursePackagePaymentConfig.setCouponIds("-1");
- }
- List<Coupon> coupons = couponClient.getCoupons(coursePackagePaymentConfig.getCouponIds());
+// CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getById(coursePackagePaymentConfigId);
+// if(ToolUtil.isEmpty(coursePackagePaymentConfig.getCouponIds())){
+// coursePackagePaymentConfig.setCouponIds("-1");
+// }
+// List<Coupon> coupons = couponClient.getCoupons(coursePackagePaymentConfig.getCouponIds());
- for (Coupon coupon : coupons) {
- Date date1 = coupon.getStartTime(); // 2023-10-01 00:00:00
- Date date2 = coupon.getEndTime(); // 2023-10-12 00:00:00
+ List<Coupon> coupons = couponClient.queryCouponByUid(uid);
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
- String dateString1 = sdf.format(date1);
- String dateString2 = sdf.format(date2);
- String result = dateString1 + "-" + dateString2;
- coupon.setTimePeriod(result);
+ if (CollectionUtil.isNotEmpty(coupons)) {
+ for (Coupon coupon : coupons){
+ Date date1 = coupon.getStartTime(); // 2023-10-01 00:00:00
+ Date date2 = coupon.getEndTime(); // 2023-10-12 00:00:00
+
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
+ String dateString1 = sdf.format(date1);
+ String dateString2 = sdf.format(date2);
+
+ String result = dateString1 + "-" + dateString2;
+ coupon.setTimePeriod(result);
+ }
}
return ResultUtil.success(coupons);
}
diff --git a/cloud-server-course/src/main/resources/mapper/CoursePackageSchedulingMapper.xml b/cloud-server-course/src/main/resources/mapper/CoursePackageSchedulingMapper.xml
index b8daa9b..dd6e830 100644
--- a/cloud-server-course/src/main/resources/mapper/CoursePackageSchedulingMapper.xml
+++ b/cloud-server-course/src/main/resources/mapper/CoursePackageSchedulingMapper.xml
@@ -31,9 +31,10 @@
</select>
<select id="queryAll" resultType="com.dsh.course.model.vo.response.AppUserVideoResponse">
- SELECT cs.courseId as videoId,cs.coursePackageId as coursePackageId,tc.coverDrawing,tc.name as videoName,tc.introduce as synopsis,cs.integral,tc.courseVideo as courseVideo
+ SELECT cs.courseId as videoId,cs.coursePackageId as coursePackageId,tc.coverDrawing as coverImage,tc.name as videoName,tc.introduce as synopsis,cs.integral,tc.courseVideo as courseVideo,cp.name as packageName
FROM t_course_package_scheduling cs
LEFT JOIN t_course tc ON cs.courseId = tc.id
+ left join t_course_package cp on cs.coursePackageId = cp.id
WHERE cs.courseId IS NOT NULL
<if test="longs != null">
AND cs.id IN
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageSchedulingClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageSchedulingClient.java
index 2cd8012..08726c8 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageSchedulingClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageSchedulingClient.java
@@ -6,6 +6,7 @@
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
+import java.util.List;
import java.util.Map;
/**
@@ -44,4 +45,6 @@
@PostMapping("/coursePackageScheduling/saveCoursePackageScheduling")
void save(CoursePackageScheduling coursePackageScheduling);
+ @PostMapping("/coursePackageScheduling/queryCoursePackageSchedulingsById")
+ List<CoursePackageScheduling> queryCoursePackageSchedulingsById(Long id);
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java
index bb9f556..b0bcd56 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java
@@ -9,6 +9,7 @@
import com.dsh.guns.config.UserExt;
import com.dsh.guns.core.support.HttpKit;
import com.dsh.guns.core.util.ToolUtil;
+import com.dsh.guns.modular.system.model.CourseCounsum;
import com.dsh.guns.modular.system.model.TStore;
import com.dsh.guns.modular.system.service.ICoursePackageService;
import com.dsh.guns.modular.system.service.IStoreService;
@@ -474,6 +475,7 @@
}
+
/**
* 上传消课凭证
* @param id
@@ -483,7 +485,12 @@
*/
@Override
public ResultUtil cancellationRecord(Long id, String cancelClasses, Integer deductClassHour) {
- CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id);
+// CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id);
+
+ List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingClient.queryCoursePackageSchedulingsById(id);
+
+ for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) {
+
if(coursePackageScheduling.getStatus() == 1 || coursePackageScheduling.getStatus() == 4){
return ResultUtil.error("不能添加消课凭证");
}
@@ -522,7 +529,15 @@
cancelledClasses.setCancelledClassesNumber(deductClassHour);}
cancelledClasses.setInsertTime(new Date());
cancelledClassesClient.addCancelledClasses(cancelledClasses);
+
+
+
+
+
+
}
+ }
+
return ResultUtil.success();
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
index baf6f33..b5e85a8 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
@@ -5,12 +5,14 @@
import com.alipay.api.response.AlipayTradeQueryResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.dsh.other.entity.SiteLock;
import com.dsh.other.entity.TGame;
import com.dsh.other.entity.TGameConfig;
import com.dsh.other.entity.TGameRecord;
import com.dsh.other.feignclient.account.AppUserClient;
import com.dsh.other.feignclient.account.model.AppUser;
import com.dsh.other.model.QueryMySiteVo;
+import com.dsh.other.service.ISiteLockService;
import com.dsh.other.service.TGameConfigService;
import com.dsh.other.service.TGameRecordService;
import com.dsh.other.service.TGameService;
@@ -29,13 +31,13 @@
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
-
@RestController
@RequestMapping("/api/game")
public class GameController {
@Autowired
private TGameRecordService gameRecordService;
+
@Autowired
private TGameService gameService;
@@ -70,6 +72,9 @@
}
}
+@Autowired
+private ISiteLockService lockService;
+
@ResponseBody
@PostMapping("/queryGameList")
@@ -82,6 +87,18 @@
public ResultUtil<List<TGameConfig>> queryGameList(Integer siteId, Integer storeId){
try {
List<TGameConfig> tGameConfigs = new ArrayList<>();
+
+ List<SiteLock> lock = lockService.list(new QueryWrapper<SiteLock>().eq("siteId", siteId));
+
+ Date now = new Date();
+ for (SiteLock siteLock : lock) {
+ if (now.after(siteLock.getStartTime())&&now.before(siteLock.getEndTime())){
+ return ResultUtil.error("当前场地已被锁定");
+ }
+
+
+ }
+
List<TGame> list = gameService.list(new LambdaQueryWrapper<TGame>().eq(TGame::getSiteId, siteId).eq(TGame::getStoreId, storeId).eq(TGame::getState,0));
if(list.size()>0){
@@ -187,7 +204,11 @@
}
return weixinpay;
}else if(type==2){
- ResultUtil alipay = payMoneyUtil.alipay("游戏支付", "游戏支付", "", code, config.getCash().toString(), "/base/course/aliPaymentCourseCallback");
+// Integer gameId, Integer configId,Integer type,Integer sutuId,Integer spaceId;
+
+ String params = uid+"_"+gameId+"_"+spaceId+"_"+sutuId;
+
+ ResultUtil alipay = payMoneyUtil.alipay("游戏支付", "游戏支付", params, code, config.getCash().toString(), "/base/site/gameCallback");
if(alipay.getCode() == 200){
new Thread(new Runnable() {
@Override
@@ -268,6 +289,7 @@
}
int i1 = playPaiCoins - i;
appUser.setIntegral(i1);
+ appUser.setPoints(playCoin.intValue());
appUserClient.updateAppUser(appUser);
startGame(uid,gameId,spaceId,sutuId);
return ResultUtil.success();
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/HonorController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/HonorController.java
index 39a8f85..a35f8b5 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/HonorController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/HonorController.java
@@ -42,7 +42,7 @@
wrapper1.eq("type",type1);
List<HonorRules> list1 = hrService.list(wrapper1);
for (int i = 0; i < list1.size(); i++) {
- list1.get(i).setCondition(condition1.get(i));
+ list1.get(i).setCondition(Integer.valueOf(condition1.get(i)));
}
hrService.updateBatchById(list1);
@@ -52,7 +52,7 @@
wrapper2.eq("type",type2);
List<HonorRules> list2 = hrService.list(wrapper2);
for (int i = 0; i < list1.size(); i++) {
- list2.get(i).setCondition(condition2.get(i));
+ list2.get(i).setCondition(Integer.valueOf(condition2.get(i)));
}
hrService.updateBatchById(list2);
@@ -62,7 +62,7 @@
wrapper3.eq("type",type3);
List<HonorRules> list3 = hrService.list(wrapper3);
for (int i = 0; i < list1.size(); i++) {
- list3.get(i).setCondition(condition3.get(i));
+ list3.get(i).setCondition(Integer.valueOf(condition3.get(i)));
}
hrService.updateBatchById(list3);
@@ -72,21 +72,49 @@
wrapper4.eq("type",type4);
List<HonorRules> list4 = hrService.list(wrapper4);
for (int i = 0; i < list1.size(); i++) {
- list4.get(i).setCondition(condition4.get(i));
+ list4.get(i).setCondition(Integer.valueOf(condition4.get(i)));
}
hrService.updateBatchById(list4);
return ResultUtil.success();
}
+ @Autowired
+ private HonorRulesService honorRulesService;
+ @PostMapping("/base/honor/getHonor")
+ public HonorRules getHonor(@RequestBody List<Integer> integers){
+// HonorRules one = honorRulesService.getOne(new QueryWrapper<HonorRules>().eq("type", integers.get(0)).le("condition", String.valueOf(integers.get(1))).last("limit 1"));
+ HonorRules one = honorRulesService.getOne(new QueryWrapper<HonorRules>()
+ .eq("type", integers.get(0))
+ .le("`condition`",integers.get(1)).orderByDesc("level")
+ .last("LIMIT 1"));
+
+ if (one ==null){
+ HonorRules one1 = honorRulesService.getOne(new QueryWrapper<HonorRules>()
+ .eq("type", integers.get(0))
+ .eq("level",1)
+ .last("LIMIT 1"));
+ return one1;
+ }
+
+ if (one.getLevel().equals("10")){
+ return one;
+ }
+ HonorRules one2 = honorRulesService.getOne(new QueryWrapper<HonorRules>().eq("type", integers.get(0)).eq("level", Integer.valueOf(one.getLevel()) + 1));
+ return one2;
+ }
+
@PostMapping("/base/honor/stuHonors")
public List<StuMedalVo> getStuHonors(@RequestBody List<Integer> honorIds){
List<StuMedalVo> stuMedalVos = new ArrayList<>();
List<HonorRules> honorRules = hrService.querylistOfIds(honorIds);
+
+
+
if (honorRules.size() > 0){
honorRules.forEach(hrs -> {
StuMedalVo stuMedalVo = new StuMedalVo();
- stuMedalVo.setLevelNum(Integer.getInteger(hrs.getLevel()));
+ stuMedalVo.setLevelNum(Integer.getInteger(String.valueOf(hrs.getLevel())));
stuMedalVo.setMedalType(hrs.getType());
switch (hrs.getType()){
case 1:
@@ -105,9 +133,9 @@
break;
}
if (!Objects.equals(hrs.getLevel(), "10")){
- stuMedalVo.setLevelNum(Integer.parseInt(hrs.getLevel()));
- stuMedalVo.setNextLevel(Integer.parseInt(hrs.getLevel())+1);
- stuMedalVo.setUpgradeConditions(hrs.getCondition());
+ stuMedalVo.setLevelNum(Integer.parseInt(String.valueOf(hrs.getLevel())));
+ stuMedalVo.setNextLevel(Integer.parseInt(String.valueOf(hrs.getLevel()))+1);
+ stuMedalVo.setUpgradeConditions(String.valueOf(hrs.getCondition()));
stuMedalVo.setIsTopLevel(2);
}else {
stuMedalVo.setIsTopLevel(1);
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
index ea1db91..6e8911b 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -19,10 +19,7 @@
import com.dsh.other.model.vo.siteVo.ExpireSiteSearchVO;
import com.dsh.other.model.vo.siteVo.SiteSearchVO;
import com.dsh.other.service.*;
-import com.dsh.other.util.PayMoneyUtil;
-import com.dsh.other.util.RedisUtil;
-import com.dsh.other.util.ResultUtil;
-import com.dsh.other.util.TokenUtil;
+import com.dsh.other.util.*;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@@ -214,7 +211,7 @@
@ApiImplicitParam(value = "半场名称", name = "halfName", dataType = "string", required = false),
@ApiImplicitParam(value = "选择场地的名称", name = "siteName", dataType = "string", required = false)
})
- public ResultUtil<List<QuerySiteTimes>> querySiteTimes(Integer id, String day,String halfName,String siteName){
+ public ResultUtil<List<QuerySiteTimes>> querySiteTimes(Integer id, String day,String halfName,String siteName){
try {
List<QuerySiteTimes> list = siteService.querySiteTimes(id, day,halfName,siteName);
return ResultUtil.success(list);
@@ -358,6 +355,62 @@
}
+ /**
+ * 启动游戏支付宝回调
+ * @param request
+ * @param response
+ */
+ @ResponseBody
+ @PostMapping("/base/site/gameCallback")
+ public void gameCallback(HttpServletRequest request, HttpServletResponse response){
+ try {
+ System.out.println("回调回调回调");
+ Map<String, String> map = payMoneyUtil.alipayCallback(request);
+ if(null != map){
+
+ String code = map.get("passback_params");
+// String trade_no = map.get("trade_no");
+// SiteBooking siteBooking = siteBookingService.getOne(new QueryWrapper<SiteBooking>().eq("orderNo", code).eq("state", 1));
+// if(siteBooking.getStatus() == 0){
+// siteBooking.setPayTime(new Date());
+// siteBooking.setStatus(1);
+// siteBooking.setPayOrderNo(trade_no);
+// siteBookingService.updateById(siteBooking);
+// }
+
+ String[] s = code.split("_");
+ Integer i = startGame(Integer.valueOf(s[0]), Integer.valueOf(s[1]), Integer.valueOf(s[2]), Integer.valueOf(s[3]));
+ System.err.println("===========游戏回调游戏回调========="+i);
+ PrintWriter out = response.getWriter();
+ out.write("success");
+ out.flush();
+ out.close();
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+
+
+ private static Integer startGame(Integer uid,Integer gameId,Integer spaceId,Integer sutuId){
+ HashMap<String, String> map = new HashMap<>();
+ map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
+ map.put("app_user_id",uid+"");
+ map.put("game_id",gameId+"");
+ map.put("space_id",spaceId+"");
+ map.put("sutu_id",sutuId+"");
+
+ String s = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/gameStart", map);
+ JSONObject jsonObject = JSONObject.parseObject(s);
+ Object code = jsonObject.get("code");
+ if(String.valueOf(code)!=null && "200".equals(String.valueOf(code))){
+ return 200;
+ }else {
+ return 500;
+ }
+ }
+
+
@ResponseBody
@PostMapping("/api/site/queryMySite")
@ApiOperation(value = "获取我的预约场地列表", tags = {"用户—预约场地"})
@@ -394,12 +447,14 @@
Integer storeId = byId.getStoreId();
Store byId1 = service.getById(storeId);
Site site = siteService.getById(byId.getSiteId());
-
map.put("siteName",byId1.getName());
SiteType siteType = siteTypeService.getById(site.getSiteTypeId());
map.put("siteType",siteType.getName());
map.put("shopName",byId1.getName());
map.put("shopAddress",byId1.getAddress());
+
+ map.put("name",site.getName());
+
List<Integer> ids = getIds(byId.getSiteId());
@@ -610,6 +665,14 @@
}
+
+ @ResponseBody
+ @PostMapping("/base/site/counts")
+ public Integer counts(@RequestBody Integer stuId){
+ return siteBookingService.count(new QueryWrapper<SiteBooking>().eq("appUserId",stuId));
+
+ }
+
@ResponseBody
@PostMapping("/base/site/queryOperator")
public OperatorUser queryOperator(@RequestBody List<Integer> stores){
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java
index 2f445f8..d525e98 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java
@@ -44,6 +44,50 @@
for (StoreConfig storeConfig : list) {
StoreConfigVo storeConfigVo = new StoreConfigVo();
BeanUtils.copyProperties(storeConfig, storeConfigVo);
+ if (storeConfig.getBackgroundImage()==null||storeConfig.getBackgroundImage().equals("")){
+ switch (storeConfigVo.getType()){
+ case 1:{
+ storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/8b7073a4d33d4eea9f0d173cb4db92a7.png");
+ break;
+ }
+ case 2:{
+ storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/f60f1622ae184475ad703ec60bbcbeff.png");
+ break;
+ }
+ case 3:{
+ storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/08c5eca72fca4d479d21905d25870ef8.png");
+ break;
+
+ }
+ case 4:{
+ storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/8602be35e6cf4f76819b7b2d7b588efc.png");
+ break;
+
+ }
+ case 5:{
+ storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/694f84a1e2ba4d2c919f4f4ffaadece2.png");
+ break;
+
+ }
+ case 6:{
+ storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/81a83d229fea46a78be6a3ec1d5b7d6e.png");
+ break;
+
+ }
+ case 7:{
+ storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/312763e7565c48f2a16021c162c76018.png");
+ break;
+
+ }
+ case 8:{
+ storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/0771fb3bd4de43c08492d0912209e51f.png");
+ break;
+
+ }
+
+ }
+ }
+
listVo.add(storeConfigVo);
}
return ResultUtil.success(listVo);
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
index 043df06..4e1dabd 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
@@ -132,9 +132,21 @@
info.setStoreName(store.getName());
info.setStoreImg(store.getCoverDrawing());
info.setDistance((long) Double.parseDouble(distanceTOKilometer));
- info.setStoreAddr(store.getAddress());
+
+
+ String str = store.getAddress();
+ str = str.substring(str.indexOf("省") + 1);
+
+ // 去掉第一个“市”及之前的字符串
+ str = str.substring(str.indexOf("市") + 1);
+
+ // 去掉第一个“区”及之前的字符串
+ str = str.substring(str.indexOf("区") + 1);
+
+ info.setStoreAddr(str);
info.setLatitude(storeLat);
info.setLongitude(storeLon);
+
storeInfos.add(info);
}
// Comparator<StoreInfo> distanceComparator = new Comparator<StoreInfo>() {
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/StoredValueConfigController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/StoredValueConfigController.java
index 96e644f..e4c287a 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/StoredValueConfigController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/StoredValueConfigController.java
@@ -52,6 +52,16 @@
try {
ObjectMapper objectMapper = new ObjectMapper();
JsonNode rulesNode = objectMapper.readTree(storedValueConfig.getContent()).get("rules");
+
+ JsonNode rulesNode1 = objectMapper.readTree(storedValueConfig.getContent()).get("time_rules");
+
+ JsonNode jsonNode = rulesNode1.get(0);
+ String startTime = jsonNode.get("startTime").asText();
+ String endTime = jsonNode.get("endTime").asText();
+
+
+
+
if (rulesNode.isArray()) {
int i = 0;
for (JsonNode ruleNode : rulesNode) {
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/HonorRules.java b/cloud-server-other/src/main/java/com/dsh/other/entity/HonorRules.java
index 596a0d2..a6061d5 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/entity/HonorRules.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/HonorRules.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.models.auth.In;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@@ -39,13 +40,13 @@
* 等级
*/
@TableField("level")
- private String level;
+ private Integer level;
/**
* 满足条件值
*/
@TableField(value = "`condition`")
- private String condition;
+ private Integer condition;
@Override
protected Serializable pkVal() {
diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/account/model/AppUser.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/account/model/AppUser.java
index 9b9576a..4636aaa 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/feignclient/account/model/AppUser.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/account/model/AppUser.java
@@ -113,4 +113,6 @@
* 添加时间
*/
private Date insertTime;
+
+ private Integer points;
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/BillingRequestOfType.java b/cloud-server-other/src/main/java/com/dsh/other/model/BillingRequestOfType.java
index 371aab1..e1fdff2 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/model/BillingRequestOfType.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/model/BillingRequestOfType.java
@@ -17,6 +17,8 @@
* MM-dd HH:mm
*/
private String time;
+ private String time1;
+
/**
* 金额
*/
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
index f4c5a6c..83d5b9f 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -29,6 +29,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalTime;
import java.util.*;
@@ -177,7 +178,7 @@
List<String> strings = new ArrayList<>();
// List<SiteBooking> siteBookings = siteClient.listBooks(id);
- List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).eq("nextName",siteName).like("times",day));
+ List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).ne("status",5).eq("nextName",siteName).like("times",day));
if (siteName==null|| siteName.equals("")){
@@ -260,6 +261,13 @@
if(stringDateBetween){
orderDto.setSelectable(0);
}
+ if (DateComparisonExample.isStringWithinTimeRange(stime, siteLock.getStartTime(), siteLock.getEndTime())){
+ orderDto.setSelectable(0);
+ }
+ if (DateComparisonExample.isStringWithinTimeRange(etime, siteLock.getStartTime(), siteLock.getEndTime())){
+ orderDto.setSelectable(0);
+ }
+
}
@@ -276,6 +284,9 @@
}
+
+
+
public static String getNextTime(String currentTime) {
@@ -520,6 +531,7 @@
}
+
/**
* 课程支付宝支付
* @param paymentPrice
@@ -642,11 +654,15 @@
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
Date startTime = siteBooking.getStartTime();
- if(format.format(new Date()).equals(format.format(startTime))){
+ if(format.format(new Date()).equals(format.format(startTime))&&siteBooking.getStatus() != 0){
return ResultUtil.error("预约当天,不能取消");
}
+
if(siteBooking.getStatus() == 0){
- return ResultUtil.error("请先进行支付");
+// return ResultUtil.error("请先进行支付");
+ siteBooking.setStatus(5);
+ siteBookingService.updateById(siteBooking);
+ return ResultUtil.success();
}
if(siteBooking.getStatus() != 1 && siteBooking.getStatus() != 2){
return ResultUtil.error("不能进行取消操作");
@@ -737,9 +753,15 @@
String[] split = siteBooking.getTimes().split(";");
Double payMoney = 0D;
if(payType == 3){
- payMoney = new BigDecimal(site.getPlayPaiCoin()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+// payMoney = new BigDecimal(site.getPlayPaiCoin()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
if(appUser.getPlayPaiCoins().compareTo(payMoney.intValue()) < 0){
return ResultUtil.error("玩湃币不足");
+ }
+
+ if(siteBooking.getIsHalf()==2){
+ payMoney = new BigDecimal(site.getPlayPaiCoin()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+ }else {
+ payMoney = new BigDecimal(site.getPlayPaiCoinOne()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
}
}else{
if(siteBooking.getIsHalf()==2){
@@ -812,9 +834,23 @@
String[] split = siteBooking.getTimes().split(";");
Map<String, Double> map = new HashMap<>();
Double payMoney = new BigDecimal(site.getPlayPaiCoin()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+
+
+ if(siteBooking.getIsHalf()==2){
+ payMoney = new BigDecimal(site.getPlayPaiCoin()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+ }else {
+ payMoney = new BigDecimal(site.getPlayPaiCoinOne()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+ }
+
map.put("playPaiCoin", payMoney);
payMoney = new BigDecimal(site.getCashPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+ if(siteBooking.getIsHalf()==2){
+ payMoney = new BigDecimal(site.getCashPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+ }else {
+ payMoney = new BigDecimal(site.getCashPriceOne()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+ }
+
//校验优惠券
Long couponId = siteBooking.getUserCouponId();
if(null != couponId){
diff --git a/cloud-server-other/src/main/java/com/dsh/other/util/DateComparisonExample.java b/cloud-server-other/src/main/java/com/dsh/other/util/DateComparisonExample.java
index e48ab82..1cd88bd 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/util/DateComparisonExample.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/util/DateComparisonExample.java
@@ -30,4 +30,15 @@
return (valueStartDate.after(startDate) || valueStartDate.equals(startDate))
&& (valueEndDate.before(endDate) || valueEndDate.equals(endDate));
}
+
+ public static boolean isStringWithinTimeRange(String stringValue, Date startTime, Date endTime) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ try {
+ Date dateValue = sdf.parse(stringValue);
+ return dateValue.after(startTime) && dateValue.before(endTime);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
}
\ No newline at end of file
diff --git a/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java b/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java
index c2b8f8b..41d4341 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java
@@ -165,28 +165,29 @@
// String alipayNum = operatorUser.getAlipayNum();
// extendParams.setSysServiceProviderId("YOUR_SERVICE_PROVIDER_ID");
- ExtendParams extendParams = new ExtendParams();
- model.setExtendParams(extendParams);
- RoyaltyInfo royaltyInfo = new RoyaltyInfo();
+
+// ExtendParams extendParams = new ExtendParams();
+// model.setExtendParams(extendParams);
+// RoyaltyInfo royaltyInfo = new RoyaltyInfo();
// royaltyInfo.setRoyaltyType("transfer");
- RoyaltyDetailInfos royaltyDetailInfo1 = new RoyaltyDetailInfos();
- royaltyDetailInfo1.setTransOutType("userId");
- royaltyDetailInfo1.setTransOut(aliAppid);
- royaltyDetailInfo1.setTransInType("loginName");
- royaltyDetailInfo1.setTransIn("18398968484");
-
- royaltyDetailInfo1.setDesc("分账描述1");
- royaltyDetailInfo1.setAmountPercentage("10");
- List<RoyaltyDetailInfos> royaltyDetailInfos = new ArrayList<>();
-
-
-
-
- royaltyInfo.setRoyaltyDetailInfos(royaltyDetailInfos);
- model.setRoyaltyInfo(royaltyInfo);
- System.err.println("========royaltyInfo=========="+royaltyInfo);
+// RoyaltyDetailInfos royaltyDetailInfo1 = new RoyaltyDetailInfos();
+// royaltyDetailInfo1.setTransOutType("userId");
+// royaltyDetailInfo1.setTransOut(aliAppid);
+// royaltyDetailInfo1.setTransInType("loginName");
+// royaltyDetailInfo1.setTransIn("18398968484");
+//
+// royaltyDetailInfo1.setDesc("分账描述1");
+// royaltyDetailInfo1.setAmountPercentage("10");
+// List<RoyaltyDetailInfos> royaltyDetailInfos = new ArrayList<>();
+//
+//
+//
+//
+// royaltyInfo.setRoyaltyDetailInfos(royaltyDetailInfos);
+// model.setRoyaltyInfo(royaltyInfo);
+// System.err.println("========royaltyInfo=========="+royaltyInfo);
diff --git a/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java b/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java
index b294a0c..8457a24 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java
@@ -10,6 +10,7 @@
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
+import java.util.concurrent.TimeUnit;
/**
* @author zhibing.pu
@@ -65,4 +66,25 @@
}
+ @Scheduled(fixedRate = 60000)
+ public void taskMinute2(){
+ try {
+ List<SiteBooking> siteBookings = siteBookingMapper.selectList(new LambdaQueryWrapper<SiteBooking>().eq(SiteBooking::getStatus, 0));
+ for (SiteBooking siteBooking : siteBookings) {
+ long time = siteBooking.getInsertTime().getTime();
+ long currentTime = System.currentTimeMillis();
+ long timeDifference = currentTime - time;
+ long minutes = TimeUnit.MILLISECONDS.toMinutes(timeDifference);
+ if (minutes > 30) {
+ siteBooking.setStatus(5);
+ siteBookingMapper.updateById(siteBooking);
+ }
+ }
+ //定时修改赛事状态
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+
}
diff --git a/cloud-server-other/src/main/resources/mapper/SiteBookingMapper.xml b/cloud-server-other/src/main/resources/mapper/SiteBookingMapper.xml
index cf4e91d..6a5ac81 100644
--- a/cloud-server-other/src/main/resources/mapper/SiteBookingMapper.xml
+++ b/cloud-server-other/src/main/resources/mapper/SiteBookingMapper.xml
@@ -4,7 +4,7 @@
<select id="queryDatas" resultType="com.dsh.other.model.BillingRequestOfType">
- SELECT DATE_FORMAT(insertTime, '%m-%d %H:%i')as `time`,
+ SELECT DATE_FORMAT(insertTime, '%m-%d %H:%i')as `time`,DATE_FORMAT(payTime, '%m-%d %H:%i')as `time1`,
payMoney as amount,
`status`
from t_site_booking
--
Gitblit v1.7.1