无关风月
2025-05-08 9486766c806fe1d9e082b2fd02ea1cc558f1b443
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TPayHuiminController.java
@@ -8,6 +8,7 @@
import com.dsh.course.feignClient.activity.PayHuiminClient;
import com.dsh.course.feignClient.activity.model.HuiminPayQuery;
import com.dsh.course.feignClient.activity.model.TPayHuimin;
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.AppUserByNameAndPhoneDTO;
@@ -25,7 +26,7 @@
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@@ -33,6 +34,7 @@
import java.io.IOException;
import java.io.OutputStream;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -41,7 +43,7 @@
import java.util.stream.Collectors;
/**
 * 惠民卡控制器
 * 玩湃惠民卡控制器
 *
 * @author fengshuonan
 * @Date 2025-03-29 17:41:48
@@ -63,18 +65,30 @@
    /**
     * 跳转到惠民卡首页
     * 跳转到玩湃惠民卡首页
     */
    @RequestMapping("")
    public String index(Model model) {
        Integer objectType = UserExt.getUser().getObjectType();
        Integer operatorId = null;
        if (objectType.equals(2)){
            //查询运营商
            TOperator operator = operatorService.getOne(new QueryWrapper<TOperator>()
                    .eq("userId", UserExt.getUser().getId())
                    .ne("state", 3)
                    .last("LIMIT 1"));
            if (Objects.nonNull(operator)) {
                operatorId = operator.getId();
            }
        }
        //查询运营商列表
        model.addAttribute("operatorList", operatorService.list(new QueryWrapper<TOperator>().eq("state", 1)));
        model.addAttribute("operatorList", operatorService.list(new QueryWrapper<TOperator>().eq(Objects.nonNull(operatorId), "id",operatorId).eq("state", 1)));
        model.addAttribute("storeList", storeService.list(new QueryWrapper<TStore>().eq("state", 1)));
        return PREFIX + "tPayHuimin.html";
    }
    /**
     * 跳转到添加惠民卡
     * 跳转到添加玩湃惠民卡
     */
    @RequestMapping("/tPayHuimin_add")
    public String tPayHuiminAdd() {
@@ -82,11 +96,22 @@
    }
    /**
     * 获取惠民卡列表
     * 获取玩湃惠民卡列表
     */
    @RequestMapping(value = "/list")
    @ResponseBody
    public Object list(HuiminPayQuery query) {
        Integer objectType = UserExt.getUser().getObjectType();
        if (objectType.equals(2)){
            //查询运营商
            TOperator operator = operatorService.getOne(new QueryWrapper<TOperator>()
                    .eq("userId", UserExt.getUser().getId())
                    .ne("state", 3)
                    .last("LIMIT 1"));
            if (Objects.nonNull(operator)) {
                query.setOperatorId(Long.valueOf(operator.getId()));
            }
        }
        Page<TPayHuimin> tPayHuiminPage = new PageFactory<TPayHuimin>().defaultPage();
        query.setCurrent(tPayHuiminPage.getCurrent());
        query.setSize(tPayHuiminPage.getSize());
@@ -110,16 +135,21 @@
            List<Integer> operatorIdList = records.stream()
                    .map(SalesDetailVO::getOperatorId)
                    .collect(Collectors.toList());
            List<Integer> storeIdList = records.stream()
                    .map(SalesDetailVO::getStoreId)
                    .collect(Collectors.toList());
            Map<Integer, String> operatorMap = operatorService.listByIds(operatorIdList).stream()
                    .collect(Collectors.toMap(TOperator::getId, TOperator::getName));
            Map<Integer, String> storeMap = storeService.listByIds(storeIdList).stream()
            Map<Integer, String> storeMap = storeService.list().stream()
                    .collect(Collectors.toMap(TStore::getId, TStore::getName));
            records.forEach(item->{
                item.setOperatorName(operatorMap.getOrDefault(item.getOperatorId(),""));
                item.setStoreName(storeMap.getOrDefault(item.getStoreId(),""));
                StringBuilder sb = new StringBuilder();
                System.err.println("==========="+item);
                Arrays.stream(item.getStoreIds().split(",")).map(Integer::parseInt).forEach(s->{
                    sb.append( storeMap.getOrDefault(s, ""));
                    sb.append(",");
                });
                //sb去除最后一个逗号
                sb.deleteCharAt(sb.length() - 1);
                item.setStoreName(sb.toString());
            });
        }
        return super.packForBT(salesDetailVOPage);
@@ -159,10 +189,11 @@
     * @param id
     * @return
     */
    @GetMapping("/refund/{id}")
    @PostMapping("/refund")
    @ResponseBody
    public ResultUtil<?> refund(@PathVariable("id") Integer id) {
        return payHuiminClient.refund(id);
    public ResultUtil<?> refund(Integer id) {
        payHuiminClient.refund(id);
        return ResultUtil.success();
    }
    /**
@@ -177,19 +208,23 @@
            List<Integer> operatorIdList = records.stream()
                    .map(SalesDetailVO::getOperatorId)
                    .collect(Collectors.toList());
            List<Integer> storeIdList = records.stream()
                    .map(SalesDetailVO::getStoreId)
                    .collect(Collectors.toList());
            Map<Integer, String> operatorMap = operatorService.listByIds(operatorIdList).stream()
                    .collect(Collectors.toMap(TOperator::getId, TOperator::getName));
            Map<Integer, String> storeMap = storeService.listByIds(storeIdList).stream()
            Map<Integer, String> storeMap = storeService.list().stream()
                    .collect(Collectors.toMap(TStore::getId, TStore::getName));
            records.forEach(item -> {
                item.setOperatorName(operatorMap.getOrDefault(item.getOperatorId(), ""));
                item.setStoreName(storeMap.getOrDefault(item.getStoreId(), ""));
            records.forEach(item->{
                item.setOperatorName(operatorMap.getOrDefault(item.getOperatorId(),""));
                StringBuilder sb = new StringBuilder();
                Arrays.stream(item.getStoreIds().split(",")).map(Integer::parseInt).forEach(s->{
                    sb.append( storeMap.getOrDefault(s, ""));
                    sb.append(",");
                });
                //sb去除最后一个逗号
                sb.deleteCharAt(sb.length() - 1);
                item.setStoreName(sb.toString());
            });
        }
        String[] titleArr = {"惠民卡名称", "惠民卡类型", "售卖金额", "所属运营商", "可用门店", "购买用户", "联系电话", "购买时间", "绑定人员", "已用次数", "有效期", "状态"};
        String[] titleArr = {"玩湃惠民卡名称", "玩湃惠民卡类型", "售卖金额", "所属运营商", "可用门店", "购买用户", "联系电话", "购买时间", "绑定人员", "已用次数", "有效期", "状态"};
        String[][] values = new String[records.size()][];
        for (int i = 0; i < records.size(); i++) {
            SalesDetailVO salesDetailVO = records.get(i);