From ff94903b42fc1616cc139d071d915e271d12422a Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 19 八月 2025 08:58:18 +0800
Subject: [PATCH] 会员订单
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TVipDetailController.java | 221 ++++++++++++------------------------------------------
1 files changed, 51 insertions(+), 170 deletions(-)
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TVipDetailController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TVipDetailController.java
index f6db7eb..aa90268 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TVipDetailController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TVipDetailController.java
@@ -3,19 +3,24 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsh.course.feignClient.account.AppUserClient;
import com.dsh.course.feignClient.account.model.QueryByNamePhone;
+import com.dsh.course.feignClient.account.model.TAppUser;
import com.dsh.course.feignClient.activity.CouponClient;
import com.dsh.course.feignClient.activity.model.Coupon;
import com.dsh.course.feignClient.activity.model.CouponCity;
import com.dsh.course.feignClient.activity.model.TicketDetailVO;
+import com.dsh.guns.config.UserExt;
import com.dsh.guns.core.base.controller.BaseController;
import com.dsh.guns.core.common.constant.factory.PageFactory;
import com.dsh.guns.modular.system.model.*;
-import com.dsh.guns.modular.system.service.IProtocolService;
-import com.dsh.guns.modular.system.service.IStoreService;
-import com.dsh.guns.modular.system.service.IVipService;
+import com.dsh.guns.modular.system.model.dto.VipDetailDto;
+import com.dsh.guns.modular.system.model.dto.VipPaymentDto;
+import com.dsh.guns.modular.system.model.vo.VipDetailVO;
+import com.dsh.guns.modular.system.model.vo.VipPaymentVO;
+import com.dsh.guns.modular.system.service.*;
import com.dsh.guns.modular.system.util.ResultUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@@ -44,7 +49,11 @@
private IStoreService storeService;
@Autowired
private AppUserClient appUserClient;
- private String PREFIX = "/system/vip/";
+ @Autowired
+ private ITSiteService siteService;
+ @Autowired
+ private TOperatorService operatorService;
+ private String PREFIX = "/system/vipPayment/";
/**
@@ -52,8 +61,7 @@
*/
@RequestMapping("")
public String index(Model model) {
-
- return PREFIX + "vipDetail.html";
+ return PREFIX + "vip_payment.html";
}
/**
@@ -61,176 +69,49 @@
*/
@RequestMapping(value = "/list")
@ResponseBody
- public List<Map<String, Object>> list(String vipName, Integer type
- , Integer phone, String storeName
- , Integer operatorId, Integer status
- , String startTime, String endTime
- , Integer useStartTime, Integer useEndTim) {
- // 根据会员名查询会员ids
+ public List<VipPaymentVO> list(String appUserName
+ , String phone, String vipName
+ , Integer isRefund
+ , String time
+ ) {
+ VipPaymentDto vipPaymentDto = new VipPaymentDto();
if (StringUtils.hasLength(vipName)){
List<Integer> vipIds = vipService.lambdaQuery().like(Vip::getVipName, vipName)
.list().stream().map(Vip::getId).collect(Collectors.toList());
+ if (vipIds.isEmpty()){
+ vipIds.add(-1);
+ }
+ vipPaymentDto.setVipIds(vipIds);
}
-// QueryByNamePhone
-// appUserClient.listAll()
-// Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-// List<Map<String, Object>> maps = vipService.listOfPage(vipName, status, page);
-// for (Map<String, Object> map : maps) {
-// Object timeType = map.get("timeType");
-// Object time = map.get("time");
-// Integer timeTypeValue = Integer.valueOf(timeType.toString());
-// Integer timeValue = Integer.valueOf(time.toString());
-// switch (timeTypeValue) {
-// case 1:
-// map.put("time",timeValue+"天");
-// break;
-// case 2:
-// map.put("time",timeValue+"月");
-// break;
-// case 3:
-// map.put("time",timeValue+"年");
-// break;
-// }
-// }
+ if (StringUtils.hasLength(phone)){
+ QueryByNamePhone queryByNamePhone = new QueryByNamePhone();
+ queryByNamePhone.setPhone( phone);
+ List<Integer> userIds = appUserClient.queryByNamePhone(queryByNamePhone).stream().map(TAppUser::getId)
+ .collect(Collectors.toList());
+
+ vipPaymentDto.setUserIds(userIds);
+ }
+ if (StringUtils.hasLength(appUserName)){
+ QueryByNamePhone queryByNamePhone = new QueryByNamePhone();
+ queryByNamePhone.setName( appUserName);
+ List<Integer> userIds = appUserClient.queryByNamePhone(queryByNamePhone).stream().map(TAppUser::getId)
+ .collect(Collectors.toList());
+ if (vipPaymentDto.getUserIds()!=null){
+ // 取交集
+ vipPaymentDto.setUserIds(vipPaymentDto.getUserIds().stream().filter(userIds::contains).collect(Collectors.toList()));
+ }else{
+ vipPaymentDto.setUserIds(userIds);
+ }
+ }
+ if (StringUtils.hasLength(appUserName)|| StringUtils.hasLength(phone)){
+ if (vipPaymentDto.getUserIds().isEmpty()){
+ List<Integer> userIds = vipPaymentDto.getUserIds();
+ userIds.add(-1);
+ vipPaymentDto.setUserIds(userIds);
+ }
+ }
return null;
}
- // APP查询所有上架的会员卡
- @ResponseBody
- @PostMapping("/listAll")
- public List<Vip> listAll() {
- List<Vip> list = vipService.lambdaQuery().eq(Vip::getStatus, 1).list();
- List<Coupon> coupons = couponClient.queryCouponAll();
- List<CouponCity> couponCityList = couponClient.queryAllCity();
- List<CouponStore> storeList = couponClient.queryAllStore();
- List<TStore> shopList = storeService.list();
- // 封装会员权益
- for (Vip vip : list) {
- List<CouponVipResp> couponVipRespList = new ArrayList<>();
- List<TicketVipResp> ticketVipRespList = new ArrayList<>();
- String couponJson = vip.getCouponJson();
- JSONArray couponJsonArray = JSONArray.parseArray(couponJson);
- for (Object o : couponJsonArray) {
- JSONObject couponJsonObject = (JSONObject) o;
- // 优惠券id
- Integer id = Integer.valueOf(couponJsonObject.getString("id"));
- // 优惠券数量
- Integer value = Integer.valueOf(couponJsonObject.getString("value"));
- Coupon coupon = coupons.stream().filter(e -> e.getId().equals(id)).findFirst().orElse(new Coupon());
- CouponVipResp couponVipResp = new CouponVipResp();
- couponVipResp.setId(coupon.getId());
- couponVipResp.setName(coupon.getName());
- couponVipResp.setType(coupon.getType());
- couponVipResp.setUseCondition(coupon.getUseScope());
- couponVipResp.setCount(value);
- switch (coupon.getUseScope()) {
- case 1:
- couponVipResp.setAvailable("全国通用");
- break;
- case 2:
- couponVipResp.setAvailable("指定城市可用");
- List<CouponCity> couponId = couponCityList.stream().filter(e -> e.getCouponId().equals(id))
- .collect(Collectors.toList());
- StringBuilder stringBuilder = new StringBuilder();
- for (CouponCity couponCity : couponId) {
- stringBuilder.append(couponCity.getCity());
- }
- couponVipResp.setCityOrStore(String.valueOf(stringBuilder));
- break;
- case 3:
- couponVipResp.setAvailable("指定门店可用");
- // 门店ids
- List<Integer> storeIds = storeList.stream().filter(e -> e.getCouponId().equals(id))
- .map(CouponStore::getStoreId).collect(Collectors.toList());
- StringBuilder storeNames = new StringBuilder("");
- if (!storeIds.isEmpty()) {
- List<TStore> stores = shopList.stream().filter(e -> storeIds.contains(e.getId())).collect(Collectors.toList());
- for (TStore store : stores) {
- storeNames.append(store.getName()).append(",");
- }
- // 去除最后一位
- StringBuilder res = storeNames.deleteCharAt(storeNames.length() - 1);
- couponVipResp.setCityOrStore(res.toString());
- } else {
- couponVipResp.setCityOrStore("无可用门店");
- }
- break;
- default:
- break;
- }
- couponVipResp.setInstructionsForUse(coupon.getIllustrate());
- ConponJsonRuleModel ruleModel = new ConponJsonRuleModel();
- JSONObject jsonObject = JSON.parseObject(coupon.getContent());
- switch (coupon.getType()) {
- case 1:
-// 满减券
- Double num1 = jsonObject.getDouble("conditionalAmount");
- Double num2 = jsonObject.getDouble("deductionAmount");
- ruleModel.setConditionalAmount("满" + num1 + "可用");
- ruleModel.setDeductionAmount("¥ " + num2);
- ruleModel.setExperienceName("");
- break;
- case 2:
-// 代金券
- Double jsonObjectDouble = jsonObject.getDouble("conditionalAmount");
- ruleModel.setConditionalAmount("");
- ruleModel.setDeductionAmount("¥ " + jsonObjectDouble);
- ruleModel.setExperienceName("");
- break;
- case 3:
-// 体验券
- ruleModel.setConditionalAmount("");
- ruleModel.setDeductionAmount("");
- ruleModel.setExperienceName(jsonObject.getString("experienceName"));
- break;
- default:
- break;
- }
- couponVipResp.setRuleModel(ruleModel);
-
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
- couponVipResp.setEffectiveTime(simpleDateFormat.format(coupon.getEndTime()));
- couponVipRespList.add(couponVipResp);
- }
- vip.setCouponList(couponVipRespList);
- String ticketJson = vip.getTicketJson();
- JSONArray ticketJsonArray = JSONArray.parseArray(ticketJson);
- for (Object o : ticketJsonArray) {
- JSONObject ticketJsonObject = (JSONObject) o;
- TicketVipResp ticketVipResp = new TicketVipResp();
- ticketVipResp.setName(ticketJsonObject.getString("name"));
- ticketVipResp.setTime(ticketJsonObject.getInteger("time"));
- ticketVipResp.setCount(ticketJsonObject.getInteger("count"));
- ticketVipRespList.add(ticketVipResp);
- }
- vip.setTicketList(ticketVipRespList);
- }
- return list;
- }
- @Autowired
- private IProtocolService protocolService;
- @ResponseBody
- @PostMapping("/getAgreement")
- public String getAgreement() {
- Protocol one = protocolService.lambdaQuery().eq(Protocol::getType, 6).one();
- if (one==null){
- Protocol protocol = new Protocol();
- protocol.setType(6);
- protocol.setContent("");
- protocol.setInsertTime(new Date());
- protocolService.save( protocol);
- return "";
- }else{
- return one.getContent();
-
- }
- }
-
- @ResponseBody
- @PostMapping("/getVipByIds")
- public List<Vip> getVipByIds(@RequestBody String ids) {
- List<Vip> list = vipService.lambdaQuery().in(Vip::getId, Arrays.asList(ids.split(","))).list();
- return list;
- }
}
--
Gitblit v1.7.1