From 48323fce3b4b8013755421aa1d1feb9a73cddde9 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 03 一月 2024 11:42:17 +0800
Subject: [PATCH] 合并代码
---
cloud-server-other/src/main/java/com/dsh/other/model/TStoreOtherVo.java | 27 ++
cloud-server-account/src/main/java/com/dsh/account/util/GDMapGeocodingUtil.java | 3
cloud-server-course/pom.xml | 10 +
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java | 8
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 24 ++
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 14 -
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java | 136 ++++++++++++
cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java | 6
cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java | 11 +
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java | 13 -
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java | 39 ++-
cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java | 77 ++++++-
cloud-server-course/src/main/java/com/dsh/course/util/ALiSendSms.java | 128 ++++++++++++
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 14 -
cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java | 40 +++
cloud-server-other/src/main/java/com/dsh/other/util/GDMapGeocodingUtil.java | 4
cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java | 4
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 9
cloud-server-other/src/main/java/com/dsh/other/controller/UserController.java | 29 ++
cloud-server-activity/src/main/java/com/dsh/activity/util/GDMapGeocodingUtil.java | 3
20 files changed, 509 insertions(+), 90 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java
index b421fad..3c38b0e 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java
@@ -117,11 +117,7 @@
@ApiImplicitParam(value = "搜索", name = "search", required = true, dataType = "string"),
})
public ResultUtil<List<StoreDetailList>> getStoreListCon(Integer space, String cityCode, String latitude, String longitude, String search) {
-// try {
return ResultUtil.success(tsService.queryStoreList(space, cityCode, longitude, latitude, search));
-// }catch (Exception e){
-// return ResultUtil.runErr();
-// }
}
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 c5a11cb..f0f8c64 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
@@ -714,30 +714,16 @@
citycodeResp.setLatitude(longitude);
List<StoreDetailList> queryStoreList = storeClient.getQueryStoreList(citycodeResp);
if (queryStoreList.size() > 0) {
-
if (ToolUtil.isEmpty(space) || space ==1) {
queryStoreList = queryStoreList.stream().sorted(Comparator.comparing(o -> o.getStoreDistance())).collect(Collectors.toList());
-
-
} else {
queryStoreList = queryStoreList.stream()
.sorted(Comparator.comparing(StoreDetailList::getStoreDistance).reversed())
.collect(Collectors.toList());
}
-
-
-// if (ToolUtil.isEmpty(space) || space == 2) {
-// queryStoreList = queryStoreList.stream()
-// .sorted(Comparator.comparing(StoreDetailList::getStoreDistance).reversed())
-// .collect(Collectors.toList());
-//
-// } else {
-// queryStoreList = queryStoreList.stream().sorted(Comparator.comparing(o -> o.getStoreDistance())).collect(Collectors.toList());
-// }
if (ToolUtil.isNotEmpty(search)) {
queryStoreList = queryStoreList.stream().filter(o -> o.getStoreName().contains(search)).collect(Collectors.toList());
}
-
}
return queryStoreList;
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/GDMapGeocodingUtil.java b/cloud-server-account/src/main/java/com/dsh/account/util/GDMapGeocodingUtil.java
index 6a83b16..bb40cb1 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/util/GDMapGeocodingUtil.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/util/GDMapGeocodingUtil.java
@@ -121,7 +121,8 @@
String city = addressComponent.getString("city");
String district = addressComponent.getString("district");
if("[]".equals(code)){
- throw new Exception("经纬度转行政区划代码失败[" + lon + "," + lan + "]");
+ System.err.println("经纬度转行政区划代码失败[" + lon + "," + lan + "]");
+ return null;
}
map.put("province", province);
map.put("provinceCode", code.substring(0, 2) + "0000");
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 4c33f44..7709f2d 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
@@ -297,12 +297,11 @@
List<IntegralCommodity> commodity = new ArrayList<>();
Map<String, String> geocode = gdMapGeocodingUtil.geocode(location.getLon(), location.getLat());
+ if(null == geocode){
+ return new ArrayList<>();
+ }
String provinceCode = geocode.get("provinceCode");
String cityCode = geocode.get("cityCode");
-
-
-// if(null != geocode) {
-
List<Store> stores = storeClient.queryStoreList(new QueryStoreList(provinceCode, cityCode));
Store s = null;
Double d = 0D;
@@ -314,14 +313,7 @@
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());
-// }
-
List<PointsMerchandiseStore> storesids = pointsMerchandiseStoreService.list(new QueryWrapper<PointsMerchandiseStore>().eq("storeId", s.getId()));
for (PointsMerchandiseStore storesid : storesids) {
cIds.add(storesid.getPointsMerchandiseId());
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 ed0fd9d..38aea5c 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
@@ -4,7 +4,11 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.activity.entity.Coupon;
import com.dsh.activity.entity.CouponStore;
+import com.dsh.activity.entity.TStudent;
import com.dsh.activity.entity.UserCoupon;
+import com.dsh.activity.feignclient.account.AppUserClient;
+import com.dsh.activity.feignclient.account.StudentClient;
+import com.dsh.activity.feignclient.account.model.AppUser;
import com.dsh.activity.feignclient.model.CouponStuAvailableVo;
import com.dsh.activity.feignclient.model.QueryUserCouponByIdAndUserId;
import com.dsh.activity.model.CouponListVo;
@@ -21,6 +25,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -43,9 +48,16 @@
@Autowired
private UserCouponService userCouponService;
-
@Autowired
private CouponStoreService csServie;
+
+ @Resource
+ private AppUserClient appUserClient;
+
+ @Resource
+ private StudentClient studentClient;
+
+
private final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
@@ -202,6 +214,28 @@
String couponIds = sendCouponReq.getCouponIds();
for (String s : couponIds.split(",")) {
Coupon coupon = couponService.getById(s);
+ Integer userId = sendCouponReq.getUserId();
+ if(coupon.getAuditStatus() != 2){
+ continue;
+ }
+ if(coupon.getStatus() != 2){
+ continue;
+ }
+ if(coupon.getState() != 1){
+ continue;
+ }
+ if(coupon.getUserPopulation() == 2){
+ AppUser appUser = appUserClient.queryAppUser(userId);
+ if(appUser.getIsVip() == 0){
+ continue;
+ }
+ }
+ if(coupon.getUserPopulation() == 3){
+ List<TStudent> tStudents = studentClient.queryStudentList(userId);
+ if(tStudents.size() == 0){
+ continue;
+ }
+ }
if (new Date().before(coupon.getStartTime()) && new Date().after(coupon.getEndTime())) {
continue;
}
@@ -212,6 +246,10 @@
if (coupon.getQuantityIssued() <= counts) {
continue;
}
+ counts = userCouponService.count(new QueryWrapper<UserCoupon>().eq("couponId", s).eq("userId", userId));
+ if (coupon.getPickUpQuantity() <= counts) {
+ continue;
+ }
UserCoupon userCoupon = new UserCoupon();
userCoupon.setCouponId(Integer.valueOf(s));
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/util/GDMapGeocodingUtil.java b/cloud-server-activity/src/main/java/com/dsh/activity/util/GDMapGeocodingUtil.java
index f424503..a53fcb2 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/util/GDMapGeocodingUtil.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/util/GDMapGeocodingUtil.java
@@ -113,7 +113,8 @@
String city = addressComponent.getString("city");
String district = addressComponent.getString("district");
if("[]".equals(code)){
- throw new Exception("经纬度转行政区划代码失败[" + lon + "," + lan + "]");
+ System.err.println("经纬度转行政区划代码失败[" + lon + "," + lan + "]");
+ return null;
}
map.put("province", province);
map.put("provinceCode", code.substring(0, 2) + "0000");
diff --git a/cloud-server-course/pom.xml b/cloud-server-course/pom.xml
index 46b3c21..518fb93 100644
--- a/cloud-server-course/pom.xml
+++ b/cloud-server-course/pom.xml
@@ -137,6 +137,16 @@
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
+ <dependency>
+ <groupId>com.aliyun</groupId>
+ <artifactId>aliyun-java-sdk-core</artifactId>
+ <version>4.4.3</version>
+ </dependency>
+ <dependency>
+ <groupId>com.aliyun.oss</groupId>
+ <artifactId>aliyun-sdk-oss</artifactId>
+ <version>3.8.0</version>
+ </dependency>
</dependencies>
<build>
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java
index 9c0a149..74c3169 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java
@@ -55,6 +55,9 @@
@Autowired
private TokenUtil tokenUtil;
+ @Autowired
+ private ICoursePackageSchedulingService coursePackageSchedulingService;
+
/**
* 根据门店ids获取课包ids 根据课包ids 获取购课记录的用户ids
@@ -334,7 +337,12 @@
@ResponseBody
@PostMapping("/coursePackage/updateCoursePackageById")
public void updateCoursePackageById(@RequestBody TCoursePackage coursePackage) {
+ TCoursePackage coursePackage1 = coursePackageService.getById(coursePackage.getId());
coursePackageService.updateCoursePackageById(coursePackage);
+ //暂停课程后的开课操作(需要检查是否继续排课)
+ if(coursePackage1.getStatus() == 4 && coursePackage.getStatus() == 1){
+ coursePackageSchedulingService.startAndScheduleClasses(coursePackage.getId());
+ }
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
index 81c1af4..ba122dc 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
@@ -138,6 +138,12 @@
@Autowired
private ICoursePackageOrderStudentService coursePackageOrderStudentService;
+ @Autowired
+ private ALiSendSms aLiSendSms;
+
+ @Resource
+ private AppUserClient appuClient;
+
/**
* 查询学员入学时间 根据第一次购买课包的时间
@@ -1315,6 +1321,12 @@
TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId());
coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - paymentDeductionClassHour.getClassHour());
coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
+ Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+ if(3 >= laveClassHours){
+ AppUser appUser = appuClient.queryAppUser(coursePackageOrderStudent.getAppUserId());
+ //发送短信提醒
+ aLiSendSms.sendSms(appUser.getPhone(), "SMS_463646317", "");
+ }
//判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录
List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>()
.eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1)
@@ -2383,6 +2395,13 @@
}
coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()-coursePackage.getNeedNum());
orderStudentService.updateById(coursePackageOrderStudent);
+ Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+ if(3 >= laveClassHours){
+ AppUser appUser = appuClient.queryAppUser(coursePackageOrderStudent.getAppUserId());
+ //发送短信提醒
+ aLiSendSms.sendSms(appUser.getPhone(), "SMS_463646317", "");
+ }
+
CourseCounsum courseCounsum = new CourseCounsum();
courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
courseCounsum.setChangeType(0);
@@ -2600,6 +2619,7 @@
.eq(CoursePackageScheduling::getCoursePackageId, tCoursePackage.getId())
.like(CoursePackageScheduling::getClassDate, courseDetailReq.getTime())
);
+
if (list3.isEmpty()) {
detailsListVo.setType(2);
objects.add(detailsListVo);
@@ -2679,6 +2699,10 @@
objects.add(detailsListVo);
}
+ //课程暂停
+ if(tCoursePackage.getState() == 4){
+ detailsListVo.setType(4);
+ }
}
map.put("data", objects);
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
index 4e064b4..1e18d25 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
@@ -10,11 +10,13 @@
import com.dsh.course.entity.dto.*;
import com.dsh.course.feignclient.account.AppUserClient;
import com.dsh.course.feignclient.account.StudentClient;
+import com.dsh.course.feignclient.account.model.AppUser;
import com.dsh.course.feignclient.account.model.Student;
import com.dsh.course.mapper.CoursePackageSchedulingMapper;
import com.dsh.course.mapper.CoursePackageStudentMapper;
import com.dsh.course.model.dto.ToClassDto;
import com.dsh.course.service.*;
+import com.dsh.course.util.ALiSendSms;
import com.dsh.course.util.ResultUtil;
import com.dsh.course.util.UUIDUtil;
import io.swagger.annotations.Api;
@@ -178,6 +180,9 @@
@Resource
private AppUserClient appUserClient;
+
+ @Autowired
+ private ALiSendSms aLiSendSms;
@Autowired
@@ -828,6 +833,12 @@
coursePackageOrderStudent.setAppUserId(null);
coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()-toHoliDto.getClassNum());
orderStudentService.updateById(coursePackageOrderStudent);
+ Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+ if(3 >= laveClassHours){
+ AppUser appUser = appUserClient.queryAppUser(coursePackageOrderStudent.getAppUserId());
+ //发送短信提醒
+ aLiSendSms.sendSms(appUser.getPhone(), "SMS_463646317", "");
+ }
//上课星期
String classWeeks = coursePackage1.getClassWeeks();
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java b/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java
index ff40d01..4d363cc 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java
@@ -53,4 +53,10 @@
* 定时任务过期清零课时及排课数据
*/
void taskOverdueClearing();
+
+
+ /**
+ * 课程开课后检查排课
+ */
+ void startAndScheduleClasses(Integer coursePackageId);
}
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 f3f89c2..2bd5d02 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
@@ -162,21 +162,19 @@
@Override
public void taskCoursePackageScheduling() {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ List<TCoursePackage> list2 = coursePackageService.list(new QueryWrapper<TCoursePackage>().eq("status", 2).eq("auditStatus", 2)
+ .eq("state", 1).eq("type", 1));
+ List<Integer> collect = list2.stream().map(TCoursePackage::getId).collect(Collectors.toList());
+ if(collect.size() == 0){
+ return;
+ }
List<CoursePackageOrderStudent> list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
.eq("status", 1)
.eq("state", 1)
.gt("useTime", "now()")
.gt("laveClassHours", 0)
+ .in("coursePackageId", collect)
);
-
- List<CoursePackageOrder> list1 = coursePackageOrderService.list(new QueryWrapper<CoursePackageOrder>()
- .eq("payStatus", 2)
- .eq("status", 1)
- .eq("state", 1)
- .gt("laveClassHours", 0)
- .orderByAsc("insertTime")
- );
-
for (CoursePackageOrderStudent coursePackageOrderStudent : list) {
CoursePackageScheduling coursePackageScheduling = this.getOne(new QueryWrapper<CoursePackageScheduling>()
.eq("appUserId", coursePackageOrderStudent.getAppUserId())
@@ -615,8 +613,128 @@
coursePackageOrderStudentService.updateBatchById(list);
}
}
+ }
+ /**
+ * 课程开课后检查排课
+ */
+ @Override
+ public void startAndScheduleClasses(Integer coursePackageId) {
+ List<CoursePackageOrderStudent> list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
+ .eq("status", 1)
+ .eq("state", 1)
+ .gt("useTime", "now()")
+ .gt("laveClassHours", 0)
+ .eq("coursePackageId", coursePackageId)
+ );
+ for (CoursePackageOrderStudent coursePackageOrderStudent : list) {
+ CoursePackageScheduling coursePackageScheduling = this.getOne(new QueryWrapper<CoursePackageScheduling>()
+ .eq("appUserId", coursePackageOrderStudent.getAppUserId())
+ .eq("studentId", coursePackageOrderStudent.getStudentId())
+ .eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId())
+ .eq("status", 1)
+ .orderByDesc("classDate")
+ .last(" limit 0, 1")
+ );
+ //当前时间小于最后一次排课时间则交由定时任务排课
+ if(null != coursePackageScheduling && System.currentTimeMillis() <= coursePackageScheduling.getClassDate().getTime()){
+ continue;
+ }
+
+ //当前时间大于最后一次排课时间,表明已经断开了定时任务的排课逻辑,需要从第二天手动排课。后续的排课还是让定时任务排课
+ Student student = studentClient.queryStudentById(coursePackageScheduling.getStudentId());
+ Date validity = student.getValidity();
+ TCoursePackage coursePackage = coursePackageService.getById(coursePackageScheduling.getCoursePackageId());
+ //上课星期
+ String classWeeks = coursePackage.getClassWeeks();
+ List<Integer> week = week(classWeeks);
+ //新排课的开始日期
+ Calendar start = Calendar.getInstance();
+ start.setTime(new Date());
+ start.set(Calendar.DAY_OF_YEAR, start.get(Calendar.DAY_OF_YEAR) + 1);
+ //需要排课的天数
+ int day_week = start.get(Calendar.DAY_OF_WEEK);
+ day_week = day_week - 1 == 0 ? 7 : day_week - 1;
+ Integer num = 8 - day_week + 7;
+
+ String classStartTime = coursePackage.getClassStartTime();
+ String classEndTime = coursePackage.getClassEndTime();
+ String[] split = classStartTime.split(",");
+ String[] split1 = classEndTime.split(",");
+ //有效期
+ Date useTime = coursePackageOrderStudent.getUseTime();
+ //剩余课时(需要扣除已排课但是还未上课的数据)
+ Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+ int count = this.count(new QueryWrapper<CoursePackageScheduling>()
+ .eq("appUserId", coursePackageOrderStudent.getAppUserId())
+ .eq("studentId", coursePackageOrderStudent.getStudentId())
+ .eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId())
+ .eq("status", 1)
+ .eq("type", 1)
+ );
+ Integer codeTime = coursePackage.getCodeTime();
+ laveClassHours -= count;
+ //剩余数量不足以排课
+ if (laveClassHours.compareTo(codeTime) < 0) {
+ break;
+ }
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ //生成一周的排课数据
+ for (int i = 0; i < num; i++) {
+ String s = sdf.format(start.getTime());
+
+ //判断当天是否在排课星期内
+ int day = start.get(Calendar.DAY_OF_WEEK);
+ day = day - 1 == 0 ? 7 : day - 1;
+ if (!week.contains(day)) {
+ start.set(Calendar.DAY_OF_YEAR, start.get(Calendar.DAY_OF_YEAR) + 1);
+ continue;
+ }
+ //大于有效期不进行排课
+ if (start.getTimeInMillis() >= validity.getTime()) {
+ break;
+ }
+ for (int j = 0; j < split.length; j++) {
+ //剩余数量不足以排课
+ if (laveClassHours.compareTo(codeTime) < 0) {
+ break;
+ }
+ //减少剩余课时数量
+ laveClassHours -= codeTime;
+ //开始组装排课数据
+ CoursePackageScheduling packageScheduling = new CoursePackageScheduling();
+ packageScheduling.setType(1);
+ packageScheduling.setAppUserId(coursePackageOrderStudent.getAppUserId());
+ packageScheduling.setStudentId(coursePackageOrderStudent.getStudentId());
+ packageScheduling.setCoursePackageId(coursePackage.getId());
+ try {
+ Date parse = format.parse(s + " " + split[j]);
+ Date parse1 = format.parse(s + " " + split1[j]);
+ packageScheduling.setClassDate(parse);
+ packageScheduling.setEndDate(parse1);
+ packageScheduling.setStatus(1);
+ this.save(packageScheduling);
+
+ CoursePackageStudent student1 = new CoursePackageStudent();
+ student1.setAppUserId(coursePackageOrderStudent.getAppUserId());
+ student1.setStudentId(coursePackageOrderStudent.getStudentId());
+ student1.setCoursePackageId(coursePackage.getId());
+ student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId());
+ student1.setCoursePackageSchedulingId(packageScheduling.getId());
+ student1.setSignInOrNot(1);
+ student1.setReservationStatus(1);
+ student1.setInsertTime(new Date());
+ student1.setType(1);
+ coursePackageStudentMapper.insert(student1);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ start.set(Calendar.DAY_OF_YEAR, start.get(Calendar.DAY_OF_YEAR) + 1);
+ }
+ }
}
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
index dbd2952..d8fc6ed 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
@@ -510,6 +510,9 @@
@Autowired
private TCoursePackageService coursePackageService;
+ @Autowired
+ private ALiSendSms aLiSendSms;
+
@@ -1527,6 +1530,12 @@
coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - req.getNum());
coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
+ Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+ if(3 >= laveClassHours){
+ AppUser appUser = appuClient.queryAppUser(coursePackageOrderStudent.getAppUserId());
+ //发送短信提醒
+ aLiSendSms.sendSms(appUser.getPhone(), "SMS_463646317", "");
+ }
CourseCounsum courseCounsum = new CourseCounsum();
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
new file mode 100644
index 0000000..a9023a9
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/util/ALiSendSms.java
@@ -0,0 +1,128 @@
+package com.dsh.course.util;
+
+
+import com.aliyuncs.CommonRequest;
+import com.aliyuncs.CommonResponse;
+import com.aliyuncs.DefaultAcsClient;
+import com.aliyuncs.IAcsClient;
+import com.aliyuncs.exceptions.ClientException;
+import com.aliyuncs.profile.DefaultProfile;
+import com.google.gson.Gson;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * 阿里云短信工具类
+ */
+@Component
+public class ALiSendSms {
+
+ // 设置鉴权参数,初始化客户端
+ private DefaultProfile profile = DefaultProfile.getProfile(
+ "cn-hangzhou",// 地域ID
+ "LTAI5tSWQMMn9HNU9Zatoe1T",// 您的AccessKey ID
+ "kSOsRakIMPbvTlgXU19pYfbwmBXBA4");// 您的AccessKey Secret
+ private IAcsClient client = new DefaultAcsClient(profile);
+
+ private static void log_print(String functionName, Object result) {
+ Gson gson = new Gson();
+ System.out.println("-------------------------------" + functionName + "-------------------------------");
+ System.out.println(gson.toJson(result));
+ }
+
+ /**
+ * 添加短信模板
+ */
+ public String addSmsTemplate() throws ClientException {
+ CommonRequest addSmsTemplateRequest = new CommonRequest();
+ addSmsTemplateRequest.setSysDomain("dysmsapi.aliyuncs.com");
+ addSmsTemplateRequest.setSysAction("AddSmsTemplate");
+ addSmsTemplateRequest.setSysVersion("2017-05-25");
+ // 短信类型。0:验证码;1:短信通知;2:推广短信;3:国际/港澳台消息
+ addSmsTemplateRequest.putQueryParameter("TemplateType", "0");
+ // 模板名称,长度为1~30个字符
+ addSmsTemplateRequest.putQueryParameter("TemplateName", "测试短信模板");
+ // 模板内容,长度为1~500个字符
+ addSmsTemplateRequest.putQueryParameter("TemplateContent", "您正在申请手机注册,验证码为:${code},5分钟内有效!");
+ // 短信模板申请说明
+ addSmsTemplateRequest.putQueryParameter("Remark", "测试");
+ CommonResponse addSmsTemplateResponse = client.getCommonResponse(addSmsTemplateRequest);
+ String data = addSmsTemplateResponse.getData();
+ // 消除返回文本中的反转义字符
+ String sData = data.replaceAll("'\'", "");
+ log_print("addSmsTemplate", sData);
+ Gson gson = new Gson();
+ // 将字符串转换为Map类型,取TemplateCode字段值
+ Map map = gson.fromJson(sData, Map.class);
+ Object templateCode = map.get("TemplateCode");
+ return templateCode.toString();
+ }
+
+ /**
+ * 发送短信
+ */
+ public String sendSms(String phone, String templateCode, String json) {
+ try {
+ CommonRequest request = new CommonRequest();
+ request.setSysDomain("dysmsapi.aliyuncs.com");
+ request.setSysVersion("2017-05-25");
+ request.setSysAction("SendSms");
+ // 接收短信的手机号码
+ request.putQueryParameter("PhoneNumbers", phone);
+ // 短信签名名称。请在控制台签名管理页面签名名称一列查看(必须是已添加、并通过审核的短信签名)。
+ request.putQueryParameter("SignName", "玩湃");
+ // 短信模板ID
+ request.putQueryParameter("TemplateCode", templateCode);
+ // 短信模板变量对应的实际值,JSON格式。
+ request.putQueryParameter("TemplateParam", json);
+ CommonResponse commonResponse = client.getCommonResponse(request);
+ String data = commonResponse.getData();
+ String sData = data.replaceAll("'\'", "");
+ log_print("sendSms", sData);
+ return sData;
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
+ * 查询发送详情
+ */
+ private void querySendDetails(String bizId) throws ClientException {
+ CommonRequest request = new CommonRequest();
+ request.setSysDomain("dysmsapi.aliyuncs.com");
+ request.setSysVersion("2017-05-25");
+ request.setSysAction("QuerySendDetails");
+ // 接收短信的手机号码
+ request.putQueryParameter("PhoneNumber", "156xxxxxxxx");
+ // 短信发送日期,支持查询最近30天的记录。格式为yyyyMMdd,例如20191010。
+ request.putQueryParameter("SendDate", "20191010");
+ // 分页记录数量
+ request.putQueryParameter("PageSize", "10");
+ // 分页当前页码
+ request.putQueryParameter("CurrentPage", "1");
+ // 发送回执ID,即发送流水号。
+ request.putQueryParameter("BizId", bizId);
+ CommonResponse response = client.getCommonResponse(request);
+ log_print("querySendDetails", response.getData());
+ }
+
+// public static void main(String[] args) {
+// ALiSendSms sendSmsDemo = new ALiSendSms();
+// try {
+// // 创建短信模板
+// String templateCode = sendSmsDemo.addSmsTemplate();
+// // 使用刚创建的短信模板发送短信
+// String sData = sendSmsDemo.sendSms("156xxxxxxxx", templateCode, "{\"code\":\"8888\"}");
+// Gson gson = new Gson();
+// Map map = gson.fromJson(sData, Map.class);
+// String bizId = map.get("BizId").toString();
+// // 根据短信发送流水号查询短信发送情况
+// sendSmsDemo.querySendDetails(bizId);
+// } catch (ClientException e) {
+// e.printStackTrace();
+// }
+// }
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
index df35d12..3d31715 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
@@ -10,10 +10,8 @@
import com.dsh.other.feignclient.account.AppUserClient;
import com.dsh.other.feignclient.account.model.AppUser;
import com.dsh.other.model.QueryMySiteVo;
-import com.dsh.other.service.ISiteLockService;
-import com.dsh.other.service.TGameConfigService;
-import com.dsh.other.service.TGameRecordService;
-import com.dsh.other.service.TGameService;
+import com.dsh.other.model.User;
+import com.dsh.other.service.*;
import com.dsh.other.util.*;
import com.dsh.other.util.httpClinet.HttpResult;
import io.swagger.annotations.ApiImplicitParam;
@@ -48,7 +46,7 @@
@Autowired
private TokenUtil tokenUtil;
- @Autowired
+ @Resource
private AppUserClient appUserClient;
@Autowired
@@ -56,6 +54,12 @@
@Resource
private CourseRecordClient courseRecordClient;
+
+ @Autowired
+ private IUserService userService;
+
+ @Autowired
+ private ISiteBookingService siteBookingService;
@ResponseBody
@@ -110,9 +114,7 @@
List<TGame> list = gameService.list(new LambdaQueryWrapper<TGame>().eq(TGame::getSiteId, siteId).eq(TGame::getStoreId, storeId).eq(TGame::getState, 0));
if (list.size() > 0) {
Integer id = list.get(0).getId();
-// tGameConfigs = gameConfigService.list(new LambdaQueryWrapper<TGameConfig>().eq(TGameConfig::getOtherId, id));
tGameConfigs = gameConfigService.listJs(id);
-
}
List<TGameConfig> filteredList = tGameConfigs.stream()
.filter(gameConfig -> !gameConfig.getImg().isEmpty())
@@ -123,6 +125,48 @@
return ResultUtil.runErr();
}
}
+
+
+ @ResponseBody
+ @PostMapping("/gameStartupCheck")
+ @ApiOperation(value = "扫码启动游戏前的校验(0=不通过,1=通过)", tags = {"用户—游戏"})
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "三方游戏id", name = "gameId", dataType = "int", required = true),
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+ })
+ public ResultUtil<Integer> gameStartupCheck(Integer gameId){
+ try {
+ Integer uid = tokenUtil.getUserIdFormRedis();
+ if (null == uid) {
+ return ResultUtil.tokenErr();
+ }
+ //判断当前用户是否是员工
+ AppUser appUser1 = appUserClient.queryAppUser(uid);
+ User one = userService.getOne(new QueryWrapper<User>().eq("phone", appUser1.getPhone()).eq("status", 1));
+ if (null != one) {
+ return ResultUtil.success(1);
+ }
+ //普通用户校验当前时间是否在预约时间段内
+ TGame game = gameService.getById(gameId);
+ Integer siteId = game.getSiteId();
+ SiteBooking siteBooking = siteBookingService.getOne(new QueryWrapper<SiteBooking>()
+ .eq("state", 1)
+ .in("status", Arrays.asList(1, 2))
+ .eq("appUserId", uid)
+ .eq("siteId", siteId)
+ .last(" and now() between startTime and endTime")
+ );
+ return ResultUtil.success(null == siteBooking ? 0 : 1);
+ }catch (Exception e){
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
+
+
+
+
+
@ResponseBody
@@ -142,6 +186,13 @@
if (null == uid) {
return ResultUtil.tokenErr();
}
+ //判断当前用户是否是员工
+ AppUser appUser1 = appUserClient.queryAppUser(uid);
+ User one = userService.getOne(new QueryWrapper<User>().eq("phone", appUser1.getPhone()).eq("status", 1));
+ if (null != one) {
+ Integer integer = startGame(uid, gameId, spaceId, sutuId);
+ return ResultUtil.success();
+ }
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
TGameConfig config = gameConfigService.getById(configId);
@@ -152,6 +203,7 @@
tGameRecord.setNumber(code);
tGameRecord.setTime(new Date());
gameRecordService.save(tGameRecord);
+
if (type == 1) {
ResultUtil weixinpay = payMoneyUtil.weixinpay("游戏支付", "", code, config.getCash().toString(), "/base/course/weChatPaymentCourseCallback", "APP", "");
if (weixinpay.getCode() == 200) {
@@ -211,10 +263,7 @@
}
return weixinpay;
} else if (type == 2) {
-// Integer gameId, Integer configId,Integer type,Integer sutuId,Integer spaceId;
-
- String params = uid + "_" + gameId + "_" + spaceId + "_" + sutuId+"_"+code+"_"+configId;
-
+ String params = uid + "_" + gameId + "_" + spaceId + "_" + sutuId + "_" + code + "_" + configId;
ResultUtil alipay = payMoneyUtil.alipay("游戏支付", "游戏支付", params, code, config.getCash().toString(), "/base/site/gameCallback");
if (alipay.getCode() == 200) {
new Thread(new Runnable() {
@@ -240,9 +289,6 @@
* TRADE_SUCCESS(交易支付成功)、
* TRADE_FINISHED(交易结束,不可退款)
*/
-// Map<String, String> data1 = resultUtil.getData();
-// String s = data1.get("tradeStatus");
-// String tradeNo = data1.get("tradeNo");
String tradeNo = resultUtil.getTradeNo();
String s = resultUtil.getTradeStatus();
if ("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10) {
@@ -255,7 +301,6 @@
coursePackagePayment.setOrderNo(tradeNo);
CourseCounsum courseCounsum = new CourseCounsum();
-// courseCounsum.setPaymentId(paymentId);
courseCounsum.setChangeType(3);
courseCounsum.setInsertTime(new Date());
courseCounsum.setReason("智慧球场;" + config.getCash());
@@ -316,8 +361,6 @@
e.printStackTrace();
return ResultUtil.runErr();
}
-
-
}
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 71470b8..59e44a1 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
@@ -396,14 +396,6 @@
String code = map.get("passback_params");
String trade_no = map.get("trade_no");
-// SiteBooking siteBooking = siteBookingService.getOne(new QueryWrapper<SiteBooking>().eq("orderNo", code).eq("state", 1));
-// if(siteBooking.getStatus() == 0){
-// siteBooking.setPayTime(new Date());
-// siteBooking.setStatus(1);
-// siteBooking.setPayOrderNo(trade_no);
-// siteBookingService.updateById(siteBooking);
-// }
-
String[] s = code.split("_");
Integer i = startGame(Integer.valueOf(s[0]), Integer.valueOf(s[1]), Integer.valueOf(s[2]), Integer.valueOf(s[3]));
List<TGameRecord> list = gameRecordService.list(new QueryWrapper<TGameRecord>().eq("number", s[4]).eq("payType", 2));
@@ -415,18 +407,13 @@
coursePackagePayment.setOrderNo(trade_no);
CourseCounsum courseCounsum = new CourseCounsum();
-// courseCounsum.setPaymentId(paymentId);
courseCounsum.setChangeType(3);
courseCounsum.setInsertTime(new Date());
courseCounsum.setReason("智慧球场;" + config.getCash());
courseCounsum.setAppUserId(Integer.valueOf(s[0]));
courseRecordClient.save(courseCounsum);
-
}
gameRecordService.updateBatchById(list);
-
-
-
System.err.println("===========游戏回调游戏回调=========" + i);
PrintWriter out = response.getWriter();
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
index a5649bd..38e3a64 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
@@ -12,14 +12,17 @@
import com.dsh.other.util.GeodesyUtil;
import com.dsh.other.util.ResultUtil;
import com.dsh.other.util.ToolUtil;
+import com.sun.javafx.binding.StringFormatter;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -202,37 +205,29 @@
if (citycodeResp.getCityCode() == null) {
Map<String, String> geocode = gdMapGeocodingUtil.geocode(citycodeResp.getLongitude(), citycodeResp.getLatitude());
- String provinceCode = geocode.get("provinceCode");
- String cityCode = geocode.get("cityCode");
- citycodeResp.setCityCode(cityCode);
+ if(null != geocode){
+ String cityCode = geocode.get("cityCode");
+ citycodeResp.setCityCode(cityCode);
+ }
}
List<Store> list = storeService.list(new QueryWrapper<Store>()
.eq("state", 1)
.eq("cityCode", citycodeResp.getCityCode()));
if (list.size() > 0) {
-// if (ToolUtil.isEmpty(citycodeResp.getLongitude()) && ToolUtil.isEmpty(citycodeResp.getLatitude())){
-// return detailLists;
-// }
for (Store store : list) {
String current = citycodeResp.getLongitude() + "," + citycodeResp.getLatitude();
String result = store.getLon() + "," + store.getLat();
- String distanceTOKilometer = gdMapGeocodingUtil.getDistanceTOKilometer(current, result);
-// long l = Long.parseLong(distanceTOKilometer);
-//// 取5公里范围内的门店
-// if ( l > 5){
-// continue;
-// }
+ Map<String, Double> distance = GeodesyUtil.getDistance(current, result);
StoreDetailList detailList = new StoreDetailList();
detailList.setStoreId(store.getId());
detailList.setStoreImg(store.getCoverDrawing());
detailList.setStoreName(store.getName());
detailList.setStoreAddress(store.getAddress());
detailList.setStorePhone(store.getPhone());
-// detailList.setStoreDistance(l);
detailList.setStoreTime(store.getStartTime() + "-" + store.getEndTime());
detailList.setStoreInfo(store.getIntroduce());
- detailList.setStoreDistance(Double.valueOf(distanceTOKilometer));
+ detailList.setStoreDistance(null != distance ? Double.valueOf(String.format("%.2f", distance.get("WGS84") / 1000)) : 0D);
detailLists.add(detailList);
}
}
@@ -422,7 +417,7 @@
@ApiImplicitParams({
@ApiImplicitParam(value = "门店id", name = "id", dataType = "int", required = true),
})
- public ResultUtil<List<TStoreOtherConfigTrue>> queryIndexSet(Integer id) {
+ public ResultUtil<List<TStoreOtherVo>> queryIndexSet(Integer id) {
try {
List<TStoreOtherConfigTrue> tStoreOtherConfigTrues = new ArrayList<>();
@@ -430,14 +425,20 @@
if (list.size() > 0) {
tStoreOtherConfigTrues = tStoreOtherConfigTrueService.list(new LambdaQueryWrapper<TStoreOtherConfigTrue>().in(TStoreOtherConfigTrue::getPid, list.stream().map(TStoreOther::getId).collect(Collectors.toList())).eq(TStoreOtherConfigTrue::getState, 1));
}
- for (TStoreOtherConfigTrue tStoreOtherConfigTrue : tStoreOtherConfigTrues) {
- for (TStoreOther tStoreOther : list) {
+ List<TStoreOtherVo> list1 = new ArrayList<>();
+ for (TStoreOther tStoreOther : list) {
+ TStoreOtherVo storeOtherVo = new TStoreOtherVo();
+ BeanUtils.copyProperties(tStoreOther, storeOtherVo);
+ List<TStoreOtherConfigTrue> lists = new ArrayList<>();
+ for (TStoreOtherConfigTrue tStoreOtherConfigTrue : tStoreOtherConfigTrues) {
if (tStoreOtherConfigTrue.getPid() == tStoreOther.getId()) {
- tStoreOtherConfigTrue.setSort(tStoreOther.getSort());
+ lists.add(tStoreOtherConfigTrue);
}
}
+ storeOtherVo.setList(lists);
+ list1.add(storeOtherVo);
}
- return ResultUtil.success(tStoreOtherConfigTrues);
+ return ResultUtil.success(list1);
} catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/UserController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/UserController.java
new file mode 100644
index 0000000..fa013de
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/UserController.java
@@ -0,0 +1,29 @@
+package com.dsh.other.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.dsh.other.model.User;
+import com.dsh.other.service.IUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author zhibing.pu
+ * @Date 2023/12/14 16:25
+ */
+@RestController
+@RequestMapping("")
+public class UserController {
+
+ @Autowired
+ private IUserService userService;
+
+
+
+ @PostMapping("/user/getUserByPhone")
+ public User getUserByPhone(@RequestBody String phone){
+ return userService.getOne(new QueryWrapper<User>().eq("phone", phone).eq("status", 1));
+ }
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/TStoreOtherVo.java b/cloud-server-other/src/main/java/com/dsh/other/model/TStoreOtherVo.java
new file mode 100644
index 0000000..a6515c9
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/model/TStoreOtherVo.java
@@ -0,0 +1,27 @@
+package com.dsh.other.model;
+
+import com.dsh.other.entity.TStoreOtherConfigTrue;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author zhibing.pu
+ * @Date 2023/12/15 18:32
+ */
+@Data
+public class TStoreOtherVo {
+ private Integer id;
+
+ private String name;
+
+ private Integer storeId;
+
+ private Integer sort;
+ /**
+ * 1开启 2关闭
+ */
+ private Integer state;
+
+ private List<TStoreOtherConfigTrue> list;
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/util/GDMapGeocodingUtil.java b/cloud-server-other/src/main/java/com/dsh/other/util/GDMapGeocodingUtil.java
index 400f97e..3611668 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/util/GDMapGeocodingUtil.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/util/GDMapGeocodingUtil.java
@@ -121,6 +121,10 @@
String province = addressComponent.getString("province");
String city = addressComponent.getString("city");
String district = addressComponent.getString("district");
+ if("[]".equals(code)){
+ System.err.println("经纬度转行政区划代码失败[" + lon + "," + lan + "]");
+ return null;
+ }
map.put("province", province);
map.put("provinceCode", code.substring(0, 2) + "0000");
map.put("city", city);
--
Gitblit v1.7.1