|
|
@ -116,7 +116,11 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
//获取首页地区 |
|
|
|
@Override |
|
|
|
public Result<?> getArea(){ |
|
|
|
List<PopularizeCity> list = popularizeCityService.list(); |
|
|
|
List<PopularizeCity> list = popularizeCityService |
|
|
|
//增加倒序 |
|
|
|
.lambdaQuery() |
|
|
|
.orderByDesc(PopularizeCity::getSort) |
|
|
|
.list(); |
|
|
|
return Result.OK(list); |
|
|
|
} |
|
|
|
|
|
|
@ -145,6 +149,7 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
|
|
|
|
List<PopularizeActivity> activityList = popularizeActivityService |
|
|
|
.lambdaQuery() |
|
|
|
.like(title!= null, PopularizeActivity::getTitle, title) |
|
|
|
.lt(PopularizeActivity::getStartTime, LocalDateTime.now()) |
|
|
|
.list(); // 这是一个假设的方法名,您需要根据实际情况调整 |
|
|
|
|
|
|
@ -158,6 +163,7 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
Page<PopularizeActivity> page = new Page<PopularizeActivity>(pageBean.getPageNo(), pageBean.getPageSize()); |
|
|
|
Page<PopularizeActivity> page1 = popularizeActivityService |
|
|
|
.lambdaQuery() |
|
|
|
.like(title!= null, PopularizeActivity::getTitle, title) |
|
|
|
.eq(PopularizeActivity::getState,state) |
|
|
|
.orderByDesc(PopularizeActivity::getCreateTime) |
|
|
|
.page(page); |
|
|
@ -165,7 +171,7 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
if(StringUtils.isNotBlank(title)){ |
|
|
|
page1 = popularizeActivityService |
|
|
|
.lambdaQuery() |
|
|
|
.like(PopularizeActivity::getTitle,title) |
|
|
|
.like(title!= null, PopularizeActivity::getTitle, title) |
|
|
|
.eq(PopularizeActivity::getState,state) |
|
|
|
.orderByDesc(PopularizeActivity::getCreateTime) |
|
|
|
.page(page); |
|
|
@ -183,6 +189,7 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
if(StringUtils.isNotBlank(cityId)){ |
|
|
|
page1 = popularizeActivityService |
|
|
|
.lambdaQuery() |
|
|
|
.like(title!= null, PopularizeActivity::getTitle, title) |
|
|
|
.eq(PopularizeActivity::getCityId,cityId) |
|
|
|
.eq(PopularizeActivity::getState,state) |
|
|
|
.orderByDesc(PopularizeActivity::getCreateTime) |
|
|
@ -191,7 +198,7 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
page1 = popularizeActivityService |
|
|
|
.lambdaQuery() |
|
|
|
.eq(PopularizeActivity::getCityId,cityId) |
|
|
|
.like(PopularizeActivity::getTitle,title) |
|
|
|
.like(title!= null, PopularizeActivity::getTitle, title) |
|
|
|
.eq(PopularizeActivity::getState,state) |
|
|
|
.orderByDesc(PopularizeActivity::getCreateTime) |
|
|
|
.page(page); |
|
|
@ -230,13 +237,14 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
Page<PopularizeActivity> page1 = popularizeActivityService |
|
|
|
.lambdaQuery() |
|
|
|
.eq(PopularizeActivity::getState,state) |
|
|
|
.like(title!= null, PopularizeActivity::getTitle, title) |
|
|
|
.orderByAsc(PopularizeActivity::getCreateTime) |
|
|
|
.page(page); |
|
|
|
//如果标题不为空 |
|
|
|
if(StringUtils.isNotBlank(title)){ |
|
|
|
page1 = popularizeActivityService |
|
|
|
.lambdaQuery() |
|
|
|
.like(PopularizeActivity::getTitle,title) |
|
|
|
.like(title!= null, PopularizeActivity::getTitle, title) |
|
|
|
.eq(PopularizeActivity::getState,state) |
|
|
|
.orderByAsc(PopularizeActivity::getCreateTime) |
|
|
|
.page(page); |
|
|
@ -254,6 +262,7 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
if(StringUtils.isNotBlank(cityId)){ |
|
|
|
page1 = popularizeActivityService |
|
|
|
.lambdaQuery() |
|
|
|
.like(title!= null, PopularizeActivity::getTitle, title) |
|
|
|
.eq(PopularizeActivity::getCityId,cityId) |
|
|
|
.eq(PopularizeActivity::getState,state) |
|
|
|
.orderByAsc(PopularizeActivity::getCreateTime) |
|
|
@ -262,7 +271,7 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
page1 = popularizeActivityService |
|
|
|
.lambdaQuery() |
|
|
|
.eq(PopularizeActivity::getCityId,cityId) |
|
|
|
.like(PopularizeActivity::getTitle,title) |
|
|
|
.like(title!= null, PopularizeActivity::getTitle, title) |
|
|
|
.eq(PopularizeActivity::getState,state) |
|
|
|
.orderByAsc(PopularizeActivity::getCreateTime) |
|
|
|
.page(page); |
|
|
@ -367,7 +376,10 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
|
|
|
|
List<PopularizeTravel> activityList = popularizeTravelService |
|
|
|
.lambdaQuery() |
|
|
|
.like(title!= null, PopularizeTravel::getTitle, title) |
|
|
|
.lt(PopularizeTravel::getStartTime, LocalDateTime.now()) |
|
|
|
.orderByDesc(PopularizeTravel::getCreateTime) |
|
|
|
.eq(PopularizeTravel::getIsOpen, "Y") |
|
|
|
.list(); // 这是一个假设的方法名,您需要根据实际情况调整 |
|
|
|
|
|
|
|
for (PopularizeTravel activity : activityList) { |
|
|
@ -382,6 +394,7 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
Page<PopularizeTravel> page = new Page<PopularizeTravel>(pageBean.getPageNo(), pageBean.getPageSize()); |
|
|
|
Page<PopularizeTravel> page1 = popularizeTravelService |
|
|
|
.lambdaQuery() |
|
|
|
.like(title!= null, PopularizeTravel::getTitle, title) |
|
|
|
.eq(PopularizeTravel::getIsOpen,"Y") |
|
|
|
.orderByDesc(PopularizeTravel::getCreateTime) |
|
|
|
.page(page); |
|
|
@ -389,7 +402,7 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
if(StringUtils.isNotBlank(title)){ |
|
|
|
page1 = popularizeTravelService |
|
|
|
.lambdaQuery() |
|
|
|
.like(PopularizeTravel::getTitle,title) |
|
|
|
.like(title!= null, PopularizeTravel::getTitle, title) |
|
|
|
.eq(PopularizeTravel::getState,state) |
|
|
|
.eq(PopularizeTravel::getIsOpen,"Y") |
|
|
|
.orderByDesc(PopularizeTravel::getCreateTime) |
|
|
@ -399,6 +412,7 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
if(StringUtils.isNotBlank(timeStr)){ |
|
|
|
page1 = popularizeTravelService |
|
|
|
.lambdaQuery() |
|
|
|
.like(title!= null, PopularizeTravel::getTitle, title) |
|
|
|
.like(PopularizeTravel::getStartTime,timeStr) |
|
|
|
.eq(PopularizeTravel::getState,state) |
|
|
|
.eq(PopularizeTravel::getIsOpen,"Y") |
|
|
@ -410,13 +424,14 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
page1 = popularizeTravelService |
|
|
|
.lambdaQuery() |
|
|
|
.eq(PopularizeTravel::getState,state) |
|
|
|
.eq(PopularizeTravel::getIsOpen, "Y") |
|
|
|
.orderByDesc(PopularizeTravel::getCreateTime) |
|
|
|
.page(page); |
|
|
|
//如果标题不为空 |
|
|
|
if(StringUtils.isNotBlank(title)){ |
|
|
|
page1 = popularizeTravelService |
|
|
|
.lambdaQuery() |
|
|
|
.like(PopularizeTravel::getTitle,title) |
|
|
|
.like(title!= null, PopularizeTravel::getTitle, title) |
|
|
|
.eq(PopularizeTravel::getState,state) |
|
|
|
.eq(PopularizeTravel::getIsOpen,"Y") |
|
|
|
.orderByDesc(PopularizeTravel::getCreateTime) |
|
|
@ -669,6 +684,79 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
|
|
|
|
@Override |
|
|
|
public Result<?> cancelOrder(String token, String orderId) { |
|
|
|
// // 常量定义(提高可读性) |
|
|
|
// final long ONE_DAY_MS = 1000 * 60 * 60 * 24; |
|
|
|
// final long SEVEN_DAYS_MS = ONE_DAY_MS * 7; |
|
|
|
// |
|
|
|
// HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
// PopularizeOrder order = popularizeOrderService.getById(orderId); |
|
|
|
// |
|
|
|
// // 安全校验(建议添加) |
|
|
|
// if (order == null || order.getStartTime() == null) { |
|
|
|
// return Result.error("订单不存在或未支付"); |
|
|
|
// } |
|
|
|
// |
|
|
|
// long currentTime = System.currentTimeMillis(); |
|
|
|
// long payTime = order.getStartTime().getTime(); |
|
|
|
// |
|
|
|
// // 时间差计算 |
|
|
|
// long timeDiff = currentTime - payTime; |
|
|
|
// |
|
|
|
// String msg; |
|
|
|
// BigDecimal refundAmount = BigDecimal.ZERO; |
|
|
|
// |
|
|
|
// // 优化后的时间判断逻辑(从大到小判断) |
|
|
|
// if (timeDiff > SEVEN_DAYS_MS) { |
|
|
|
// // 超过7天(退100%) |
|
|
|
// refundAmount = order.getPayPrice(); |
|
|
|
// msg = "取消成功,超过7天全额退款"; |
|
|
|
// } else if (timeDiff > ONE_DAY_MS) { |
|
|
|
// // 1-7天之间(退50%) |
|
|
|
// refundAmount = order.getPayPrice().divide(new BigDecimal(2), 2, RoundingMode.HALF_UP); |
|
|
|
// msg = "取消成功,1-7天内退50%"; |
|
|
|
// } else { |
|
|
|
// // 24小时内(不可退款) |
|
|
|
// msg = "24小时内不可取消订单"; |
|
|
|
// return Result.error(msg); // 直接返回错误 |
|
|
|
// } |
|
|
|
// |
|
|
|
// //创建退款记录订单 |
|
|
|
// PopularizeOrderTuiLog tuiLog = new PopularizeOrderTuiLog(); |
|
|
|
// tuiLog.setCreateTime(new Date()); |
|
|
|
// tuiLog.setOrderId(order.getId()); |
|
|
|
// tuiLog.setOrderPrice(order.getPayPrice()); |
|
|
|
// tuiLog.setTuiPrice(refundAmount); |
|
|
|
// tuiLog.setUserId(member.getId()); |
|
|
|
// tuiLog.setState(0); |
|
|
|
// popularizeOrderTuiLogService.save(tuiLog); |
|
|
|
// |
|
|
|
// |
|
|
|
// // 执行退款操作 |
|
|
|
// RefundOrderReq req = new RefundOrderReq(); |
|
|
|
// req.setOutTradeNo(order.getOutTradeNo()); |
|
|
|
// req.setRefundAmount(refundAmount); |
|
|
|
// req.setTotalAmount(order.getPayPrice()); |
|
|
|
// req.setTransactionId(order.getTransactionId()); |
|
|
|
// |
|
|
|
// // 添加退款结果校验(建议) |
|
|
|
// wxMiniappPayService.refund(req); |
|
|
|
// |
|
|
|
// |
|
|
|
// // 更新订单状态(建议添加) |
|
|
|
// order.setState("3"); // 假设3表示已取消 |
|
|
|
// popularizeOrderService.updateById(order); |
|
|
|
// |
|
|
|
// return Result.OK(msg); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 常量定义(提高可读性) |
|
|
|
final long ONE_DAY_MS = 1000 * 60 * 60 * 24; |
|
|
|
final long SEVEN_DAYS_MS = ONE_DAY_MS * 7; |
|
|
@ -682,30 +770,34 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
} |
|
|
|
|
|
|
|
long currentTime = System.currentTimeMillis(); |
|
|
|
long payTime = order.getStartTime().getTime(); |
|
|
|
long activityTime = order.getStartTime().getTime(); |
|
|
|
|
|
|
|
// 时间差计算 |
|
|
|
long timeDiff = currentTime - payTime; |
|
|
|
// 时间差计算(计算剩余时间) |
|
|
|
long timeDiff = activityTime - currentTime; |
|
|
|
|
|
|
|
String msg; |
|
|
|
BigDecimal refundAmount = BigDecimal.ZERO; |
|
|
|
|
|
|
|
// 优化后的时间判断逻辑(从大到小判断) |
|
|
|
// 修正后的时间判断逻辑 |
|
|
|
if (timeDiff > SEVEN_DAYS_MS) { |
|
|
|
// 超过7天(退100%) |
|
|
|
// 活动开始前7天以上(退100%) |
|
|
|
refundAmount = order.getPayPrice(); |
|
|
|
msg = "取消成功,超过7天全额退款"; |
|
|
|
msg = "取消成功,活动开始前7天以上全额退款"; |
|
|
|
} else if (timeDiff > ONE_DAY_MS) { |
|
|
|
// 1-7天之间(退50%) |
|
|
|
// 活动开始前1-7天(退50%) |
|
|
|
refundAmount = order.getPayPrice().divide(new BigDecimal(2), 2, RoundingMode.HALF_UP); |
|
|
|
msg = "取消成功,1-7天内退50%"; |
|
|
|
} else { |
|
|
|
// 24小时内(不可退款) |
|
|
|
msg = "取消成功,活动开始前1-7天退50%"; |
|
|
|
} else if (timeDiff > 0) { |
|
|
|
// 活动开始前24小时内(退0%) |
|
|
|
msg = "24小时内不可取消订单"; |
|
|
|
return Result.error(msg); // 直接返回错误 |
|
|
|
return Result.error(msg); |
|
|
|
} else { |
|
|
|
// 活动已开始(可根据业务需求处理) |
|
|
|
msg = "活动已开始,不可取消订单"; |
|
|
|
return Result.error(msg); |
|
|
|
} |
|
|
|
|
|
|
|
//创建退款记录订单 |
|
|
|
// 创建退款记录订单 |
|
|
|
PopularizeOrderTuiLog tuiLog = new PopularizeOrderTuiLog(); |
|
|
|
tuiLog.setCreateTime(new Date()); |
|
|
|
tuiLog.setOrderId(order.getId()); |
|
|
@ -715,7 +807,6 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
tuiLog.setState(0); |
|
|
|
popularizeOrderTuiLogService.save(tuiLog); |
|
|
|
|
|
|
|
|
|
|
|
// 执行退款操作 |
|
|
|
RefundOrderReq req = new RefundOrderReq(); |
|
|
|
req.setOutTradeNo(order.getOutTradeNo()); |
|
|
@ -726,7 +817,6 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
// 添加退款结果校验(建议) |
|
|
|
wxMiniappPayService.refund(req); |
|
|
|
|
|
|
|
|
|
|
|
// 更新订单状态(建议添加) |
|
|
|
order.setState("3"); // 假设3表示已取消 |
|
|
|
popularizeOrderService.updateById(order); |
|
|
@ -1118,8 +1208,11 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
// .eq(PopularizeOrder::getOpen, "Y") |
|
|
|
// .list().size() |
|
|
|
// ); |
|
|
|
recruitObj.setDoNum(popularizeOrderService.sumNumByTravelOrderIdAndStateQD(recruit.getId())); |
|
|
|
|
|
|
|
Integer i = popularizeOrderService.sumNumByTravelOrderIdAndStateQD(recruit.getId()); |
|
|
|
if (i==0){ |
|
|
|
recruitObj.setDoNum(0); |
|
|
|
} |
|
|
|
recruitObj.setDoNum(i); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1187,7 +1280,8 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
popularizeOrderService |
|
|
|
.lambdaQuery() |
|
|
|
.eq(PopularizeOrder::getActivityOrderId, recruit.getId()) |
|
|
|
.ge(PopularizeOrder::getState, 1) |
|
|
|
.eq(PopularizeOrder::getState,1) |
|
|
|
.eq(PopularizeOrder::getType, 0) |
|
|
|
.list() |
|
|
|
); |
|
|
|
recruitObj.setNum(recruitObj.getPopularizeOrderList().size()); |
|
|
@ -1201,7 +1295,13 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
// .list().size() |
|
|
|
// ); |
|
|
|
|
|
|
|
recruitObj.setDoNum(popularizeOrderService.sumNumByActivityOrderIdAndStateQD(recruit.getId())); |
|
|
|
|
|
|
|
Integer i = popularizeOrderService.sumNumByActivityOrderIdAndStateQD(recruit.getId()); |
|
|
|
if (i==null){ |
|
|
|
recruitObj.setDoNum(0); |
|
|
|
} |
|
|
|
recruitObj.setDoNum(i); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
recruitList.add(recruitObj); |
|
|
@ -1220,6 +1320,7 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
Page<PopularizeOrder> page = popularizeOrderService |
|
|
|
.lambdaQuery() |
|
|
|
.orderByDesc(PopularizeOrder::getCreateTime) |
|
|
|
.eq(PopularizeOrder::getState,1) |
|
|
|
.page(new Page<>(pageBean.getPageNo(), pageBean.getPageSize())); |
|
|
|
//type==0判断活动是否存在 |
|
|
|
if(type==0){ |
|
|
@ -1231,6 +1332,7 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
.lambdaQuery() |
|
|
|
.eq(PopularizeOrder::getActivityOrderId, recruitId) |
|
|
|
.orderByDesc(PopularizeOrder::getCreateTime) |
|
|
|
.eq(PopularizeOrder::getState,1) |
|
|
|
.eq(PopularizeOrder::getType, 0) |
|
|
|
.page(new Page<>(pageBean.getPageNo(), pageBean.getPageSize())); |
|
|
|
} |
|
|
@ -1243,6 +1345,7 @@ public class ApiIndexServiceImpl implements ApiIndexService { |
|
|
|
.lambdaQuery() |
|
|
|
.eq(PopularizeOrder::getTravelOrderId, recruitId) |
|
|
|
.eq(PopularizeOrder::getType, 1) |
|
|
|
.eq(PopularizeOrder::getState,1) |
|
|
|
.orderByDesc(PopularizeOrder::getCreateTime) |
|
|
|
.page(new Page<>(pageBean.getPageNo(), pageBean.getPageSize())); |
|
|
|
} |
|
|
|