From aba8d209561a130b6d849d96ff202fe172b1ad92 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 11 十一月 2025 13:54:33 +0800
Subject: [PATCH] 玩湃本次新增迭代所有代码
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java | 16 +
cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/SiteVo.java | 3
cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java | 3
cloud-server-other/src/main/java/com/dsh/other/feignclient/activity/UserCouponClient.java | 6
cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java | 30 ++
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_two.html | 2
cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OssUploadUtil.java | 4
cloud-server-other/src/main/java/com/dsh/other/model/TSitePrice.java | 2
cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java | 15 +
cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetitionUser.js | 2
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java | 34 ++
cloud-server-other/src/main/java/com/dsh/other/feignclient/model/SiteVo.java | 2
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/QuerySiteTimes.java | 2
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoreConfig.java | 2
cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/CompetitionUser.java | 2
cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js | 10
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java | 19
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 9
cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java | 9
cloud-server-other/src/main/resources/mapper/SiteMapper.xml | 4
cloud-server-other/src/main/java/com/dsh/other/model/QueryMySiteVo.java | 2
cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteList.java | 2
cloud-server-other/src/main/java/com/dsh/other/entity/StoreConfig.java | 2
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java | 10
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_imgAll.html | 35 ++
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 14
cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js | 21 +
cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js | 14 +
cloud-server-account/src/main/java/com/dsh/account/util/ALiSendSms.java | 4
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TSitePrice.java | 2
cloud-server-course/src/main/java/com/dsh/course/util/ALiSendSms.java | 4
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TSiteServiceImpl.java | 2
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/util/ALiSendSms.java | 4
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java | 20 +
cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java | 18 +
cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/Site.java | 2
cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/CompetitionUser.java | 2
cloud-server-other/src/main/resources/mapper/GameMapper.xml | 2
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 9
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java | 309 ++++++++++++++++++++---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java | 3
cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteTimes.java | 5
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js | 110 ++++++++
43 files changed, 652 insertions(+), 120 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/SiteVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/SiteVo.java
index 987a999..ef86e52 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/SiteVo.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/SiteVo.java
@@ -20,5 +20,6 @@
@ApiModelProperty(value = "价格")
private double price;
-
+ @ApiModelProperty(value = "是否可以预约(0=否,1=是)")
+ private Integer isCanBeBooked;
}
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 d395725..29e814b 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
@@ -1028,6 +1028,7 @@
CommodityRequest commodityRequest = new CommodityRequest();
commodityRequest.setLon(request.getLon());
commodityRequest.setLat(request.getLat());
+ commodityRequest.setShopId(request.getShopId());
PointMerchandiseVo vicinityGoods = mcClient.getVicinityGoods(commodityRequest);
if (ToolUtil.isNotEmpty(vicinityGoods.getMerchandises())) {
for (PointsMerchandise vicinityGood : vicinityGoods.getMerchandises()) {
@@ -1126,14 +1127,6 @@
if (goods.size() > 0) {
goods = goods.stream()
.filter(merchandise -> merchandise.getGoodName().contains(request.getSearch()))
- .collect(Collectors.toList());
- }
- }
- // 2.0 门店筛选
- if (request.getShopId() != null) {
- if (goods.size() > 0) {
- goods = goods.stream()
- .filter(merchandise -> (merchandise.getGoodsType() == 1 && merchandise.getUseScope() == 2) || (merchandise.getGoodsType() == 1 && merchandise.getUseScope() == 1) || (merchandise.getGoodsType() == 4 && merchandise.getUseScope() == 2) || (merchandise.getGoodsType() == 4 && merchandise.getUseScope() == 1) || merchandise.getShopIds().contains(request.getShopId()))
.collect(Collectors.toList());
}
}
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 677f74b..59ff421 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
@@ -33,10 +33,7 @@
import com.dsh.account.model.vo.classDetails.classInsVo.ClassDetailsInsVo;
import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq;
import com.dsh.account.model.vo.classDetails.classInsVo.StuListVo;
-import com.dsh.account.model.vo.exploreDetail.LonLatRequest;
-import com.dsh.account.model.vo.exploreDetail.QuestionIns;
-import com.dsh.account.model.vo.exploreDetail.StoreDetailsVo;
-import com.dsh.account.model.vo.exploreDetail.StoreOfCourseVo;
+import com.dsh.account.model.vo.exploreDetail.*;
import com.dsh.account.model.vo.sourceDetail.CouponStuAvailableVo;
import com.dsh.account.model.vo.sourceDetail.CourseDetailsOfContinuationResp;
import com.dsh.account.model.vo.sourceDetail.RecordTimeRequest;
@@ -787,7 +784,9 @@
detailsVo.setLon(store.getLon());
detailsVo.setLat(store.getLat());
detailsVo.setPhone(store.getPhone());
- detailsVo.setVenueList(steClient.getAppUserSiteList(storeId));
+ List<SiteVo> appUserSiteList = steClient.getAppUserSiteList(storeId);
+ List<SiteVo> siteList = appUserSiteList.stream().filter(e -> e.getIsCanBeBooked() == 1).collect(Collectors.toList());
+ detailsVo.setVenueList(siteList);
List<StoreOfCourseVo> storeOfCourseList = culisClient.getStoreOfCourseList(storeId);
System.out.println(storeOfCourseList);
for (StoreOfCourseVo storeOfCourseVo : storeOfCourseList) {
diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/ALiSendSms.java b/cloud-server-account/src/main/java/com/dsh/account/util/ALiSendSms.java
index bb70cfb..f1d855b 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/util/ALiSendSms.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/util/ALiSendSms.java
@@ -21,8 +21,8 @@
// 设置鉴权参数,初始化客户端
private DefaultProfile profile = DefaultProfile.getProfile(
"cn-hangzhou",// 地域ID
- "LTAI5tE3ownRhJ7eXsuW7Vn7",// 您的AccessKey ID
- "Crgi0OhtDRuJafIeyT3JQL9v0P4EgH");// 您的AccessKey Secret
+ "LTAI5tKLeAE1B5n2mvTZ5yy6",// 您的AccessKey ID
+ "zradDLTBGdzq26tYz9RUCUh0sPmfhh");// 您的AccessKey Secret
private IAcsClient client = new DefaultAcsClient(profile);
private static void log_print(String functionName, Object result) {
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 73fd2a4..01cebc9 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
@@ -825,6 +825,7 @@
Integer pickUpQuantity = dataVo.getPickUpQuantity();
// 赠送用户数量
int count = quantityIssued / pickUpQuantity;
+
// 自动发券
if (dataVo.getDistributionMethod() == 3) {
// 判断用户人群 再判断限领数量
@@ -834,6 +835,9 @@
// 全部用户ids
List<Integer> collect = tAppUsers.stream()
.map(TAppUser::getId).collect(Collectors.toList());
+ if (collect.size()<count){
+ count = collect.size();
+ }
for (int i = 0; i < count; i++) {
for (int j = 0; j < pickUpQuantity; j++) {
UserCoupon u1 = new UserCoupon();
@@ -852,6 +856,9 @@
List<Integer> collect1 = tAppUsers.stream().filter(t -> t.getVipEndTime().after(new Date()))
.map(TAppUser::getId)
.collect(Collectors.toList());
+ if (collect1.size()<count){
+ count = collect1.size();
+ }
for (int i = 0; i < count; i++) {
for (int j = 0; j < pickUpQuantity; j++) {
UserCoupon u1 = new UserCoupon();
@@ -868,6 +875,9 @@
case 3:
// 给已有学员用户发券 获取已有学员的用户ids
List<Integer> collect2 = studentClient.getHasStudentUser();
+ if (collect2.size()<count){
+ count = collect2.size();
+ }
for (int i = 0; i < count; i++) {
for (int j = 0; j < pickUpQuantity; j++) {
UserCoupon u1 = new UserCoupon();
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 f2a8644..774b374 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
@@ -398,7 +398,7 @@
@PostMapping("/base/pointMerchars/getCommoditys")
public PointMerchandiseVo getVicinityGoods(@RequestBody CommodityRequest request) {
-
+ System.err.println("积分商城请求参数"+request);
PointMerchandiseVo pointMerchandiseVo = new PointMerchandiseVo();
List<PointsMerchandise> list = new ArrayList<>();
String provinceCode = "";
@@ -436,13 +436,15 @@
pointMerchandiseVo.setMerchandises(list);
return pointMerchandiseVo;
}else{
- List<PointsMerchandise> pointsMerchandiseList = pmdsService.lambdaQuery().in(PointsMerchandise::getId, pointsMerchandiseIds).list();
- list.addAll(pointsMerchandiseList);
- List<PointsMerchandise> listAll = list.stream().distinct().collect(Collectors.toList());
- list = listAll;
+ List<PointsMerchandise> pointsMerchandiseList = pmdsService.lambdaQuery()
+ .eq(PointsMerchandise::getState, 1)
+ .eq(PointsMerchandise::getShelves,1)
+ .in(PointsMerchandise::getId, pointsMerchandiseIds).list();
+
+ list = pointsMerchandiseList;
}
}
-
+ list = list.stream().distinct().collect(Collectors.toList());
if (list.size() > 0) {
Iterator<PointsMerchandise> iterator = list.iterator();
while (iterator.hasNext()) {
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java
index 0066308..d475fb7 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java
@@ -203,19 +203,24 @@
return null;
}
}
+
+
/**
* 根据id修改门票使用状态
*
* @param id
* @return
*/
- @PostMapping("/userCoupon/changeTicketStatus")
- @ResponseBody
- public void changeTicketStatus(String id){
+ @GetMapping("/userCoupon/changeTicketStatus/{id}")
+ public void changeTicketStatus(@PathVariable("id") String id){
+ System.err.println("数据id"+id);
if (id.length()<=11){
// 购买会员赠送的门票
+ System.err.println("会员赠送门票");
VipDetail vipDetail = vipDetailService.getById(Integer.valueOf(id));
+ System.err.println("会员权益门票数据"+ vipDetail);
if (vipDetail!=null){
+ System.err.println("修改使用状态");
vipDetail.setStatus(2);
vipDetailService.updateById(vipDetail);
}else{
@@ -223,8 +228,13 @@
}
}else{
// 积分商城门票
- UserPointsMerchandise userPointsMerchandise = userPointsMerchandiseService.getById(Long.valueOf(id));
+ System.err.println("积分商城门票id");
+ UserPointsMerchandise userPointsMerchandise = userPointsMerchandiseService.getById(id);
+ System.err.println("积分商城门票数据"+ userPointsMerchandise);
if (userPointsMerchandise!=null){
+ System.err.println("修改使用状态");
+ userPointsMerchandise.setUserId(null);
+ userPointsMerchandise.setVerificationTime(new Date());
userPointsMerchandise.setStatus(2);
userPointsMerchandiseService.updateById(userPointsMerchandise);
}else{
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 b0bf114..d98aada 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
@@ -25,6 +25,7 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -143,6 +144,10 @@
if (!aBoolean) {
return ResultUtil.error("身份证和姓名不匹配");
}
+ // 根据身份证号获取生日
+ String birthday18 = extractBirthdayFromIdCard(student.getIdCard());
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ student.setBirthday(simpleDateFormat.parse(birthday18));
}
student.setPhone(editParticipant.getPhone());
studentClient.updateAppUser(student);
@@ -153,7 +158,32 @@
return ResultUtil.runErr();
}
}
+ /**
+ * 根据身份证号码提取生日
+ * @param idCard 身份证号码
+ * @return 生日字符串 YYYY-MM-DD格式
+ */
+ public static String extractBirthdayFromIdCard(String idCard) {
+ if (idCard == null || idCard.isEmpty()) {
+ return null;
+ }
+ String birthday;
+ if (idCard.length() == 18) {
+ // 18位身份证:截取第7-14位
+ birthday = idCard.substring(6, 14);
+ } else if (idCard.length() == 15) {
+ // 15位身份证:截取第7-12位,并补上前缀"19"
+ birthday = "19" + idCard.substring(6, 12);
+ } else {
+ return null;
+ }
+
+ // 格式化为YYYY-MM-DD格式
+ return birthday.substring(0, 4) + "-" +
+ birthday.substring(4, 6) + "-" +
+ birthday.substring(6, 8);
+ }
@ResponseBody
@PostMapping("/api/participant/delParticipant")
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/CompetitionUser.java b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/CompetitionUser.java
index 2a6811c..869b68e 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/CompetitionUser.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/CompetitionUser.java
@@ -13,6 +13,8 @@
private String phone;
private String idCard;
+ private String registerPhone;
+ private Integer appUserId;
private Integer state;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date insertTime;
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java
index 1adf03e..8187160 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java
@@ -6,7 +6,9 @@
import com.dsh.competition.entity.Participant;
import com.dsh.competition.entity.PaymentCompetition;
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;
import com.dsh.competition.feignclient.account.model.Student;
import com.dsh.competition.feignclient.account.model.TStudent;
import com.dsh.competition.feignclient.course.CoursePackagePaymentClient;
@@ -45,6 +47,8 @@
@Resource
private StudentClient studentClient;
+ @Resource
+ private AppUserClient appUserClient;
@Autowired
private UserCompetitionService userCompetitionService;
@@ -314,6 +318,7 @@
public Page<CompetitionUser> getPeopleFromId1(long offset, long limit, Integer id, Integer state) {
List<UserCompetition> peopleFromId1 = this.baseMapper.getPeopleFromId1(id, state, offset, limit);
int count = this.baseMapper.getPeopleFromIdCount(id, state);
+ Map<Integer, AppUser> userMap = appUserClient.getAllUser().stream().collect(Collectors.toMap(AppUser::getId, e -> e));
List<CompetitionUser> list = new ArrayList<>();
for (UserCompetition userCompetition : peopleFromId1) {
Long paymentCompetitionId = userCompetition.getPaymentCompetitionId();
@@ -321,12 +326,22 @@
Participant participant = this.getById(userCompetition.getParticipantId());
CompetitionUser competitionUser = new CompetitionUser();
if(null != participant){
+ AppUser appUser = userMap.get(participant.getAppUserId());
+ if (appUser!=null){
+ competitionUser.setAppUserId(appUser.getId());
+ competitionUser.setRegisterPhone(appUser.getPhone());
+ }
competitionUser.setName(participant.getName());
competitionUser.setSex(participant.getGender());
competitionUser.setPhone(participant.getPhone());
competitionUser.setIdCard(participant.getIdcard());
}else{
TStudent tStudent = studentClient.queryById(userCompetition.getParticipantId());
+ AppUser appUser = userMap.get(tStudent.getAppUserId());
+ if (appUser!=null){
+ competitionUser.setAppUserId(appUser.getId());
+ competitionUser.setRegisterPhone(appUser.getPhone());
+ }
competitionUser.setName(tStudent.getName());
competitionUser.setSex(tStudent.getSex());
competitionUser.setPhone(tStudent.getPhone());
diff --git a/cloud-server-course/src/main/java/com/dsh/course/util/ALiSendSms.java b/cloud-server-course/src/main/java/com/dsh/course/util/ALiSendSms.java
index 06dc440..faa47ca 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/util/ALiSendSms.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/util/ALiSendSms.java
@@ -21,8 +21,8 @@
// 设置鉴权参数,初始化客户端
private DefaultProfile profile = DefaultProfile.getProfile(
"cn-hangzhou",// 地域ID
- "LTAI5tE3ownRhJ7eXsuW7Vn7",// 您的AccessKey ID
- "Crgi0OhtDRuJafIeyT3JQL9v0P4EgH");// 您的AccessKey Secret
+ "LTAI5tKLeAE1B5n2mvTZ5yy6",// 您的AccessKey ID
+ "zradDLTBGdzq26tYz9RUCUh0sPmfhh");// 您的AccessKey Secret
private IAcsClient client = new DefaultAcsClient(profile);
private static void log_print(String functionName, Object result) {
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/CompetitionUser.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/CompetitionUser.java
index 6c0d239..e3bbe43 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/CompetitionUser.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/CompetitionUser.java
@@ -12,6 +12,8 @@
private Integer sex;
private String phone;
+ private String registerPhone;
+ private Integer appUserId;
private String idCard;
private Integer state;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/Site.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/Site.java
index 9f9d5bf..d1eaa3b 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/Site.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/Site.java
@@ -168,6 +168,6 @@
private Integer targetAudience;
private Integer fieldType;
private Double cashPrice;
- private Double coinPrice;
+ private Integer coinPrice;
}
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
index 8d60d0d..9221d31 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
@@ -75,11 +75,15 @@
DateFormat format = new SimpleDateFormat("yyyyMMdd");
String time1 = format.format(date);
String fileName =name+"报名信息.xls";
- String[] title = new String[] {"姓名","性别","联系电话","身份证号","状态"};
+ String[] title = new String[] {"姓名","性别","注册电话","联系电话","身份证号","状态"};
GetPeopleQuery query = new GetPeopleQuery();
query.setId(id);
query.setState(state);
- List<CompetitionUser> list = competitionClient.getPeoples(query);
+ // todo 临时处理 因为只能更新后台
+ Page<CompetitionUser> page = competitionClient.getPeopleFromId1(new GetPeopleQuery(999, 0, id, state));
+ List<CompetitionUser> list = page.getRecords();
+// List<CompetitionUser> list = competitionClient.getPeoples(query);
+ System.err.println("导出查询人员列表"+ list);
String[][] values = new String[list.size()][];
for (int i = 0; i < list.size(); i++) {
CompetitionUser d = list.get(i);
@@ -95,15 +99,17 @@
}else {
values[i][1] = "未知";
}
- values[i][2] = d.getPhone();
- values[i][3] = d.getIdCard();
+ values[i][2] = d.getRegisterPhone();
+
+ values[i][3] = d.getPhone();
+ values[i][4] = d.getIdCard();
Integer state1 = d.getState();
if(1 == state1){
- values[i][4] = "正常";
+ values[i][5] = "正常";
}else if(2 == state1){
- values[i][4] = "冻结";
+ values[i][5] = "正常";
}else {
- values[i][4] = "删除";
+ values[i][5] = "已取消";
}
}
HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook("Variance"+time1, title, values, null);
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
index 73bfb53..0aec5ba 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
@@ -454,10 +454,13 @@
}
//玩湃惠民卡
StoreConfig c10 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,10));
- model.addAttribute("c10",c10);
+ model.addAttribute("c10",c10!=null?c10:new StoreConfig());
//会员卡板块
StoreConfig c11 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,11));
- model.addAttribute("c11",c11);
+ model.addAttribute("c11",c11!=null?c11:new StoreConfig());
+ //散客入场
+ StoreConfig c12 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,12));
+ model.addAttribute("c12",c12!=null?c12:new StoreConfig());
return PREFIX + "TShop_imgAll.html";
}
@@ -605,8 +608,8 @@
map1.put("remark",tStore.getIntroduce());
map1.put("lat",tStore.getLat());
map1.put("lng",tStore.getLon());
- String result = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addSpace", map1);
-// String result = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addSpace", map1);
+// String result = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addSpace", map1);
+ String result = HttpRequestUtil.postRequest("https://port.daowepark.com/v7/user_api/general/addSpace", map1);
System.out.println(result);
JSONObject jsonObject = JSONObject.parseObject(result);
JSONObject data = jsonObject.getJSONObject("data");
@@ -747,9 +750,9 @@
}
@RequestMapping(value = "/saveImgAll")
@ResponseBody
- public Object saveImgAll(Integer id,Integer px1,Integer px2,Integer px3,Integer px4,Integer px5,Integer px6,Integer px7,Integer px8,Integer px10,Integer px11,
- String c1,String c2,String c3,String c4,String c5,String c6,String c7,String c8,String c10,String c111,
- Integer r1,Integer r2,Integer r3,Integer r4,Integer r5,Integer r6,Integer r7,Integer r8,Integer r10,Integer r11,String str) {
+ public Object saveImgAll(Integer id,Integer px1,Integer px2,Integer px3,Integer px4,Integer px5,Integer px6,Integer px7,Integer px8,Integer px10,Integer px11,Integer px12,
+ String c1,String c2,String c3,String c4,String c5,String c6,String c7,String c8,String c10,String c111,String c12,
+ Integer r1,Integer r2,Integer r3,Integer r4,Integer r5,Integer r6,Integer r7,Integer r8,Integer r10,Integer r11,Integer r12,String str) {
try {
ArrayList<StoreConfig> storeConfigs = new ArrayList<>();
StoreConfig collect1 = collect(id, px1, r1, c1, 1);
@@ -762,6 +765,7 @@
StoreConfig collect8 = collect(id, px8, r8, c8, 8);
StoreConfig collect10 = collect(id, px10, r10, c10, 10);
StoreConfig collect11 = collect(id, px11, r11, c111, 11);
+ StoreConfig collect12 = collect(id, px12, r12, c12, 12);
storeConfigs.add(collect1);
storeConfigs.add(collect2);
storeConfigs.add(collect3);
@@ -772,6 +776,7 @@
storeConfigs.add(collect8);
storeConfigs.add(collect10);
storeConfigs.add(collect11);
+ storeConfigs.add(collect12);
storeConfigService.saveOrUpdateBatch(storeConfigs);
// 修改世界杯
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
index bbb93a5..3495e14 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
@@ -544,8 +544,8 @@
map.put("name",site.getName());
map.put("space_id",store.getId().toString());
String s = HttpRequestUtil.postRequest
-// ("https://port.daowepark.com/v7/user_api/general/addSpaceArea", map);
- ("https://try.daowepark.com/v7/user_api/general/addSpaceArea", map);
+ ("https://port.daowepark.com/v7/user_api/general/addSpaceArea", map);
+// ("https://try.daowepark.com/v7/user_api/general/addSpaceArea", map);
JSONObject jsonObject = JSONObject.parseObject(s);
JSONObject data = jsonObject.getJSONObject("data");
String area_id = data.getString("area_id");
@@ -560,6 +560,11 @@
// 保存价格数据
if (site.getPriceDTOS() != null && !site.getPriceDTOS().isEmpty()) {
saveSitePriceDetails(site.getId(), site.getPriceDTOS());
+ List<Site.PriceDTO> priceDTOS = site.getPriceDTOS();
+ site.setAppointmentStartTime(priceDTOS.get(0).getStartTime());
+ site.setAppointmentEndTime(priceDTOS.get(priceDTOS.size()-1).getEndTime());
+ siteClient.addSite(site);
+
}
return ResultUtil.success("添加成功");
@@ -584,7 +589,7 @@
sitePrice.setTargetAudience(detail.getTargetAudience());
sitePrice.setFieldType(detail.getFieldType());
sitePrice.setCashPrice(detail.getCashPrice() != null ? BigDecimal.valueOf(detail.getCashPrice()) : BigDecimal.ZERO);
- sitePrice.setCoinPrice(detail.getCoinPrice() != null ? BigDecimal.valueOf(detail.getCoinPrice()) : BigDecimal.ZERO);
+ sitePrice.setCoinPrice(detail.getCoinPrice() != null ? detail.getCoinPrice() : 0);
sitePrice.setInsertTime(now);
sitePrice.setUpdateTime(now);
@@ -629,6 +634,11 @@
// 先删除原有价格数据
sitePriceService.remove(new QueryWrapper<TSitePrice>().eq("siteId", site.getId()));
saveSitePriceDetails(site.getId(), site.getPriceDTOS());
+ List<Site.PriceDTO> priceDTOS = site.getPriceDTOS();
+ site.setAppointmentStartTime(priceDTOS.get(0).getStartTime());
+ site.setAppointmentEndTime(priceDTOS.get(priceDTOS.size()-1).getEndTime());
+ siteClient.addSite(site);
+
}
return ResultUtil.success();
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
index 77c7435..c03fea9 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
@@ -1572,6 +1572,9 @@
siteBooking.setCityCode(byId.getCityCode());
}
+ if (siteBooking.getIsHalf()==2){
+ siteBooking.setHalfName(null);
+ }
siteClient.addSiteBooking(siteBooking);
System.out.println("=================" + siteBooking);
return new ResultUtil<>(null, 200, null, null, null);
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/util/ALiSendSms.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/util/ALiSendSms.java
index d8d9e58..9518e36 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/util/ALiSendSms.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/util/ALiSendSms.java
@@ -21,8 +21,8 @@
// 设置鉴权参数,初始化客户端
private DefaultProfile profile = DefaultProfile.getProfile(
"cn-hangzhou",// 地域ID
- "LTAI5tE3ownRhJ7eXsuW7Vn7",// 您的AccessKey ID
- "Crgi0OhtDRuJafIeyT3JQL9v0P4EgH");// 您的AccessKey Secret
+ "LTAI5tKLeAE1B5n2mvTZ5yy6",// 您的AccessKey ID
+ "zradDLTBGdzq26tYz9RUCUh0sPmfhh");// 您的AccessKey Secret
private IAcsClient client = new DefaultAcsClient(profile);
private static void log_print(String functionName, Object result) {
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/QuerySiteTimes.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/QuerySiteTimes.java
index 0612e5c..4435856 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/QuerySiteTimes.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/QuerySiteTimes.java
@@ -26,5 +26,5 @@
@ApiModelProperty(value = "现金价格(元)")
private BigDecimal cashPrice;
@ApiModelProperty(value = "玩湃币价格(币)")
- private BigDecimal coinPrice;
+ private Integer coinPrice;
}
\ No newline at end of file
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoreConfig.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoreConfig.java
index 797a28b..73e3972 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoreConfig.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoreConfig.java
@@ -38,7 +38,7 @@
@TableField("storeId")
private Integer storeId;
/**
- * 数据类型(1=报名玩湃课程,2=预约场地,3=报名赛事及活动,4=免费福利,5=线上课程积分,6=购买优惠门票,7=看视频得奖励,8=智慧球场,9=世界杯,10=玩湃惠民卡)
+ 1=报名玩湃课程,2=预约场地,3=报名赛事及活动,4=免费福利,5=线上课程积分,6=购买优惠门票,7=看视频得奖励,8=智慧球场,9=世界杯,10=玩湃惠民卡 11 会员 12=散客入场)
*/
@TableField("type")
private Integer type;
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TSitePrice.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TSitePrice.java
index 15411a4..59f04aa 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TSitePrice.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TSitePrice.java
@@ -48,7 +48,7 @@
@TableField("coinPrice")
@ApiModelProperty(value = "玩湃币价格(币)")
- private BigDecimal coinPrice;
+ private Integer coinPrice;
@TableField("insertTime")
@ApiModelProperty(value = "创建时间")
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TSiteServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TSiteServiceImpl.java
index 95f2ce1..2a3b88e 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TSiteServiceImpl.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TSiteServiceImpl.java
@@ -48,6 +48,8 @@
if (StringUtils.isBlank(siteName)) {
siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).ne("status", 5).like("times", day));
+ }else{
+ siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).ne("status", 5).eq("nextName", siteName).like("times", day));
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OssUploadUtil.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OssUploadUtil.java
index 0948a11..40acbed 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OssUploadUtil.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OssUploadUtil.java
@@ -15,8 +15,8 @@
// zradDLTBGdzq26tYz9RUCUh0sPmfhh
//OSS图片访问域名
public static String oss_domain = "https://we-park-life.oss-cn-beijing.aliyuncs.com/";
-// public static String accessKeyId = "LTAI5tE3ownRhJ7eXsuW7Vn7";
-// public static String accessKeySecret = "Crgi0OhtDRuJafIeyT3JQL9v0P4EgH";
+// public static String accessKeyId = "LTAI5tKLeAE1B5n2mvTZ5yy6";
+// public static String accessKeySecret = "zradDLTBGdzq26tYz9RUCUh0sPmfhh";
public static String accessKeyId = "LTAI5tKLeAE1B5n2mvTZ5yy6";
public static String accessKeySecret = "zradDLTBGdzq26tYz9RUCUh0sPmfhh";
public static String bucketName="we-park-life";
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_two.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_two.html
index f779cda..341fa13 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_two.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_two.html
@@ -4,7 +4,7 @@
<div class="form-horizontal" id="carInfoForm">
- <#avatar id="url" name="*图片(推荐像素宽度316px)"/>
+ <#avatar id="url" name="*图片(推荐像素宽度316px)" avatarImg="" />
<div class="input-group" style="margin-left: 342px;">
<div class="input-group-btn">
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_imgAll.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_imgAll.html
index 91b1fe2..2b3ca1f 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_imgAll.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_imgAll.html
@@ -34,6 +34,9 @@
@if(c11!=null){
<input hidden id="s11" value="${c11.isOpen}">
@}
+ @if(c12!=null){
+ <input hidden id="s12" value="${c12.isOpen}">
+ @}
<div class="row">
<div class="col-lg-6" style="">
<div class="form-group" style="margin-left: 96px">
@@ -242,6 +245,32 @@
@}
</div>
</div>
+ <div class="row">
+ <div class="col-lg-6" style="">
+ <div class="form-group" style="margin-left: 96px">
+ <label class="col-sm-4 control-label" >
+ 散客入场:<input type="radio" name="r12" value="1">开启 <input type="radio" name="r12" value="0">关闭
+ </label>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-3 control-label">排序:</label>
+ <div class="col-sm-9">
+ @if(c12==null){
+ <input class="form-control" style="width: 200px;" type="text" id="px12" value="">
+ @}
+ @if(c12!=null){
+ <input class="form-control" style="width: 200px;" type="text" id="px12" value="${c12.sort}">
+ @}
+ </div>
+ </div>
+ @if(c12==null){
+ <#avatar id="c12" name="背景图" avatarImg="" />
+ @}
+ @if(c2!=null){
+ <#avatar id="c12" name="背景图" avatarImg="${c12.backgroundImage}"/>
+ @}
+ </div>
+ </div>
<div style="font-size: x-large; display: none" >赛事比赛板块</div>
@for(obj in worldCupStores){
<div class="row " style="display: none" >
@@ -409,6 +438,12 @@
OBJradio[i].checked=true//修改选中状态
}
}
+ var OBJradio=document.getElementsByName("r12")
+ for(i=0;i<OBJradio.length;i++){//循环查找这个radio
+ if($("#s12").val()==OBJradio[i].value){//判断是否与radio的值相同
+ OBJradio[i].checked=true//修改选中状态
+ }
+ }
// for (let i = 0; i < $('input[name="isOpen"]').length; i++) {
// var OBJradio=document.getElementsByName("r9")
// for(i=0;i<OBJradio.length;i++){//循环查找这个radio
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js
index dcc182d..04ebd09 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js
@@ -18,6 +18,24 @@
{title: '所在省', field: 'province', visible: true, align: 'center', valign: 'middle'},
{title: '所在市', field: 'city', visible: true, align: 'center', valign: 'middle'},
{title: '预约门店', field: 'name', visible: true, align: 'center', valign: 'middle'},
+ {
+ title: '入场方式',
+ field: 'targetAudience',
+ visible: true,
+ align: 'center',
+ valign: 'middle',
+ formatter: function(value, row) {
+ switch (value) {
+
+ case 1:
+ return '订场';
+ case 2:
+ return '散客';
+ default:
+ return '';
+ }
+ }
+ },
{ title: '预约场地', field: 'siteName', visible: true, align: 'center', valign: 'middle'},
{ title: '姓名', field: 'booker', visible: true, align: 'center', valign: 'middle'},
{ title: '联系电话', field: 'phone', visible: true, align: 'center', valign: 'middle'},
@@ -79,7 +97,8 @@
return '';
}
}
- }
+ },
+
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js
index 05519ed..c361ad4 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js
@@ -200,8 +200,9 @@
console.log("================"+data)
if(data!=null){
let htmlStr = '';
- if (data.length>0){
-
+ if (data.length>1){
+ console.log(8888)
+ console.log(data.length)
for (let i = 0; i < data.length; i++) {
htmlStr += '<option value="' + data[i] + '">' + data[i] + '</option>'
}
@@ -210,6 +211,7 @@
}else {
+ console.log("9999")
$("#nextSite1").hide()
$("#nextSite").empty()
}
@@ -279,8 +281,10 @@
let cityCode = $('#cityCode').val();
let storeId = $('#storeId').val();
let siteId = $('#siteId').val();
- let site = $('#siteId option:checked').text();
+ let site = $('#nextSite').val();
+ console.log("===========")
+ console.log(site)
var radios = document.getElementsByName("type");
var selectedValue;
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetitionUser.js b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetitionUser.js
index 45ae474..1979a0f 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetitionUser.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetitionUser.js
@@ -27,6 +27,8 @@
return {1:"男",2:"女"}[data]
}
},
+ {title: '注册电话', field: 'registerPhone', visible: true, align: 'center', valign: 'middle',width:'8%',
+ },
{title: '联系电话', field: 'phone', visible: true, align: 'center', valign: 'middle',width:'8%',
},
{title: '身份证号', field: 'idCard', visible: true, align: 'center', valign: 'middle',width:'8%',
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js
index e06a346..9e2eddd 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js
@@ -328,6 +328,7 @@
var px8 = $("#px8").val()
var px10 = $("#px10").val()
var px11 = $("#px11").val()
+ var px12 = $("#px12").val()
var c1 = $("#c1").val()
var c2 = $("#c2").val()
var c3 = $("#c3").val()
@@ -338,6 +339,7 @@
var c8 = $("#c8").val()
var c10 = $("#c10").val()
var c111 = $("#c111").val()
+ var c12 = $("#c12").val()
var r1 = document.querySelector('input[name="r1"]').checked;
var r2 = document.querySelector('input[name="r2"]').checked;
var r3 = document.querySelector('input[name="r3"]').checked;
@@ -348,6 +350,7 @@
var r8 = document.querySelector('input[name="r8"]').checked;
var r10 = document.querySelector('input[name="r10"]').checked;
var r11 = document.querySelector('input[name="r11"]').checked;
+ var r12 = document.querySelector('input[name="r12"]').checked;
var json1=[];
for (let i = 0; i < $('input[name="px9"]').length; i++) {
@@ -420,6 +423,11 @@
}else{
r11=0
}
+ if(r12){
+ r12 =1
+ }else{
+ r12=0
+ }
var ajax = new $ax(Feng.ctxPath + "/tShop/saveImgAll", function(data){
if(data.code == 200){
@@ -443,6 +451,7 @@
ajax.set("px8",px8);
ajax.set("px10",px10);
ajax.set("px11",px11);
+ ajax.set("px12",px12);
ajax.set("c1",c1);
ajax.set("c2",c2);
ajax.set("c3",c3);
@@ -453,6 +462,7 @@
ajax.set("c8",c8);
ajax.set("c10",c10);
ajax.set("c111",c111);
+ ajax.set("c12",c12);
ajax.set("r1",r1);
ajax.set("r2",r2);
ajax.set("r3",r3);
@@ -463,6 +473,7 @@
ajax.set("r8",r8);
ajax.set("r10",r10);
ajax.set("r11",r11);
+ ajax.set("r12",r12);
ajax.set("str",JSON.stringify(json1));
ajax.start();
}
@@ -539,6 +550,9 @@
var carPhoto = new $WebUpload("c111");
carPhoto.setUploadBarId("progressBar");
carPhoto.init();
+ var carPhoto = new $WebUpload("c12");
+ carPhoto.setUploadBarId("progressBar");
+ carPhoto.init();
for (let i = 0; i < $('input[name="px9"]').length; i++) {
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js
index 667ab26..eff8be2 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js
@@ -773,6 +773,31 @@
TSiteInfo.bookingRowIndex = 0;
TSiteInfo.walkinRowIndex = 0;
+ // 如果是编辑模式,初始化 priceConfig(从步骤2的单选按钮获取 isHalf)
+ var siteId = $("#id").val();
+ if (siteId) {
+ // 确保 priceConfig 对象存在
+ if (!TSiteInfo.priceConfig) {
+ TSiteInfo.priceConfig = {};
+ }
+ // 从步骤2的单选按钮获取 isHalf 值
+ var isHalfStep2 = $("input[name='ishalf_step2']:checked").val();
+ if (isHalfStep2) {
+ TSiteInfo.priceConfig.isHalf = parseInt(isHalfStep2);
+ } else {
+ // 如果没有选中,从隐藏字段获取(兼容旧数据)
+ var hiddenIsHalf = $("#type_").val();
+ TSiteInfo.priceConfig.isHalf = hiddenIsHalf ? parseInt(hiddenIsHalf) : 2;
+ }
+ } else {
+ // 新增模式:确保 priceConfig 已初始化(应该由 nextStep 初始化)
+ if (!TSiteInfo.priceConfig) {
+ TSiteInfo.priceConfig = {
+ isHalf: 2 // 默认不可预订半场
+ };
+ }
+ }
+
// 监听人群选择变化
$("#audience_booking, #audience_walkin").off('change').on('change', function() {
TSiteInfo.updateAudienceUI();
@@ -786,7 +811,6 @@
TSiteInfo.updateAudienceUI();
// 加载已有的价格数据(如果是编辑模式)
- var siteId = $("#id").val();
if (siteId) {
TSiteInfo.loadSitePrices(siteId);
}
@@ -1095,7 +1119,26 @@
* 构建表头
*/
TSiteInfo.buildTableHeaders = function() {
- var isHalf = TSiteInfo.priceConfig.isHalf;
+ // 获取 isHalf 值,优先从 priceConfig 获取,如果没有则从步骤2的单选按钮获取
+ var isHalf = 2; // 默认值
+ if (TSiteInfo.priceConfig && TSiteInfo.priceConfig.isHalf !== undefined) {
+ isHalf = TSiteInfo.priceConfig.isHalf;
+ } else {
+ // 从步骤2的单选按钮获取
+ var isHalfStep2 = $("input[name='ishalf_step2']:checked").val();
+ if (isHalfStep2) {
+ isHalf = parseInt(isHalfStep2);
+ } else {
+ // 最后从隐藏字段获取(兼容旧数据)
+ var hiddenIsHalf = $("#type_").val();
+ isHalf = hiddenIsHalf ? parseInt(hiddenIsHalf) : 2;
+ }
+ // 更新 priceConfig 以便后续使用
+ if (!TSiteInfo.priceConfig) {
+ TSiteInfo.priceConfig = {};
+ }
+ TSiteInfo.priceConfig.isHalf = isHalf;
+ }
var headerHtml = '<tr>' +
'<th rowspan="3" width="120">时段开始</th>' +
@@ -1162,7 +1205,26 @@
* 添加订场时段
*/
TSiteInfo.addBookingTimeSlot = function() {
- var isHalf = TSiteInfo.priceConfig.isHalf;
+ // 获取 isHalf 值,优先从 priceConfig 获取,如果没有则从步骤2的单选按钮获取
+ var isHalf = 2; // 默认值
+ if (TSiteInfo.priceConfig && TSiteInfo.priceConfig.isHalf !== undefined) {
+ isHalf = TSiteInfo.priceConfig.isHalf;
+ } else {
+ // 从步骤2的单选按钮获取
+ var isHalfStep2 = $("input[name='ishalf_step2']:checked").val();
+ if (isHalfStep2) {
+ isHalf = parseInt(isHalfStep2);
+ } else {
+ // 最后从隐藏字段获取(兼容旧数据)
+ var hiddenIsHalf = $("#type_").val();
+ isHalf = hiddenIsHalf ? parseInt(hiddenIsHalf) : 2;
+ }
+ // 更新 priceConfig 以便后续使用
+ if (!TSiteInfo.priceConfig) {
+ TSiteInfo.priceConfig = {};
+ }
+ TSiteInfo.priceConfig.isHalf = isHalf;
+ }
var index = TSiteInfo.bookingRowIndex++;
var html = '<tr data-index="' + index + '">' +
@@ -1194,7 +1256,26 @@
* 添加散客时段
*/
TSiteInfo.addWalkinTimeSlot = function() {
- var isHalf = TSiteInfo.priceConfig.isHalf;
+ // 获取 isHalf 值,优先从 priceConfig 获取,如果没有则从步骤2的单选按钮获取
+ var isHalf = 2; // 默认值
+ if (TSiteInfo.priceConfig && TSiteInfo.priceConfig.isHalf !== undefined) {
+ isHalf = TSiteInfo.priceConfig.isHalf;
+ } else {
+ // 从步骤2的单选按钮获取
+ var isHalfStep2 = $("input[name='ishalf_step2']:checked").val();
+ if (isHalfStep2) {
+ isHalf = parseInt(isHalfStep2);
+ } else {
+ // 最后从隐藏字段获取(兼容旧数据)
+ var hiddenIsHalf = $("#type_").val();
+ isHalf = hiddenIsHalf ? parseInt(hiddenIsHalf) : 2;
+ }
+ // 更新 priceConfig 以便后续使用
+ if (!TSiteInfo.priceConfig) {
+ TSiteInfo.priceConfig = {};
+ }
+ TSiteInfo.priceConfig.isHalf = isHalf;
+ }
var index = TSiteInfo.walkinRowIndex++;
var html = '<tr data-index="' + index + '">' +
@@ -1702,7 +1783,26 @@
*/
TSiteInfo.collectPriceData = function() {
var priceDTOS = [];
- var isHalf = TSiteInfo.priceConfig.isHalf;
+ // 获取 isHalf 值,优先从 priceConfig 获取,如果没有则从步骤2的单选按钮获取
+ var isHalf = 2; // 默认值
+ if (TSiteInfo.priceConfig && TSiteInfo.priceConfig.isHalf !== undefined) {
+ isHalf = TSiteInfo.priceConfig.isHalf;
+ } else {
+ // 从步骤2的单选按钮获取
+ var isHalfStep2 = $("input[name='ishalf_step2']:checked").val();
+ if (isHalfStep2) {
+ isHalf = parseInt(isHalfStep2);
+ } else {
+ // 最后从隐藏字段获取(兼容旧数据)
+ var hiddenIsHalf = $("#type_").val();
+ isHalf = hiddenIsHalf ? parseInt(hiddenIsHalf) : 2;
+ }
+ // 更新 priceConfig 以便后续使用
+ if (!TSiteInfo.priceConfig) {
+ TSiteInfo.priceConfig = {};
+ }
+ TSiteInfo.priceConfig.isHalf = isHalf;
+ }
var bookingChecked = $("#audience_booking").is(':checked');
var walkinChecked = $("#audience_walkin").is(':checked');
var validationFailed = false; // 验证失败标志
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java
index 81604b3..a2e66ca 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java
@@ -7,6 +7,7 @@
import com.dsh.other.service.ISiteService;
import com.dsh.other.util.ResultUtil;
import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -29,6 +30,7 @@
@RestController
@Api(tags = "硬件方调用 存储玩湃惠民卡使用记录")
@RequestMapping("/base/code")
+@Slf4j
public class CodeCallBackController {
@Autowired
private ISiteBookingService siteBookingService;
@@ -42,6 +44,7 @@
*/
@GetMapping("/verify")
public ResultUtil verify(Integer codeType,String dataId, Integer rid, Integer sid) throws Exception {
+ log.info("硬件开门后回调 校验是否可入场");
System.err.println("硬件开门后回调 校验是否可入场");
System.err.println("codeType:"+codeType);
System.err.println("dataId:"+dataId);
@@ -51,7 +54,7 @@
// codeType二维码类型1=订场 2=散客,3=门票,玩湃惠民卡codeType=4 234需要校验能否进场
if (codeType==1 || codeType==2){
- // 将订单设置为已核销
+ // 将订单设置为已使用
SiteBooking siteBooking = siteBookingService.getById(Integer.valueOf(dataId));
if (siteBooking==null){
System.err.println("未查询到订场记录"+dataId);
@@ -65,10 +68,9 @@
}
if (codeType==3){
// 判断是否能入场 远程调用将门票设置为已使用
- LocalDate now = LocalDate.now();
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
- String day = simpleDateFormat.format(now);
+ String day = simpleDateFormat.format(date1);
List<QuerySiteTimes> querySiteTimes = siteService.querySiteTimes(rid, day, null, null, 2);
Integer flag =0;
@@ -101,6 +103,7 @@
}
}
if (flag==0){
+ log.info("该时间段已无空位");
return ResultUtil.error("该时间段已无空位");
}else{
return ResultUtil.success();
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 42c9ced..f3a8644 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
@@ -4,6 +4,7 @@
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.other.entity.*;
@@ -41,6 +42,8 @@
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
+import java.time.DayOfWeek;
+import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
@@ -262,7 +265,8 @@
}
}
-
+ @Autowired
+ private ITSitePriceService sitePriceService;
@ResponseBody
@PostMapping("/base/site/querySiteList")
@ApiOperation(value = "获取场地列表", tags = {"用户—预约场地"})
@@ -270,6 +274,8 @@
})
public ResultUtil<List<QuerySiteListVo>> querySiteList(QuerySiteList querySiteList) {
try {
+
+
List<QuerySiteListVo> querySiteListVos = siteService.querySiteList(querySiteList);
return ResultUtil.success(querySiteListVos);
} catch (Exception e) {
@@ -654,6 +660,7 @@
System.err.println("订场类型:"+targetAudience);
map.put("name", site.getName());
+ map.put("targetAudience", targetAudience);
List<Integer> ids = getIds(siteBooking.getSiteId());
@@ -950,18 +957,36 @@
@PostMapping("/base/site/getNewAddSiteList")
public List<SiteVo> getAppUserSiteList(@RequestBody Integer storeId) {
List<SiteVo> siteVos = new ArrayList<>();
-
+ DayOfWeek dayOfWeek = LocalDate.now().getDayOfWeek();
+ Map<Integer, List<TSitePrice>> priceMap = sitePriceService.lambdaQuery().eq(TSitePrice::getDayOfWeek, dayOfWeek.getValue())
+ .list()
+ .stream().collect(Collectors.groupingBy(TSitePrice::getSiteId));
List<Site> list = siteService.list(new QueryWrapper<Site>().eq("state", 1).eq("storeId", storeId)
.orderByDesc("insertTime"));
if (list.size() > 0) {
for (Site site : list) {
+ List<TSitePrice> tSitePrices = priceMap.get(site.getId());
+
SiteVo vo = new SiteVo();
+ vo.setIsCanBeBooked(site.getIsCanBeBooked());
vo.setSiteId(site.getId());
vo.setSiteName(site.getName());
- vo.setSiteTime(site.getAppointmentStartTime() + "-" + site.getAppointmentEndTime());
+ vo.setSiteTime("");
+ vo.setPrice(0.0);
+ if (tSitePrices!=null&& !tSitePrices.isEmpty()){
+ BigDecimal bigDecimal = tSitePrices.get(0).getCashPrice();
+ // 遍历 查询最小的价格
+ for (TSitePrice tSitePrice : tSitePrices) {
+ if (bigDecimal.compareTo(tSitePrice.getCashPrice()) > 0) {
+ bigDecimal = tSitePrice.getCashPrice();
+ }
+ }
+ vo.setPrice(bigDecimal.doubleValue());
+ vo.setSiteTime(tSitePrices.get(0).getStartTime() + "-" + tSitePrices.get(tSitePrices.size()-1).getEndTime());
+ }
SiteType byId = siteTypeService.getById(site.getSiteTypeId());
vo.setSiteType(byId.getName());
- vo.setPrice(site.getCashPrice());
+
siteVos.add(vo);
}
}
@@ -969,4 +994,5 @@
}
+
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/StoreConfig.java b/cloud-server-other/src/main/java/com/dsh/other/entity/StoreConfig.java
index 17ffa3c..c668081 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/entity/StoreConfig.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/StoreConfig.java
@@ -38,7 +38,7 @@
@TableField("storeId")
private Integer storeId;
/**
- * 数据类型(1=报名玩湃课程,2=预约场地,3=报名赛事及活动,4=免费福利,5=线上课程积分,6=购买优惠门票,7=看视频得奖励,8=智慧球场)
+ 1=报名玩湃课程,2=预约场地,3=报名赛事及活动,4=免费福利,5=线上课程积分,6=购买优惠门票,7=看视频得奖励,8=智慧球场,9=世界杯,10=玩湃惠民卡 11 会员 12=散客入场)
*/
@TableField("type")
private Integer type;
diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/activity/UserCouponClient.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/activity/UserCouponClient.java
index 9a2644c..f2aa039 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/feignclient/activity/UserCouponClient.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/activity/UserCouponClient.java
@@ -4,6 +4,8 @@
import com.dsh.other.feignclient.activity.model.QueryUserCouponByIdAndUserId;
import com.dsh.other.feignclient.activity.model.UserCoupon;
import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
/**
@@ -19,8 +21,8 @@
* @param id
* @return
*/
- @PostMapping("/userCoupon/changeTicketStatus")
- void changeTicketStatus(String id);
+ @GetMapping("/userCoupon/changeTicketStatus/{id}")
+ void changeTicketStatus(@PathVariable("id") String id);
/**
* 根据id获取用户优惠券数据
*
diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/SiteVo.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/SiteVo.java
index 9138abf..7dd1cdd 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/SiteVo.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/SiteVo.java
@@ -20,5 +20,7 @@
@ApiModelProperty(value = "价格")
private Double price;
+ @ApiModelProperty(value = "是否可以预约(0=否,1=是)")
+ private Integer isCanBeBooked;
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/QueryMySiteVo.java b/cloud-server-other/src/main/java/com/dsh/other/model/QueryMySiteVo.java
index baa34e5..f2bb436 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/model/QueryMySiteVo.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/model/QueryMySiteVo.java
@@ -13,6 +13,8 @@
public class QueryMySiteVo {
@ApiModelProperty("场地id")
private Integer id;
+ @ApiModelProperty("面向人群 1订场 2散客")
+ private Integer targetAudience;
@ApiModelProperty("场地名称")
private String name;
@ApiModelProperty("场地类型名称")
diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteList.java b/cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteList.java
index d54d564..c9e0be7 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteList.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteList.java
@@ -31,4 +31,6 @@
private String lon;
@ApiModelProperty(value = "当前纬度", required = true, dataType = "String")
private String lat;
+ @ApiModelProperty(value = "入场方式 1订场 2散客", required = true, dataType = "Integer")
+ private Integer targetAudience;
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteTimes.java b/cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteTimes.java
index ba941f2..66120a2 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteTimes.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteTimes.java
@@ -18,8 +18,7 @@
private String time;
@ApiModelProperty("是否可选(0=否,1=是)")
private Integer selectable;
- @ApiModelProperty("是否过期(0=否,1=是)")
- private Integer timeAfter;
+
@ApiModelProperty("已预约人数")
private Integer selectCount;
@ApiModelProperty("最大预约人数")
@@ -29,5 +28,5 @@
@ApiModelProperty(value = "现金价格(元)")
private BigDecimal cashPrice;
@ApiModelProperty(value = "玩湃币价格(币)")
- private BigDecimal coinPrice;
+ private Integer coinPrice;
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/TSitePrice.java b/cloud-server-other/src/main/java/com/dsh/other/model/TSitePrice.java
index dddd3a8..26ecf4f 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/model/TSitePrice.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/model/TSitePrice.java
@@ -50,7 +50,7 @@
@TableField("coinPrice")
@ApiModelProperty(value = "玩湃币价格(币)")
- private BigDecimal coinPrice;
+ private Integer coinPrice;
@TableField("insertTime")
@ApiModelProperty(value = "创建时间")
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 d21f19d..966f980 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
@@ -104,11 +104,12 @@
querySiteList.setPageNum((querySiteList.getPageNum() - 1) * querySiteList.getPageSize());
DayOfWeek dayOfWeek = LocalDate.now().getDayOfWeek();
Map<Integer, List<TSitePrice>> priceMap = sitePriceService.lambdaQuery().eq(TSitePrice::getDayOfWeek, dayOfWeek.getValue())
- .eq(TSitePrice::getTargetAudience,1).list()
+ .list()
.stream().collect(Collectors.groupingBy(TSitePrice::getSiteId));
List<QuerySiteListVo> querySiteListVos = this.baseMapper.querySiteList(querySiteList);
for (QuerySiteListVo querySiteListVo : querySiteListVos) {
querySiteListVo.setPrice(0.0);
+ querySiteListVo.setTimes("");
if (ToolUtil.isEmpty(querySiteList.getLon())) {
querySiteListVo.setDistance(0D);
continue;
@@ -282,7 +283,6 @@
querySiteTimes.setSelectCount(0);
querySiteTimes.setSelectMaxCount(site.getWalkinCapacity());
querySiteTimes.setIsReserve(0);
- querySiteTimes.setTimeAfter(0);
querySiteTimes.setCashPrice(tSitePrice.getCashPrice());
querySiteTimes.setCoinPrice(tSitePrice.getCoinPrice());
String temp = tSitePrice.getStartTime().substring(0, tSitePrice.getStartTime().length() - 3) + "-" + tSitePrice.getEndTime().substring(0, tSitePrice.getEndTime().length() - 3);
@@ -317,11 +317,247 @@
}
if (querySiteTimes.getSelectable() == 1&&end.before(now)){
querySiteTimes.setSelectable(0);
- querySiteTimes.setTimeAfter(1);
}
if (end.before(now)){
querySiteTimes.setSelectable(0);
- querySiteTimes.setTimeAfter(1);
+ }
+ querySiteTimes.setSelectCount(count);
+ if (flag == 0 && querySiteTimes.getSelectable() == 1) {
+ // 当前时间段还没有预约
+ Integer walkinCapacity = site.getWalkinCapacity();
+ // 计算散客预约人数和最大散客容纳数
+ System.err.println("预约人数" + count);
+ System.err.println("最大散客容纳数" + walkinCapacity);
+ if (walkinCapacity <= count) {
+ if (targetAudience==1 && walkinCapacity!=0){
+ // 不可预约
+ System.err.println("不可预约 也不能散客");
+ querySiteTimes.setSelectable(0);
+ querySiteTimes.setIsReserve(0);
+ }else if (targetAudience==2){
+ // 不能散客
+ System.err.println("不可预约 也不能散客");
+ querySiteTimes.setSelectable(0);
+ querySiteTimes.setIsReserve(0);
+ }else{
+ querySiteTimes.setSelectable(1);
+ }
+ }else{
+ if (targetAudience==2){
+ // 散客只能预约当前时间段
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ String nowStr = simpleDateFormat.format(now);
+ // 判断当前时间有没有在timePriceStart和timePriceEnd之间
+ if (DateComparisonExample.isStringWithinTimeRange(nowStr, simpleDateFormat.parse(timePriceStart), simpleDateFormat.parse(timePriceEnd))) {
+ querySiteTimes.setSelectable(1);
+ }else{
+ querySiteTimes.setSelectable(0);
+ }
+ }
+ }
+ }
+ // 查出lock
+ List<SiteLock> list = siteLockService.list(new LambdaQueryWrapper<SiteLock>().eq(SiteLock::getSiteId, id));
+ for (SiteLock siteLock : list) {
+ String stime = day + " " + tSitePrice.getStartTime().substring(0, tSitePrice.getStartTime().length() - 3);
+ String etime = day + " " + tSitePrice.getEndTime().substring(0, tSitePrice.getEndTime().length() - 3);
+ boolean stringDateBetween = DateComparisonExample.isStringDateBetween(stime + " - " + etime, siteLock.getStartTime(), siteLock.getEndTime());
+ if (stringDateBetween) {
+ System.err.println("11111预约开始" + stime + "预约结束" + etime);
+ querySiteTimes.setSelectable(0);
+ querySiteTimes.setIsReserve(1);
+ }
+ if (DateComparisonExample.isStringWithinTimeRange(stime, siteLock.getStartTime(), siteLock.getEndTime())) {
+ System.err.println("22222预约开始" + stime + "预约结束" + etime);
+
+ querySiteTimes.setSelectable(0);
+ querySiteTimes.setIsReserve(1);
+ }
+ if (DateComparisonExample.isStringWithinTimeRange(etime, siteLock.getStartTime(), siteLock.getEndTime())) {
+ System.err.println("33333预约开始" + stime + "预约结束" + etime);
+
+ querySiteTimes.setSelectable(0);
+ querySiteTimes.setIsReserve(1);
+ }
+ }
+ timeRanges.add(querySiteTimes);
+ }
+ System.out.println("封装后的基础时间段和价格" + site);
+
+// System.out.println("================" + site);
+// String appointmentStartTime = site.getAppointmentStartTime();
+// String appointmentEndTime = site.getAppointmentEndTime();
+//
+// String currentTime = appointmentStartTime;
+// while (currentTime.compareTo(appointmentEndTime) < 0) {
+// String nextTime = null;
+// if ("智慧场地".equals(site.getTypeName())) {
+// nextTime = getNextTimeOne(currentTime);
+// } else {
+// nextTime = getNextTime(currentTime);
+// }
+//
+//
+// String timeRange = currentTime + "-" + nextTime;
+// QuerySiteTimes orderDto = new QuerySiteTimes();
+// orderDto.setTime(timeRange);
+//
+// LocalTime currentTime1 = LocalTime.now();
+// LocalTime targetTime = LocalTime.parse(currentTime);
+//
+// boolean hasExceeded = currentTime1.isAfter(targetTime);
+//// if (hasExceeded){
+//// orderDto.setSelectable(0);
+//// }
+// if (strings.contains(timeRange)) {
+//
+// orderDto.setSelectable(0);
+// } else {
+//
+// String stime = day + " " + currentTime;
+// String etime = day + " " + nextTime;
+// orderDto.setSelectable(1);
+// // 查出lock
+// List<SiteLock> list = siteLockService.list(new LambdaQueryWrapper<SiteLock>().eq(SiteLock::getSiteId, id));
+// for (SiteLock siteLock : list) {
+// boolean stringDateBetween = DateComparisonExample.isStringDateBetween(stime + " - " + etime, siteLock.getStartTime(), siteLock.getEndTime());
+// 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);
+// }
+//
+// }
+//
+//
+// }
+//
+//
+// timeRanges.add(orderDto);
+// currentTime = nextTime;
+// }
+ System.out.println("----最后封装的时间段数据------" + timeRanges);
+
+ return timeRanges;
+
+
+ }
+
+ // 用于继续支付
+ public List<QuerySiteTimes> querySiteTimes1(Integer siteBookingId, String day, String halfName, String siteName, Integer targetAudience) throws Exception {
+
+ SiteBooking siteBookingServiceById = iSiteBookingService.getById(siteBookingId);
+ Integer id = siteBookingServiceById.getSiteId();
+ System.out.println("=======date======" + day);
+ List<String> strings = new ArrayList<>();
+
+ List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>()
+ .ne("id", siteBookingId).eq("siteId", id).ne("status", 5).eq("nextName", siteName).like("times", day));
+
+ if (siteName == null || siteName.equals("")) {
+ siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).ne("status", 5).like("times", day));
+ }
+
+
+ System.out.println("=======已预约列表======" + siteBookings);
+ for (SiteBooking siteBooking : siteBookings) {
+
+
+ String[] split = siteBooking.getTimes().split(";");
+
+ if (siteBooking.getIsHalf() == 2) {
+ for (String s : split) {
+ String convertedValue = s.substring(11);
+ strings.add(convertedValue + (siteBooking.getTargetAudience() != null ? "," + siteBooking.getTargetAudience() : ",1"));
+ }
+ } else {
+ if (halfName == null) {
+ for (String s : split) {
+ String convertedValue = s.substring(11);
+ strings.add(convertedValue + (siteBooking.getTargetAudience() != null ? "," + siteBooking.getTargetAudience() : ",1"));
+ }
+ }
+
+ if (siteBooking.getHalfName().equals(halfName)) {
+ for (String s : split) {
+ String convertedValue = s.substring(11);
+ strings.add(convertedValue + (siteBooking.getTargetAudience() != null ? "," + siteBooking.getTargetAudience() : ",1"));
+ }
+
+ }
+ }
+ }
+ System.out.println("======已经预约时间段=======" + strings);
+
+
+ Site site = siteService.getById(id);
+ List<QuerySiteTimes> timeRanges = new ArrayList<>();
+ day = day.split(";")[0].split(" ")[0];
+ LocalDate date = LocalDate.parse(day);
+ DayOfWeek dayOfWeek = date.getDayOfWeek();
+ // 通过日期 确定周X 查询设置的可以约时间段和金额 封装基础时间段数据
+ LambdaQueryWrapper<TSitePrice> tSitePriceLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ tSitePriceLambdaQueryWrapper.eq(TSitePrice::getSiteId, id);
+ tSitePriceLambdaQueryWrapper.orderByAsc(TSitePrice::getStartTime);
+ tSitePriceLambdaQueryWrapper.eq(TSitePrice::getTargetAudience, targetAudience);
+ tSitePriceLambdaQueryWrapper.eq(TSitePrice::getDayOfWeek, dayOfWeek.getValue());
+ if (StringUtils.hasLength(halfName)) {
+ tSitePriceLambdaQueryWrapper.eq(TSitePrice::getFieldType, 2);
+ } else {
+ tSitePriceLambdaQueryWrapper.eq(TSitePrice::getFieldType, 1);
+ }
+ List<TSitePrice> sitePrice = sitePriceService.list(tSitePriceLambdaQueryWrapper);
+
+ SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+
+ for (TSitePrice tSitePrice : sitePrice) {
+ QuerySiteTimes querySiteTimes = new QuerySiteTimes();
+ querySiteTimes.setTime(tSitePrice.getStartTime().substring(0, tSitePrice.getStartTime().length() - 3) + "-" + tSitePrice.getEndTime().substring(0, tSitePrice.getEndTime().length() - 3));
+ querySiteTimes.setSelectable(1);
+ querySiteTimes.setSelectCount(0);
+ querySiteTimes.setSelectMaxCount(site.getWalkinCapacity());
+ querySiteTimes.setIsReserve(0);
+ querySiteTimes.setCashPrice(tSitePrice.getCashPrice());
+ querySiteTimes.setCoinPrice(tSitePrice.getCoinPrice());
+ String temp = tSitePrice.getStartTime().substring(0, tSitePrice.getStartTime().length() - 3) + "-" + tSitePrice.getEndTime().substring(0, tSitePrice.getEndTime().length() - 3);
+ String timePriceStart = day + " " + tSitePrice.getStartTime().substring(0, tSitePrice.getStartTime().length() - 3);
+ String timePriceEnd = day + " " + tSitePrice.getEndTime().substring(0, tSitePrice.getEndTime().length() - 3);
+ Date now = new Date();
+ Date start = simpleDateFormat1.parse(timePriceStart);
+ Date end = simpleDateFormat1.parse(timePriceEnd);
+ // 已经预约了 判断是散客模式还是订场模式
+ Integer flag = 0;
+ // 散客预约人数
+ Integer count = 0;
+ for (String time : strings) {
+ // 先判断时间是否和预约时间有交集
+ String s = time.split(",")[1];
+ String timeRange = time.split(",")[0];
+ String[] split = timeRange.split("-");
+ String bookingStart = day + " " + split[0];
+ String bookingEnd = day + " " + split[1];
+ if (!isTimePeriodsIntersect(timePriceStart, timePriceEnd, bookingStart, bookingEnd)) {
+ // 不相交
+ } else {
+ if (s.equals("1")) {
+ // 订场 不可再预约了
+ querySiteTimes.setIsReserve(1);
+ querySiteTimes.setSelectable(0);
+ flag = 1;
+ break;
+ }
+ count++;
+ }
+ }
+ if (querySiteTimes.getSelectable() == 1&&end.before(now)){
+ querySiteTimes.setSelectable(0);
+ }
+ if (end.before(now)){
+ querySiteTimes.setSelectable(0);
}
querySiteTimes.setSelectCount(count);
if (flag == 0 && querySiteTimes.getSelectable() == 1) {
@@ -528,7 +764,7 @@
String[] split = reservationSite.getTimes().split(";");
// 所选时间段 所需总计金额
BigDecimal money = BigDecimal.ZERO;
- BigDecimal playCoin = BigDecimal.ZERO;
+ Integer playCoin = 0;
for (String s : split) {
String day = s.split(" ")[0];
String time = s.split(" ")[1];
@@ -551,7 +787,7 @@
}
if (querySiteTime.getTime().equals(time)) {
money = money.add(querySiteTime.getCashPrice());
- playCoin = playCoin.add(querySiteTime.getCoinPrice());
+ playCoin = playCoin+querySiteTime.getCoinPrice();
break;
}
}
@@ -649,7 +885,7 @@
return aliPaymentSite(money.setScale(2, RoundingMode.HALF_EVEN).doubleValue(), siteBooking);
}
if (reservationSite.getPayType() == 3) {//玩湃币支付
- return playPaiCoinPaymentSite(appUser, playCoin.setScale(2, RoundingMode.HALF_EVEN).doubleValue(), siteBooking);
+ return playPaiCoinPaymentSite(appUser, playCoin.doubleValue(), siteBooking);
}
return ResultUtil.success();
@@ -859,11 +1095,14 @@
pageNo = (pageNo - 1) * pageSize;
List<QueryMySiteVo> queryMySiteVos = this.baseMapper.queryMySite(uid, status, pageNo, pageSize);
for (QueryMySiteVo queryMySiteVo : queryMySiteVos) {
+ if (queryMySiteVo.getTargetAudience()==null){
+ queryMySiteVo.setTargetAudience(1);
+ }
SiteBooking siteBooking = siteBookingService.getById(queryMySiteVo.getId());
String[] split = siteBooking.getTimes().split(";");
// 所选时间段 所需总计金额
BigDecimal money = BigDecimal.ZERO;
- BigDecimal playCoin = BigDecimal.ZERO;
+ Integer playCoin = 0;
for (String s : split) {
String day = s.split(" ")[0];
@@ -887,12 +1126,12 @@
// }
if (querySiteTime.getTime().equals(time)) {
money = money.add(querySiteTime.getCashPrice());
- playCoin = playCoin.add(querySiteTime.getCoinPrice());
+ playCoin = playCoin+querySiteTime.getCoinPrice();
break;
}
}
}
- queryMySiteVo.setPlayPaiCoin(playCoin.setScale(0, RoundingMode.DOWN).intValue());
+ queryMySiteVo.setPlayPaiCoin(playCoin);
}
return queryMySiteVos;
}
@@ -911,10 +1150,15 @@
Site byId = siteService.getById(siteBooking.getSiteId());
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
Date startTime = siteBooking.getStartTime();
- if (format.format(new Date()).equals(format.format(startTime)) && siteBooking.getStatus() != 0) {
+ if (siteBooking.getTargetAudience() == 1 && format.format(new Date()).equals(format.format(startTime)) && siteBooking.getStatus() != 0) {
return ResultUtil.error("预约当天,不能取消");
}
-
+ if (siteBooking.getTargetAudience() == 2){
+ Date date = new Date();
+ if (siteBooking.getEndTime().before( date)){
+ return ResultUtil.error("已过期,不能取消");
+ }
+ }
if (siteBooking.getStatus() == 0) {
siteBooking.setStatus(5);
siteBookingService.updateById(siteBooking);
@@ -1034,30 +1278,19 @@
String[] split = siteBooking.getTimes().split(";");
// 所选时间段 所需总计金额
BigDecimal money = BigDecimal.ZERO;
- BigDecimal playCoin = BigDecimal.ZERO;
+ Integer playCoin = 0;
for (String s : split) {
String day = s.split(" ")[0];
String time = s.split(" ")[1];
String bookingStart = day + " " + time.split("-")[0];
String bookingEnd = day + " " + time.split("-")[1];
- List<QuerySiteTimes> querySiteTimes = querySiteTimes(siteBooking.getId(), day, siteBooking.getHalfName(), siteBooking.getNextName(), siteBooking.getTargetAudience());
+ List<QuerySiteTimes> querySiteTimes = querySiteTimes1(siteBooking.getId(), day, siteBooking.getHalfName(), siteBooking.getNextName(), siteBooking.getTargetAudience());
for (QuerySiteTimes querySiteTime : querySiteTimes) {
String timePriceStart = day + " " + querySiteTime.getTime().split("-")[0];
String timePriceEnd = day + " " + querySiteTime.getTime().split("-")[1];
- if (!isTimePeriodsIntersect(timePriceStart, timePriceEnd, bookingStart, bookingEnd)) {
- // 时间不相交
- } else if (querySiteTime.getSelectable() == 0) {
- if (querySiteTime.getIsReserve() == 1) {
- return ResultUtil.error("【" + s + "】" +
- "时间段已被使用");
- } else {
- return ResultUtil.error("【" + s + "】" +
- "时间段散客人数已满");
- }
- }
if (querySiteTime.getTime().equals(time)) {
money = money.add(querySiteTime.getCashPrice());
- playCoin = playCoin.add(querySiteTime.getCoinPrice());
+ playCoin = playCoin+querySiteTime.getCoinPrice();
break;
}
}
@@ -1091,8 +1324,13 @@
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
siteBooking.setOrderNo(sdf.format(new Date()) + UUIDUtil.getNumberRandom(3));
+
siteBooking.setPayType(payType);
- siteBooking.setPayMoney(money.doubleValue());
+ if (payType==3){
+ siteBooking.setPayMoney(playCoin.doubleValue());
+ }else{
+ siteBooking.setPayMoney(money.doubleValue());
+ }
if (payType == 3) {
siteBooking.setUserCouponId(null);
}
@@ -1128,30 +1366,19 @@
Map<String, Double> map = new HashMap<>();
// 所选时间段 所需总计金额
BigDecimal money = BigDecimal.ZERO;
- BigDecimal playCoin = BigDecimal.ZERO;
+ Integer playCoin = 0;
for (String s : split) {
String day = s.split(" ")[0];
String time = s.split(" ")[1];
String bookingStart = day + " " + time.split("-")[0];
String bookingEnd = day + " " + time.split("-")[1];
- List<QuerySiteTimes> querySiteTimes = querySiteTimes(siteBooking.getId(), day, siteBooking.getHalfName(), siteBooking.getNextName(), siteBooking.getTargetAudience());
+ List<QuerySiteTimes> querySiteTimes = querySiteTimes1(siteBooking.getId(), day, siteBooking.getHalfName(), siteBooking.getNextName(), siteBooking.getTargetAudience());
for (QuerySiteTimes querySiteTime : querySiteTimes) {
String timePriceStart = day + " " + querySiteTime.getTime().split("-")[0];
String timePriceEnd = day + " " + querySiteTime.getTime().split("-")[1];
- if (!isTimePeriodsIntersect(timePriceStart, timePriceEnd, bookingStart, bookingEnd)) {
- // 时间不相交
- } else if (querySiteTime.getSelectable() == 0) {
- if (querySiteTime.getIsReserve() == 1) {
- return ResultUtil.error("【" + s + "】" +
- "时间段已被使用");
- } else {
- return ResultUtil.error("【" + s + "】" +
- "时间段散客人数已满");
- }
- }
if (querySiteTime.getTime().equals(time)) {
money = money.add(querySiteTime.getCashPrice());
- playCoin = playCoin.add(querySiteTime.getCoinPrice());
+ playCoin = playCoin+querySiteTime.getCoinPrice();
break;
}
}
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 6a79717..edffd36 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
@@ -63,7 +63,8 @@
private String alipay_root_cert_path = "C:/cert/alipay/user/alipay_root_cert_path.crt";//支付宝CA根证书文件路径
- private String certPath = "/usr/playpai/cert/weixin/apiclient_cert.p12";//微信证书
+// private String certPath = "/usr/playpai/cert/weixin/apiclient_cert.p12";//微信证书
+ private String certPath = "E:\\apiclient_cert.p12";//微信证书
public ResultUtil confirm(String smid1,String code, String outTradeNo, String amount) throws AlipayApiException {
diff --git a/cloud-server-other/src/main/resources/mapper/GameMapper.xml b/cloud-server-other/src/main/resources/mapper/GameMapper.xml
index 950f72e..34dc578 100644
--- a/cloud-server-other/src/main/resources/mapper/GameMapper.xml
+++ b/cloud-server-other/src/main/resources/mapper/GameMapper.xml
@@ -38,7 +38,7 @@
</select>
<select id="orderlist" resultType="map">
SELECT *,st.`name` as storeName,si.`name` as siteName,CONCAT(DATE_FORMAT(bk.startTime, '%Y-%m-%d %H:%i:%s'), ' -
- ', TIME_FORMAT(bk.endTime, '%H:%i:%s')) AS timeRange
+ ', TIME_FORMAT(bk.endTime, '%H:%i:%s')) AS timeRange,bk.targetAudience
FROM t_site_booking bk
LEFT JOIN t_store st on bk.storeId = st.id
LEFT JOIN t_site si on bk.siteId = si.id
diff --git a/cloud-server-other/src/main/resources/mapper/SiteMapper.xml b/cloud-server-other/src/main/resources/mapper/SiteMapper.xml
index b7bcca4..f7d8693 100644
--- a/cloud-server-other/src/main/resources/mapper/SiteMapper.xml
+++ b/cloud-server-other/src/main/resources/mapper/SiteMapper.xml
@@ -46,6 +46,9 @@
<if test="null != item.search and '' != item.search">
and (a.name like CONCAT('%', #{item.search}, '%') or b.name like CONCAT('%', #{item.search}, '%'))
</if>
+ <if test="null != item.targetAudience and '' != item.targetAudience">
+ and (a.targetAudience like CONCAT('%', #{item.targetAudience}, '%'))
+ </if>
order by a.insertTime desc limit #{item.pageNum}, #{item.pageSize}
</select>
@@ -62,6 +65,7 @@
a.payMoney as payMoney,
a.payType as payType,
a.isHalf as isHalf,
+ a.targetAudience as targetAudience,
CONCAT(DATE_FORMAT(a.startTime, '%Y-%m-%d %H:%i'), '-', DATE_FORMAT(a.endTime, '%H:%i')) as appointment,
a.`status`,
UNIX_TIMESTAMP(a.insertTime) * 1000 as insertTime
--
Gitblit v1.7.1