package com.dsh.guns.modular.system.controller.code;
|
|
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.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;
|
import org.springframework.ui.Model;
|
import org.springframework.util.StringUtils;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.math.BigDecimal;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
/**
|
* @author zhibing.pu
|
* @Date 2023/8/1 14:02
|
*/
|
@Controller
|
@RequestMapping("/vipDetail")
|
public class TVipDetailController extends BaseController {
|
|
@Autowired
|
private IVipService vipService;
|
@Autowired
|
private CouponClient couponClient;
|
@Autowired
|
private IStoreService storeService;
|
@Autowired
|
private AppUserClient appUserClient;
|
@Autowired
|
private ITSiteService siteService;
|
@Autowired
|
private TOperatorService operatorService;
|
private String PREFIX = "/system/vipPayment/";
|
|
|
/**
|
* 跳转到优惠券管理首页
|
*/
|
@RequestMapping("")
|
public String index(Model model) {
|
return PREFIX + "vip_payment.html";
|
}
|
|
/**
|
* 获取 会员权益使用明细列表
|
*/
|
@RequestMapping(value = "/list")
|
@ResponseBody
|
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);
|
}
|
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;
|
}
|
|
|
}
|