From 7d22ca5a1c9416e84430a3997664e17861a2951e Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 11 四月 2025 21:04:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0
---
cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java | 111 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 94 insertions(+), 17 deletions(-)
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java
index f6ae5b0..2115a99 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java
@@ -17,10 +17,7 @@
import com.dsh.activity.feignclient.other.RegionClient;
import com.dsh.activity.feignclient.other.SiteClient;
import com.dsh.activity.feignclient.other.StoreClient;
-import com.dsh.activity.feignclient.other.model.CityDataAndProvinceDataVo;
-import com.dsh.activity.feignclient.other.model.Store;
-import com.dsh.activity.feignclient.other.model.StoreInfoDto;
-import com.dsh.activity.feignclient.other.model.TOperatorCity;
+import com.dsh.activity.feignclient.other.model.*;
import com.dsh.activity.model.CouponListVo;
import com.dsh.activity.model.CouponRecordQuery;
import com.dsh.activity.model.request.CommodityRequest;
@@ -103,6 +100,23 @@
return ResultUtil.tokenErr();
}
THuiminCard huiminCard = huiminCardService.getById(id);
+ if (huiminCard.getEndTime()!=null && huiminCard.getEndTime().before(new Date())){
+ return ResultUtil.error("该惠民卡已过期");
+ }
+ if (huiminCard.getGrantCount()!=null){
+ if (huiminCard.getGrantCount()<=payHuiminService.lambdaQuery().eq(TPayHuimin::getCardId, huiminCard.getId())
+ .eq(TPayHuimin::getStatus,2).count()){
+ return ResultUtil.error("该惠民卡已售完");
+ }
+ }
+ if (huiminCard.getLimitCount()!=null){
+ if (huiminCard.getLimitCount()<=payHuiminService.lambdaQuery().eq(TPayHuimin::getCardId, huiminCard.getId())
+ .eq(TPayHuimin::getStatus,2)
+ .eq(TPayHuimin::getAppUserId, uid)
+ .count()){
+ return ResultUtil.error("该惠民卡购买次数已达上限");
+ }
+ }
TPayHuimin tPayHuimin = new TPayHuimin();
tPayHuimin.setSalesMoney(huiminCard.getSalesMoney());
tPayHuimin.setAppUserId(uid);
@@ -118,7 +132,6 @@
case 2:
// 年内卡
Date date1 = new Date();
-
date1.setMonth(11);
date1.setDate(31);
date1.setHours(23);
@@ -136,12 +149,14 @@
tPayHuimin.setCode(sdf.format(new Date()) + UUIDUtil.getNumberRandom(5));
System.err.println("支付数据"+tPayHuimin);
payHuiminService.save(tPayHuimin);
+ BigDecimal bigDecimal = new BigDecimal(studentIds.split(",").length);
switch (payType){
case 1:
- return payMoneyUtil.weixinpay("购买惠民卡"+"-"+0, "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().toString(),
+ return payMoneyUtil.weixinpay("购买惠民卡"+"-"+0, "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().multiply(bigDecimal).toString(),
"/base/huimin/callBack/weixinPayHuiminCallback", "APP", "");
case 2:
- return payMoneyUtil.alipay(smid,"购买惠民卡", "购买惠民卡", "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().toString(),
+ String string = tPayHuimin.getSalesMoney().multiply(bigDecimal).setScale(2).toString();
+ return payMoneyUtil.alipay(smid,"购买惠民卡", "购买惠民卡", "", tPayHuimin.getCode(), string,
"/base/huimin/callBack/aliPayHuiminCallback");
}
@@ -151,6 +166,7 @@
}
return ResultUtil.success();
}
+
/**
* 查看惠民卡详情
@@ -239,7 +255,8 @@
pageNo = (pageNo - 1) * pageSize;
HuiminAgreementVO huiminAgreementVO = new HuiminAgreementVO();
List<THuiminCard> cardList = huiminCardService.getHuiminAgreementAndList(pageNo,pageSize,storeId);
- if (cardList.isEmpty()){
+ List<THuiminCard> cardListNolimit = huiminCardService.getHuiminAgreementAndListNolimit(storeId);
+ if (cardListNolimit.isEmpty()){
// 没有配置惠民卡 展示富文本内容
huiminAgreementVO.setShowType(1);
}else{
@@ -315,13 +332,10 @@
List<THuiminCard> list = huiminCardService.list();
for (MyHuiminCardVO myHuiminCardVO : cardList) {
TPayHuimin byId = payHuiminService.getById(myHuiminCardVO.getId());
+ myHuiminCardVO.setEndTime(byId.getEndTime());
+
myHuiminCardVO.setSalesMoney(byId.getSalesMoney());
- if (myHuiminCardVO.getEndTime().before(new Date())){
- // 已过期
- myHuiminCardVO.setIsExpire(1);
- }else{
- myHuiminCardVO.setIsExpire(0);
- }
+
int count = huiminRecordService.count(new LambdaQueryWrapper<THuiminRecord>()
.eq(THuiminRecord::getHuiminCardId, myHuiminCardVO.getCardId()));
// 购卡7日内没有使用记录可退款。超过7日不管有没有使用记录都不能退款
@@ -336,6 +350,15 @@
THuiminCard huiminCard = list.stream().filter(e -> e.getId().equals(myHuiminCardVO.getCardId())).findFirst().orElse(null);
if (null!=huiminCard){
myHuiminCardVO.setCover(huiminCard.getBuyCover());
+ }
+ if (myHuiminCardVO.getEndTime().before(new Date())){
+ // 已过期
+ myHuiminCardVO.setIsExpire(1);
+ if (null!=huiminCard){
+ myHuiminCardVO.setCover(huiminCard.getUnBuyCover());
+ }
+ }else{
+ myHuiminCardVO.setIsExpire(0);
}
// 查询绑定人员列表
List<TStudent> studentByIds = studentClient.getStudentByIds(myHuiminCardVO.getStudentId());
@@ -369,7 +392,20 @@
}
if (tPayHuimin.getStatus()==3 && tPayHuimin.getRefundStatus()!=1){
return ResultUtil.error("不可重复退款");
-
+ }
+ if (tPayHuimin.getEndTime().before(new Date())){
+ // 已过期
+ return ResultUtil.error("惠民卡已过期,不可退款");
+ }
+ int count = huiminRecordService.count(new LambdaQueryWrapper<THuiminRecord>()
+ .eq(THuiminRecord::getHuiminCardId, tPayHuimin.getCardId()));
+ // 购卡7日内没有使用记录可退款。超过7日不管有没有使用记录都不能退款
+ if (new Date().after(DateUtil.addDay(tPayHuimin.getPaymentTime(),7))){
+ // 超过七天不可退款
+ return ResultUtil.error("惠民卡购买超过七天,不可退款");
+ }else if (count>=7){
+ // 使用记录大于等于7次不可退款
+ return ResultUtil.error("惠民卡使用记录大于等于7次,不可退款");
}
if (tPayHuimin.getPaymentType()==1){
Map<String, String> map = payMoneyUtil.wxRefund(tPayHuimin.getOrderNumber(), tPayHuimin.getCode(),
@@ -399,6 +435,15 @@
return ResultUtil.success(new ArrayList<>());
}
}
+
+ public static void main(String[] args) {
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ LocalDateTime localDateTime = LocalDateTime.now().plusDays(365);
+ // 将LocalDateTime转换为Date类型
+ Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
+ String format = simpleDateFormat.format(date);
+ System.err.println(format);
+ }
/**
* 个人中心-我的惠民卡-查看详情
*/
@@ -421,8 +466,17 @@
}
THuiminCard byId = huiminCardService.getById(tPayHuimin.getCardId());
MyHuiminCardDetailVO myHuiminCardDetailVO = new MyHuiminCardDetailVO();
- String storeIds = byId.getStoreIds();
- String temp ="{\"storeIds\":\"" +storeIds+"\","+"\"useWeeks:\"\""+byId.getUseWeeks()+"\","+"\"useTimes:\""+byId.getUseTimes()+"\","+"\"unUseTimes:\""+byId.getUnUseTimes()+"\"}";
+ String siteIds = "";
+ if (byId.getUseScope()==2){
+ siteIds = byId.getUseIds();
+ }else{
+ siteIds = siteClient.querySiteByStoreIds(byId.getStoreIds())
+ .stream()
+ .map(Site::getId)
+ .map(String::valueOf)
+ .collect(Collectors.joining(","));
+ }
+ String temp ="{\"siteIds\":\"" +siteIds+"\","+"\"useTimes:\"\""+byId.getUseWeeks()+"\","+"\"unUseTimes:\""+byId.getUnUseTimes()+"\"}";
myHuiminCardDetailVO.setQrCode(temp);
myHuiminCardDetailVO.setCardId(tPayHuimin.getCardId());
myHuiminCardDetailVO.setHuiminCard(byId);
@@ -437,5 +491,28 @@
return ResultUtil.success(new MyHuiminCardDetailVO());
}
}
+ /**
+ * 获取添加人员、选择人员说明文案
+ */
+ @ResponseBody
+ @PostMapping("/getContentForStudent")
+ @ApiOperation(value = "获取添加人员、选择人员说明文案")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil<THuiminAgreement> getContentForStudent() {
+ try {
+ Integer uid = tokenUtil.getUserIdFormRedis();
+ if (null == uid) {
+ return ResultUtil.tokenErr();
+ }
+ THuiminAgreement one = huiminAgreementService.lambdaQuery()
+ .isNull(THuiminAgreement::getOperatorId).last("limit 1").one();
+ return ResultUtil.success(one);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResultUtil.success(new THuiminAgreement());
+ }
+ }
}
--
Gitblit v1.7.1