|
@@ -526,6 +526,17 @@ public class OrderServiceImpl implements IOrderService {
|
|
|
|
|
|
String productId = createOrderForm.getProductIds();
|
|
|
|
|
|
+ //判断是否已下单
|
|
|
+ List<String> familyIds = Arrays.stream(createOrderForm.getFamilyIds().split(",")).collect(Collectors.toList());
|
|
|
+ AppOrderProInfo proInfo = appOrderProInfoMapper.selectOne(Wrappers.<AppOrderProInfo>lambdaQuery()
|
|
|
+ .eq(AppOrderProInfo::getProductId, productId)
|
|
|
+ .in(AppOrderProInfo::getFamilyUserId, familyIds)
|
|
|
+ );
|
|
|
+ if (ObjectUtil.isNotEmpty(proInfo)) {
|
|
|
+ String userName = proInfo.getUserName();
|
|
|
+ throw new JeecgBootException(userName + "已预约过该场地的同一日期和时段,无需重复预约,请直接进场。");
|
|
|
+ }
|
|
|
+
|
|
|
productKey = "ORDER_TYPE_1_PRODUCT_" + productId; // ORDER_TYPE_1_PRODUCT_N001
|
|
|
stockKey = "ORDER_TYPE_1_PRODUCT_STOCK_" + productId; // ORDER_TYPE_1_PRODUCT_STOCK_N001
|
|
|
|
|
@@ -638,8 +649,9 @@ public class OrderServiceImpl implements IOrderService {
|
|
|
appOrderProInfo.setProductName(date.substring(5) + " " + startTime + "-" + endTime + "|" + appSitePlace.getName());
|
|
|
appOrderProInfo.setProductImage(appSitePlace.getCover());
|
|
|
appOrderProInfo.setExpireTime(expireTime);
|
|
|
- appOrderProInfo.setAddress(appSite.getAddress());
|
|
|
+ appOrderProInfo.setAddress(appSite.getName());
|
|
|
appOrderProInfo.setType(CommonConstant.ORDER_PRO_INFO_TYPE_1);
|
|
|
+ appOrderProInfo.setProductImage(appSite.getCover());
|
|
|
appOrderProInfo.setOriginalPrice(priceRule.getOriginalPrice());
|
|
|
appOrderProInfo.setPrice(priceRule.getSellingPrice());
|
|
|
appOrderProInfo.setOrderStatus(0);
|
|
@@ -817,6 +829,15 @@ public class OrderServiceImpl implements IOrderService {
|
|
|
|
|
|
String familyUserId = createOrderForm.getFamilyIds().split(",")[i - 1];
|
|
|
FamilyMembers familyMembers = familyMembersMapper.selectById(familyUserId);
|
|
|
+
|
|
|
+ //判断当前课程是否已下过单
|
|
|
+ List<AppOrderProInfo> infos = appOrderProInfoMapper.selectList(Wrappers.<AppOrderProInfo>lambdaQuery()
|
|
|
+ .eq(AppOrderProInfo::getProductId, appCourse.getId())
|
|
|
+ .eq(AppOrderProInfo::getFamilyUserId, familyUserId)
|
|
|
+ .eq(AppOrderProInfo::getOrFreePro, CommonConstant.STATUS_1_INT));
|
|
|
+ if (ObjectUtil.isNotEmpty(infos)) {
|
|
|
+ throw new JeecgBootException("当前课程已下过单,请勿重复下单");
|
|
|
+ }
|
|
|
AppOrderProInfo appOrderProInfo = new AppOrderProInfo();
|
|
|
appOrderProInfo.setProductId(createOrderForm.getProductIds());
|
|
|
appOrderProInfo.setProductName(appCourse.getName());
|
|
@@ -1003,7 +1024,7 @@ public class OrderServiceImpl implements IOrderService {
|
|
|
.setExpireTime(appOrderProInfo.getExpireTime())
|
|
|
//生成10位随机券号
|
|
|
.setTicketNo(appOrderProInfo.getTicketNo())
|
|
|
- .setIsinStatus(CommonConstant.ISIN_STATUS_1);
|
|
|
+ .setIsinStatus(CommonConstant.ISIN_STATUS_0);
|
|
|
appIsinMapper.insert(appIsin);
|
|
|
}
|
|
|
if (Objects.equals(appOrderProInfo.getType(), CommonConstant.ORDER_PRO_INFO_TYPE_0)) {
|
|
@@ -1319,6 +1340,8 @@ public class OrderServiceImpl implements IOrderService {
|
|
|
appOrderInfoDTO.setStartTime(site.getStartTime());
|
|
|
appOrderInfoDTO.setEndTime(site.getEndTime());
|
|
|
appOrderInfoDTO.setRefundType(appSitePlace.getRefundType());
|
|
|
+ appOrderInfoDTO.setOrSubscribe(appSitePlace.getOrSubscribe());
|
|
|
+ appOrderInfoDTO.setAdvanceTime(appSitePlace.getAdvanceTime());
|
|
|
//地址信息
|
|
|
appOrderInfoDTO.setSchoolAddress(site.getAddress());
|
|
|
appOrderInfoDTO.setLatitude(site.getLatitude());
|