xiaoyong931011
2023-05-06 076f5a4f0a7c5a4d3a6d3a1a61ff96a0091e3320
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -4,11 +4,21 @@
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.utils.excl.ExcelSheetPO;
import cc.mrbird.febs.common.utils.excl.ExcelUtil;
import cc.mrbird.febs.common.utils.excl.ExcelVersion;
import cc.mrbird.febs.common.utils.excl.ResponseHeadUtil;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.MallMemberMapper;
import cc.mrbird.febs.mall.mapper.MallMemberWalletMapper;
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
import cc.mrbird.febs.mall.service.IApiMallMemberService;
import cc.mrbird.febs.mall.vo.AdminAgentLevelOptionTreeVo;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
@@ -16,8 +26,15 @@
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -29,6 +46,8 @@
public class AdminMallMemberController extends BaseController {
    private final IAdminMallMemberService mallMemberService;
    private final MallMemberWalletMapper mallMemberWalletMapper;
    private final MallMemberMapper mallMemberMapper;
    private final IApiMallMemberService apiMallMemberService;
    /**
@@ -79,6 +98,30 @@
    @ControllerEndpoint(operation = "会员列表---开启", exceptionMessage = "开启失败")
    public FebsResponse openAccount(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.openAccount(id);
    }
    /**
     * 会员列表---禁止
     *
     * @param id
     * @return
     */
    @GetMapping("outsideWithYes/{id}")
    @ControllerEndpoint(operation = "会员列表---禁止", exceptionMessage = "禁止失败")
    public FebsResponse outsideWithYes(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.outsideWithType(id,1);
    }
    /**
     * 会员列表---开启
     *
     * @param id
     * @return
     */
    @GetMapping("outsideWithNo/{id}")
    @ControllerEndpoint(operation = "会员列表---开启", exceptionMessage = "开启失败")
    public FebsResponse outsideWithNo(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.outsideWithType(id,2);
    }
    /**
@@ -195,6 +238,15 @@
    @ControllerEndpoint(operation = "会员提现-同意", exceptionMessage = "操作失败")
    public FebsResponse chargeAgree(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.chargeAgree(id);
    }
    /**
     * 会员提现-同意
     */
    @PostMapping("chargeAgreeWithType")
    @ControllerEndpoint(operation = " 会员提现-同意", exceptionMessage = "操作失败")
    public FebsResponse chargeAgreeWithType(@Valid MallMemberWithdraw mallMemberWithdraw) {
        return mallMemberService.chargeAgreeWithType(mallMemberWithdraw);
    }
    /**
@@ -482,4 +534,51 @@
        return new FebsResponse().success().data(dataTable);
    }
    @GetMapping("exportMember")
    @ControllerEndpoint(operation = "会员列表", exceptionMessage = "导出失败")
    public FebsResponse exportMemberList(MallMember mallMember, HttpServletResponse response) throws IOException {
        List<ExcelSheetPO> res = new ArrayList<>();
        ExcelSheetPO orderSheet = new ExcelSheetPO();
        String title = "会员列表";
        orderSheet.setSheetName(title);
        orderSheet.setTitle(title);
        String[] header = {"登录账户", "手机号码", "名称", "余额", "现金积分", "贡献点", "补贴额度", "凭证", "凭证现金"};
        orderSheet.setHeaders(header);
        QueryRequest request = new QueryRequest();
        request.setPageNum(1);
        request.setPageSize(9999);
        List<MallMember> dataList = mallMemberMapper.selectList(null);
        List<List<Object>> list = new ArrayList<>();
        if (dataList.size() > 0) {
            for (MallMember item : dataList) {
                List<Object> temp = new ArrayList<>();
                temp.add(item.getAccountLogin());
                temp.add(item.getPhone());
                temp.add(item.getName());
                Long memberId = item.getId();
                MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
                if(ObjectUtil.isNotNull(mallMemberWallet)){
                    temp.add(mallMemberWallet.getBalance());
                    temp.add(mallMemberWallet.getPrizeScore());
                    temp.add(mallMemberWallet.getStar());
                    temp.add(mallMemberWallet.getTotalScore());
                    temp.add(mallMemberWallet.getVoucherCnt());
                    temp.add(mallMemberWallet.getVoucherAmount());
                }
                list.add(temp);
            }
        }
        orderSheet.setDataList(list);
        res.add(orderSheet);
        response = ResponseHeadUtil.setExcelHead(response);
        response.setHeader("Content-Disposition",
                "attachment;filename=" + URLEncoder.encode(title + DateUtil.format(new Date(), "yyyyMMDDHHmmss") + ".xlsx".trim(), "UTF-8"));
        OutputStream os = response.getOutputStream();
        ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true);
        return null;
    }
}