From 18b58aaf9bd99cadd0e7f80fe5d80586f2f4831a Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期五, 24 十一月 2023 18:32:43 +0800
Subject: [PATCH] 11.24
---
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 59 +++++++-
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 39 ++++-
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java | 2
cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java | 14 +
cloud-server-course/src/main/java/com/dsh/course/model/vo/response/CourseDetailsResponse.java | 1
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/StoreClient.java | 4
cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java | 2
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 4
cloud-server-course/src/main/java/com/dsh/course/util/TaskUtil.java | 2
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StuSessionDetailsVo.java | 9 +
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java | 6
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 26 ++-
cloud-server-activity/src/main/java/com/dsh/activity/entity/QueryStoreList.java | 22 +++
cloud-server-activity/src/main/java/com/dsh/activity/util/GeodesyUtil.java | 63 +++++++++
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java | 7 +
cloud-server-competition/src/main/java/com/dsh/competition/service/impl/PaymentCompetitionServiceImpl.java | 6
cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java | 31 +++
cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StuSessionDetailsVo.java | 8 +
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 56 +++++++
19 files changed, 309 insertions(+), 52 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StuSessionDetailsVo.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StuSessionDetailsVo.java
index 9765201..8aad9b2 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StuSessionDetailsVo.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StuSessionDetailsVo.java
@@ -15,4 +15,13 @@
@ApiModelProperty(value = "课时有效期")
private String periodOfValidity;
+ @ApiModelProperty(value = "总学时数")
+ private Integer totalNums;
+
+ @ApiModelProperty(value = "已扣学时数")
+ private Integer deductedNums;
+
+ @ApiModelProperty(value = "剩余学时数")
+ private Integer remainingNums;
+
}
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 07c168f..0100c27 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
@@ -140,12 +140,31 @@
List<SiteBooking> siteBookings = stClient.wanpaiGoldSiteBookingList(appUserId);
if (siteBookings.size() > 0 ){
for (SiteBooking booking : siteBookings) {
- RechargesDetail consumeDetail = new RechargesDetail();
- consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg());
- consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getInsertTime()));
- consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
- consumeDetail.setRecordId(2);
- details.add(consumeDetail);
+ if (booking.getStatus()!=5) {
+ RechargesDetail consumeDetail = new RechargesDetail();
+ consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg());
+ consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getInsertTime()));
+ consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
+ consumeDetail.setRecordId(2);
+ details.add(consumeDetail);
+ }else {
+ RechargesDetail consumeDetail1 = new RechargesDetail();
+ consumeDetail1.setConsumeName(RechargeRecordEnum.CANCEL_VENUE_RESERVATION.getMsg());
+ consumeDetail1.setConsumeTime(simpleDateFormat.format(booking.getCancelTime()));
+ consumeDetail1.setConsumeAmount("+" + booking.getPayMoney());
+ consumeDetail1.setRecordId(1);
+ details.add(consumeDetail1);
+
+ RechargesDetail consumeDetail = new RechargesDetail();
+ consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg());
+ consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getInsertTime()));
+ consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
+ consumeDetail.setRecordId(2);
+ details.add(consumeDetail);
+
+
+
+ }
}
}
// 4.智慧球场
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 45e369e..25f4833 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
@@ -933,7 +933,7 @@
RechargeCentVo vo = new RechargeCentVo();
Double money = (Double) stringObjectMap.get("money");
vo.setAmount(BigDecimal.valueOf(money) );
- if (tAppUser.getIsVip() == 1){
+ if (tAppUser.getIsVip() == 1&&tAppUser.getVipEndTime().after(new Date())){
vo.setWpGold((Integer) stringObjectMap.get("MemberCoins"));
}else {
vo.setWpGold((Integer) stringObjectMap.get("usersCoins"));
@@ -1585,7 +1585,7 @@
UserIntegralChanges userIntegralChanges = new UserIntegralChanges();
userIntegralChanges.setAppUserId(appUserId);
userIntegralChanges.setOldIntegral(appUser.getIntegral());
- userIntegralChanges.setType(5);
+ userIntegralChanges.setType(2);
appUser.setIntegral(null == appUser.getIntegral() ? points : appUser.getIntegral() - points);
userIntegralChanges.setNewIntegral(appUser.getIntegral());
userIntegralChanges.setInsertTime(new Date());
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 3d82719..eb34857 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
@@ -24,10 +24,7 @@
import com.dsh.activity.model.response.GoodsInfoOneVo;
import com.dsh.activity.model.response.StoreVos;
import com.dsh.activity.service.*;
-import com.dsh.activity.util.GDMapGeocodingUtil;
-import com.dsh.activity.util.StrUtils;
-import com.dsh.activity.util.TokenUtil;
-import com.dsh.activity.util.ToolUtil;
+import com.dsh.activity.util.*;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -279,6 +276,11 @@
}
+ @Resource
+ private StoreClient storeClient;
+
+ @Autowired
+ private PointsMerchandiseStoreService pointsMerchandiseStoreService;
@ResponseBody
@PostMapping("/base/pointMerchars/convertGoods")
public List<IntegralCommodity> getConvertibleGoods(@RequestBody Location location) throws Exception {
@@ -289,15 +291,36 @@
String cityCode = geocode.get("cityCode");
- List<PointsMerchandiseCity> cityCode1 = pmdsCityService.list(new QueryWrapper<PointsMerchandiseCity>().eq("cityCode", cityCode));
+// if(null != geocode) {
+
+ List<Store> stores = storeClient.queryStoreList(new QueryStoreList(provinceCode, cityCode));
+ Store s = null;
+ Double d = 0D;
+ for (Store store : stores) {
+ Map<String, Double> distance = GeodesyUtil.getDistance(location.getLon() + "," + location.getLat(), store.getLon() + "," + store.getLat());
+ Double wgs84 = distance.get("WGS84");
+ if (s == null || d > wgs84) {
+ s = store;
+ d = wgs84;
+ }
+ }
+// }
+
+// List<PointsMerchandiseCity> cityCode1 = pmdsCityService.list(new QueryWrapper<PointsMerchandiseCity>().eq("cityCode", cityCode));
List<Integer> cIds = new ArrayList<>();
- for (PointsMerchandiseCity pointsMerchandiseCity : cityCode1) {
- cIds.add(pointsMerchandiseCity.getPointsMerchandiseId());
+// for (PointsMerchandiseCity pointsMerchandiseCity : cityCode1) {
+// cIds.add(pointsMerchandiseCity.getPointsMerchandiseId());
+// }
+
+ List<PointsMerchandiseStore> storesids =pointsMerchandiseStoreService.list(new QueryWrapper<PointsMerchandiseStore>().eq("storeId",s.getId()));
+ for (PointsMerchandiseStore storesid : storesids) {
+ cIds.add(storesid.getPointsMerchandiseId());
}
+
// if (cIds.size()>0) {
- List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>()
+ List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>().in("id",cIds)
.eq("state", 1)
.eq("shelves", 1)
.gt("endTime", new Date()).last("ORDER BY sort desc,insertTime desc"));
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/QueryStoreList.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/QueryStoreList.java
new file mode 100644
index 0000000..20f5a44
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/QueryStoreList.java
@@ -0,0 +1,22 @@
+package com.dsh.activity.entity;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @date 2023/6/28 9:08
+ */
+@Data
+public class QueryStoreList {
+ private String provinceCode;
+
+ private String cityCode;
+
+ public QueryStoreList() {
+ }
+
+ public QueryStoreList(String provinceCode, String cityCode) {
+ this.provinceCode = provinceCode;
+ this.cityCode = cityCode;
+ }
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/StoreClient.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/StoreClient.java
index 27b574f..6f4560a 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/StoreClient.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/StoreClient.java
@@ -1,5 +1,6 @@
package com.dsh.activity.feignclient.other;
+import com.dsh.activity.entity.QueryStoreList;
import com.dsh.activity.feignclient.other.model.Store;
import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse;
import com.dsh.activity.feignclient.other.model.StoreInfoDto;
@@ -14,6 +15,9 @@
/**
* 获取根据门店id 获取店长信息
*/
+ @PostMapping("/store/queryStoreList")
+ List<Store> queryStoreList(QueryStoreList queryStoreList);
+
@RequestMapping(value = "/getStoreInfo")
public StoreInfoDto getStoreInfo(@RequestBody Integer id);
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/util/GeodesyUtil.java b/cloud-server-activity/src/main/java/com/dsh/activity/util/GeodesyUtil.java
new file mode 100644
index 0000000..b7cd3f7
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/util/GeodesyUtil.java
@@ -0,0 +1,63 @@
+package com.dsh.activity.util;
+
+import org.gavaghan.geodesy.Ellipsoid;
+import org.gavaghan.geodesy.GeodeticCalculator;
+import org.gavaghan.geodesy.GeodeticCurve;
+import org.gavaghan.geodesy.GlobalCoordinates;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 计算两个金纬度坐标之间的直线距离
+ */
+public class GeodesyUtil {
+
+
+ /**
+ * 获取直线距离
+ * @param fromLonLat
+ * @param toLonLat
+ * @return
+ */
+ public static Map<String, Double> getDistance(String fromLonLat, String toLonLat){
+ String[] from = fromLonLat.split(",");
+ String[] to = toLonLat.split(",");
+ GlobalCoordinates source = new GlobalCoordinates(Double.valueOf(from[1]), Double.valueOf(from[0]));
+ GlobalCoordinates target = new GlobalCoordinates(Double.valueOf(to[1]), Double.valueOf(to[0]));
+ double Sphere = getDistanceMeter(source, target, Ellipsoid.Sphere);
+ double WGS84 = getDistanceMeter(source, target, Ellipsoid.WGS84);
+ double GRS80 = getDistanceMeter(source, target, Ellipsoid.GRS80);
+ double GRS67 = getDistanceMeter(source, target, Ellipsoid.GRS67);
+ double ANS = getDistanceMeter(source, target, Ellipsoid.ANS);
+ double WGS72 = getDistanceMeter(source, target, Ellipsoid.WGS72);
+ double Clarke1858 = getDistanceMeter(source, target, Ellipsoid.Clarke1858);
+ double Clarke1880 = getDistanceMeter(source, target, Ellipsoid.Clarke1880);
+// System.out.println("Sphere坐标系计算结果:"+Sphere + "米");
+// System.out.println("WGS84坐标系计算结果:"+WGS84 + "米");
+// System.out.println("GRS80坐标系计算结果:"+GRS80 + "米");
+// System.out.println("GRS67坐标系计算结果:"+GRS67 + "米");
+// System.out.println("ANS坐标系计算结果:"+ANS + "米");
+// System.out.println("WGS72坐标系计算结果:"+WGS72 + "米");
+// System.out.println("Clarke1858坐标系计算结果:"+Clarke1858 + "米");
+// System.out.println("Clarke1880坐标系计算结果:"+Clarke1880 + "米");
+ Map<String, Double> map = new HashMap<>();
+ map.put("Sphere", Sphere);
+ map.put("WGS84", WGS84);
+ map.put("GRS80", GRS80);
+ map.put("GRS67", GRS67);
+ map.put("ANS", ANS);
+ map.put("WGS72", WGS72);
+ map.put("Clarke1858", Clarke1858);
+ map.put("Clarke1880", Clarke1880);
+ return map;
+ }
+
+
+ private static double getDistanceMeter(GlobalCoordinates gpsFrom, GlobalCoordinates gpsTo, Ellipsoid ellipsoid){
+ //创建GeodeticCalculator,调用计算方法,传入坐标系、经纬度用于计算距离
+ GeodeticCurve geoCurve = new GeodeticCalculator().calculateGeodeticCurve(ellipsoid, gpsFrom, gpsTo);
+ return geoCurve.getEllipsoidalDistance();
+ }
+
+}
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 e8a2393..e47ac6b 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
@@ -229,7 +229,19 @@
String[] split = paymentCompetitionVo.getIds().split(";");
Competition competition = this.getById(paymentCompetitionVo.getId());
- int competitionId = userCompetitionService.count(new QueryWrapper<UserCompetition>().eq("competitionId", paymentCompetitionVo.getId()));
+ List<PaymentCompetition> list = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>().eq("competitionId", paymentCompetitionVo.getId()).ne("payStatus", 3));
+ List<Long> pays = new ArrayList<>();
+ for (PaymentCompetition paymentCompetition : list) {
+ pays.add(paymentCompetition.getId());
+ }
+
+ int competitionId = 0;
+ if (!pays.isEmpty()) {
+ competitionId = userCompetitionService.count(new QueryWrapper<UserCompetition>().in("paymentCompetitionId", pays));
+ }
+
+
+// int competitionId = userCompetitionService.count(new QueryWrapper<UserCompetition>().eq("competitionId", paymentCompetitionVo.getId()));
if ((competitionId+split.length)>competition.getApplicantsNumber()){
return ResultUtil.error("报名人数超过最大限制");
}
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/PaymentCompetitionServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/PaymentCompetitionServiceImpl.java
index 857eda0..d8c5a39 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/PaymentCompetitionServiceImpl.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/PaymentCompetitionServiceImpl.java
@@ -272,7 +272,7 @@
paymentCompetition.setAppUserId(null);
this.updateById(paymentCompetition);
- competition.setApplicantsNumber(competition.getApplicantsNumber() - 1);
+// competition.setApplicantsNumber(competition.getApplicantsNumber() - 1);
competitionService.updateById(competition);
}
if(paymentCompetition.getPayType() == 3){//玩湃币支付
@@ -286,7 +286,7 @@
paymentCompetition.setAppUserId(null);
this.updateById(paymentCompetition);
- competition.setApplicantsNumber(competition.getApplicantsNumber() - 1);
+// competition.setApplicantsNumber(competition.getApplicantsNumber() - 1);
competitionService.updateById(competition);
}
if(paymentCompetition.getPayType() == 4){//课程支付
@@ -307,7 +307,7 @@
paymentCompetition.setAppUserId(null);
this.updateById(paymentCompetition);
- competition.setApplicantsNumber(competition.getApplicantsNumber() - 1);
+// competition.setApplicantsNumber(competition.getApplicantsNumber() - 1);
competitionService.updateById(competition);
}
return ResultUtil.success();
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 778b672..10c5e7a 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
@@ -596,16 +596,45 @@
List<Integer> collect = byUserId.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
List<TCoursePackage> list = tcpService.list(new QueryWrapper<TCoursePackage>()
.in("id", collect));
- list.forEach(vo -> {
+
+ byUserId.forEach(vo -> {
+
StuSessionDetailsVo detVo = new StuSessionDetailsVo();
- if (vo.getType()!=2) {
- detVo.setSessionid(vo.getId());
- detVo.setSessionName(vo.getName());
- String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(), vo.getValidDays() + "");
- detVo.setPeriodOfValidity(afterDayDate);
+ detVo.setSessionid(vo.getCoursePackageId());
+ TCoursePackage byId = coursePackageService.getById(vo.getCoursePackageId());
+ detVo.setSessionName(byId.getName());
+// String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(), vo.getValidDays() + "");
+
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ String format1 = simpleDateFormat.format(vo.getUseTime());
+ detVo.setPeriodOfValidity(format1);
+
+ detVo.setTotalNums(vo.getTotalClassHours());
+ detVo.setDeductedNums(vo.getTotalClassHours()-vo.getLaveClassHours());
+ detVo.setRemainingNums(vo.getLaveClassHours());
+
detailsVos.add(detVo);
- }
+
+
+
+
});
+
+// list.forEach(vo -> {
+// StuSessionDetailsVo detVo = new StuSessionDetailsVo();
+// if (vo.getType()!=2) {
+// detVo.setSessionid(vo.getId());
+// detVo.setSessionName(vo.getName());
+// String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(), vo.getValidDays() + "");
+// detVo.setPeriodOfValidity(afterDayDate);
+//
+// detVo.setTotalNums(ToolUtil.isEmpty(tCoursePackagePayment.getTotalCourseNums()) ? 0 : tCoursePackagePayment.getTotalCourseNums());
+// detVo.setDeductedNums(ToolUtil.isEmpty(tCoursePackagePayment.getDeductionNums()) ? 0 : tCoursePackagePayment.getDeductionNums());
+// detVo.setRemainingNums(ToolUtil.isEmpty(tCoursePackagePayment.getResidueNums())? 0 : tCoursePackagePayment.getResidueNums());
+//
+// detailsVos.add(detVo);
+// }
+// });
}
return detailsVos;
}
@@ -1084,6 +1113,9 @@
}
}
+@Autowired
+private TOrderService orderService;
+
/**
* 已报名课程详情
@@ -1105,7 +1137,14 @@
if(null == appUserId){
return ResultUtil.tokenErr();
}
- return ResultUtil.success(packagePaymentService.queryRegisteredCourseDetails(coursePayId,appUserId));
+ CourseDetailsResponse courseDetailsResponse = packagePaymentService.queryRegisteredCourseDetails(coursePayId, appUserId,lon,lat);
+
+
+ if (orderId!=null){
+ TOrder byId = orderService.getById(orderId);
+ courseDetailsResponse.setAmount(byId.getPrice());
+ }
+ return ResultUtil.success(courseDetailsResponse);
}catch (Exception e){
e.printStackTrace();
throw new RuntimeException(e.getMessage());
@@ -2213,14 +2252,14 @@
.eq(CoursePackageScheduling::getCoursePackageId, tCoursePackage.getId())
.like(CoursePackageScheduling::getClassDate, courseDetailReq.getTime())
);
- if(list3.size()==0){
+ if(list3.isEmpty()){
detailsListVo.setType(2);
objects.add(detailsListVo);
continue;
}
//排课的ids
List<Long> collect2 = list3.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList());
- if(collect2.size()==0){
+ if(collect2.isEmpty()){
collect2.add(-1l);
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StuSessionDetailsVo.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StuSessionDetailsVo.java
index b342323..cf2a41c 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StuSessionDetailsVo.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StuSessionDetailsVo.java
@@ -14,5 +14,13 @@
@ApiModelProperty(value = "课时有效期")
private String periodOfValidity;
+ @ApiModelProperty(value = "总学时数")
+ private Integer totalNums;
+
+ @ApiModelProperty(value = "已扣学时数")
+ private Integer deductedNums;
+
+ @ApiModelProperty(value = "剩余学时数")
+ private Integer remainingNums;
}
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 f3d7306..698cda0 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
@@ -55,7 +55,6 @@
private Integer chooseHours;
@ApiModelProperty("课时套餐")
private List<CoursePackagePaymentConfigVo> list;
-
@ApiModelProperty("门店地址")
private String storeAddress;
@ApiModelProperty("门店名称")
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
index ae1a575..040ea55 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
@@ -76,7 +76,7 @@
* @param appUserId
* @return
*/
- CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId);
+ CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId,String lon,String lat);
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 c9b155c..6cebe42 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
@@ -56,6 +56,8 @@
// map.put("registered", count);
int count1 = coursePackageStudentService.count(new QueryWrapper<CoursePackageStudent>().eq("coursePackageSchedulingId", id).eq("reservationStatus", 1));
int count2 = coursePackageStudentService.count(new QueryWrapper<CoursePackageStudent>().eq("coursePackageSchedulingId", id).eq("reservationStatus", 0));
+
+
map.put("registered", count2);
map.put("actualArrival", count1);
map.put("nonArrival", count - count1);
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 f1fa8fa..df12227 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
@@ -75,6 +75,9 @@
if (tCoursePackageDiscounts.size() > 0) {
for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) {
TCoursePackage coursePackage = tcpMapper.selectById(tCoursePackageDiscount.getCoursePackageId());
+ if (coursePackage.getState()==2){
+ continue;
+ }
// 判断预约人数是否已满
// Integer maxSubscribeNumber = coursePackage.getMaxSubscribeNumber();
// Integer integer = tcppMapper.selectCount(new QueryWrapper<TCoursePackagePayment>()
@@ -209,6 +212,10 @@
if (tCoursePackageDiscounts.size() > 0) {
for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) {
TCoursePackage coursePackage = tcpMapper.selectById(tCoursePackageDiscount.getCoursePackageId());
+ if (coursePackage.getState()==2){
+ continue;
+ }
+
// 判断预约人数是否已满
Integer maxSubscribeNumber = coursePackage.getMaxSubscribeNumber();
Integer integer = tcppMapper.selectCount(new QueryWrapper<TCoursePackagePayment>()
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 7d276f9..6a521f0 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
@@ -498,8 +498,10 @@
@Autowired
private TCoursePackageDiscountService coursePackageDiscountService;
+
+ @Resource StoreClient storeClient;
@Override
- public CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId) {
+ public CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId,String lon,String lat) {
AppUser appUser = appuClient.queryAppUser(appUserId);
CourseDetailsResponse response = new CourseDetailsResponse();
TCoursePackagePayment tCoursePackagePayment = this.baseMapper.selectById(coursePayId);
@@ -518,17 +520,17 @@
response.setTime(new SimpleDateFormat("yyyy.MM.dd").format(coursePackage.getStartTime()) + "-" + new SimpleDateFormat("yyyy.MM.dd").format(coursePackage.getEndTime()));
}
-// Store store = storeClient.queryStoreById(coursePackage.getStoreId());
-// response.setStoreName(store.getName());
-// response.setStoreCoverDrawing(store.getCoverDrawing());
-// response.setStoreAddress(store.getAddress());
-// response.setLon(store.getLon());
-// response.setLat(store.getLat());
-// if(ToolUtil.isNotEmpty(lon) && ToolUtil.isNotEmpty(lat)){
-// Map<String, Double> distance = GeodesyUtil.getDistance(lon + "," + lat, store.getLon() + "," + store.getLat());
-// double wgs84 = new BigDecimal(distance.get("WGS84")).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
-// response.setDistance(wgs84);
-// }
+ Store store = storeClient.queryStoreById(coursePackage.getStoreId());
+ response.setStoreName(store.getName());
+
+ if(ToolUtil.isNotEmpty(lon) && ToolUtil.isNotEmpty(lat)){
+ Map<String, Double> distance = GeodesyUtil.getDistance(lon + "," + lat, store.getLon() + "," + store.getLat());
+ double wgs84 = new BigDecimal(distance.get("WGS84")).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+ response.setDistance(wgs84);
+ }
+
+
+
response.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
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 9fd9159..0cc4ea6 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
@@ -1166,6 +1166,10 @@
}else {
+ if (coursePackagePaymentServiceOne.getPayStatus()==1){
+ isContinue = 1;
+
+ }
// coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours());
// coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice()+paymentCourseVo.getPrice());
// coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue());
@@ -1203,11 +1207,11 @@
}
-
+ //新的订单添加
if (paymentCourseVo.getOrderId()==null) {
TOrder order = new TOrder();
order.setIsPay(1);
- order.setPayType(2);
+ order.setPayType(1);
order.setAppUserId(uid);
order.setPrice(paymentPrice);
order.setCode(code);
@@ -1245,12 +1249,17 @@
Thread.sleep(wait);
List<TCoursePackagePayment> list = coursePackagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("state", 1).eq("code", code).eq("payType", 2));
TCoursePackagePayment one = list.get(0);
+
+ List<TOrder> list1 = orderService.list(new QueryWrapper<TOrder>().eq("code", code).eq("payType", 1));
+ TOrder order = list1.get(0);
+
+
AlipayTradeQueryResponse alipayTradeQueryResponse = payMoneyUtil.queryALIOrder(code);
- if(one.getPayStatus() == 2){
+ if(order.getIsPay() == 2){
break;
}
- if( one.getPayStatus() == 1){
+ if(order.getIsPay() == 1){
/**
* WAIT_BUYER_PAY(交易创建,等待买家付款)、
* TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、
@@ -1276,6 +1285,14 @@
}
coursePackagePaymentService.updateBatchById(list);
+
+
+ for (TOrder tOrder : list1) {
+ tOrder.setIsPay(2);
+ tOrder.setOrderNum(tradeNo);
+ }
+ orderService.updateBatchById(list1);
+
for (String s1 : split) {
@@ -1348,7 +1365,7 @@
userCouponClient.sendUserCoupon(new SendCouponReq(uid,coursePackagePaymentConfig.getCouponIds()));
for (TCoursePackagePayment coursePackagePayment : list) {
- addPackageStudent(paymentCourseVo.getId(),uid, finalSid,coursePackagePayment.getId(),paymentCourseVo.getPrice());
+ addPackageStudent(paymentCourseVo.getId(),uid, finalSid,coursePackagePayment.getId(),paymentPrice);
}
moneyOut(tradeNo,tradeNo);
@@ -1483,6 +1500,9 @@
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
+ List<Long> pays = new ArrayList<>();
+
+
TCoursePackage course = coursePackageService.getById(paymentCourseVo.getId());
@@ -1561,6 +1581,8 @@
courseCounsumService.save(courseCounsum1);
}
+
+ pays.add(coursePackagePayment.getId());
}else{
coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()+hour);
if (coursePackagePaymentServiceOne.getOriginalPrice()!=null) {
@@ -1618,10 +1640,34 @@
}
+ pays.add(coursePackagePaymentServiceOne.getId());
+
+
+
}
}
+
+ if (paymentCourseVo.getOrderId()==null) {
+ TOrder order = new TOrder();
+ order.setIsPay(1);
+ order.setPayType(2);
+ order.setAppUserId(appUser.getId());
+ order.setPrice(paymentPrice);
+ order.setCode(code);
+
+ String paysStr = pays.stream()
+ .map(String::valueOf)
+ .collect(Collectors.joining(","));
+ order.setPaysId(paysStr);
+
+ orderService.save(order);
+
+ }
+
+
+
Integer playPaiCoins = appUser.getPlayPaiCoins();
appUser.setPlayPaiCoins(playPaiCoins - paymentPrice.intValue());
appUserClient.updateAppUser(appUser);
diff --git a/cloud-server-course/src/main/java/com/dsh/course/util/TaskUtil.java b/cloud-server-course/src/main/java/com/dsh/course/util/TaskUtil.java
index 42b3ddb..da89270 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/util/TaskUtil.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/util/TaskUtil.java
@@ -93,7 +93,7 @@
/**
* 零时任务
*/
- @Scheduled(cron = "0 0 0 * * *")
+ @Scheduled(cron = "0 0 23 * * *")
public void zeroTask(){
//定时添加排课数据
// coursePackageSchedulingService.taskAddData();
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 da5ad28..b1fcccc 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
@@ -635,9 +635,11 @@
String[] split = siteBooking.getTimes().split(";");
if(site!=null){
if (queryMySiteVo.getIsHalf()==1) {
- queryMySiteVo.setPlayPaiCoin(site.getPlayPaiCoin() * split.length);
- }else {
queryMySiteVo.setPlayPaiCoin((int) (site.getPlayPaiCoinOne() * split.length));
+
+ }else {
+ queryMySiteVo.setPlayPaiCoin(site.getPlayPaiCoin() * split.length);
+
}
}
}
--
Gitblit v1.7.1