Hentua
2023-06-15 7f55c18d7db36c9cad2ac96e481680bc1107e51c
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -4,19 +4,30 @@
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.tree.MatrixTree;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.AppVersion;
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.entity.MallNewsInfo;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
import cc.mrbird.febs.mall.service.IApiMallMemberService;
import cc.mrbird.febs.mall.vo.AdminAgentLevelOptionTreeVo;
import cc.mrbird.febs.mall.vo.AdminMoneyFlowListVo;
import cc.mrbird.febs.mall.vo.ChargeListExportVo;
import cc.mrbird.febs.system.entity.Dept;
import com.alibaba.excel.EasyExcel;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.apache.shiro.authz.annotation.RequiresPermissions;
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.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
@@ -28,9 +39,24 @@
public class AdminMallMemberController extends BaseController {
    private final IAdminMallMemberService mallMemberService;
    private final IApiMallMemberService apiMallMemberService;
    /**
     * 平台账单
     *
     * @param mallMember
     * @param request
     * @return
     */
    @GetMapping("getMallDataList")
    public FebsResponse getMallDataList(MallMember mallMember, QueryRequest request) {
        Map<String, Object> data = getDataTable(mallMemberService.getMallDataList(mallMember, request));
        return new FebsResponse().success().data(data);
    }
    /**
     * 会员列表
     *
     * @param mallMember
     * @param request
     * @return
@@ -43,6 +69,7 @@
    /**
     * 会员列表---禁止
     *
     * @param id
     * @return
     */
@@ -54,6 +81,7 @@
    /**
     * 会员列表---开启
     *
     * @param id
     * @return
     */
@@ -64,12 +92,49 @@
    }
    /**
     * 会员列表---禁止
     *
     * @param id
     * @return
     */
    @GetMapping("insideWithYes/{id}")
    @ControllerEndpoint(operation = "会员列表---禁止", exceptionMessage = "禁止失败")
    public FebsResponse insideWithYes(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.insideWithType(id,1);
    }
    /**
     * 会员列表---开启
     *
     * @param id
     * @return
     */
    @GetMapping("insideWithNo/{id}")
    @ControllerEndpoint(operation = "会员列表---开启", exceptionMessage = "开启失败")
    public FebsResponse insideWithNo(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.insideWithType(id,2);
    }
    @GetMapping("changeIdentityYes/{type}/{id}")
    public FebsResponse changeIdentityYes(@PathVariable("type") Integer type, @PathVariable("id") Long id) {
        mallMemberService.changeIdentity(type, id, 1);
        return new FebsResponse().success();
    }
    @GetMapping("changeIdentityNo/{type}/{id}")
    public FebsResponse changeIdentityNo(@PathVariable("type") Integer type, @PathVariable("id") Long id) {
        mallMemberService.changeIdentity(type, id, 2);
        return new FebsResponse().success();
    }
    /**
     * 会员列表-资金流水
     */
    @GetMapping("/moneyFlow")
    @RequiresPermissions("moneyFlow:update")
    public FebsResponse moneyFlow(QueryRequest request, MallMember mallMember, Integer parentId) {
        if(parentId==null){
            ViewMallMemberController.idFromMoneyFlow=0;
        if (parentId == null) {
            ViewMallMemberController.idFromMoneyFlow = 0;
        }
        mallMember.setId(ViewMallMemberController.idFromMoneyFlow);
        Map<String, Object> dataTable = getDataTable(mallMemberService.moneyFlow(request, mallMember));
@@ -86,7 +151,27 @@
    }
    /**
     * 会员列表-系统拨付绿色凭证
     */
    @PostMapping("updateVoucher")
    @ControllerEndpoint(operation = "会员列表-系统拨付绿色凭证", exceptionMessage = "操作失败")
    public FebsResponse updateVoucher(@Valid MallSystemPayDto mallSystemPayDto) {
//        return mallMemberService.updateSystemPay(mallSystemPayDto);
        return mallMemberService.updateVoucher(mallSystemPayDto);
    }
    /**
     * 会员列表-详情更新
     */
    @PostMapping("updateMemberInfo")
    @ControllerEndpoint(operation = "会员列表-详情更新", exceptionMessage = "操作失败")
    public FebsResponse updateMemberInfo(@Valid MallUpdateMemberInfoDto mallUpdateMemberInfoDto) {
        return mallMemberService.updateMemberInfo(mallUpdateMemberInfoDto);
    }
    /**
     * 资金流水-列表
     *
     * @param moneyFlowListDto
     * @param request
     * @return
@@ -99,6 +184,7 @@
    /**
     * 会员提现-列表
     *
     * @param moneyChargeListDto
     * @param request
     * @return
@@ -111,6 +197,7 @@
    /**
     * 会员提现-同意
     *
     * @param id
     * @return
     */
@@ -122,6 +209,7 @@
    /**
     * 会员提现-拒绝
     *
     * @param id
     * @return
     */
@@ -133,6 +221,7 @@
    /**
     * 代理列表
     *
     * @param agentDto
     * @param request
     * @return
@@ -145,6 +234,7 @@
    /**
     * 代理级别-列表
     *
     * @param agentLevelDto
     * @param request
     * @return
@@ -169,7 +259,7 @@
     */
    @GetMapping("getAgentLevelOption/tree")
    @ControllerEndpoint(exceptionMessage = "获取等级失败")
    public List<AdminAgentLevelOptionTreeVo> getAgentLevelOption(){
    public List<AdminAgentLevelOptionTreeVo> getAgentLevelOption() {
        return mallMemberService.getAgentLevelOption();
    }
@@ -179,8 +269,8 @@
     */
    @GetMapping("/agentChild")
    public FebsResponse agentChild(QueryRequest request, MallMember mallMember, Integer parentId) {
        if(parentId==null){
            ViewMallMemberController.idFromAgentAllMember=0;
        if (parentId == null) {
            ViewMallMemberController.idFromAgentAllMember = 0;
        }
        mallMember.setId(ViewMallMemberController.idFromAgentAllMember);
        Map<String, Object> dataTable = getDataTable(mallMemberService.agentChild(request, mallMember));
@@ -189,6 +279,7 @@
    /**
     * 代理列表---激活
     *
     * @param id
     * @return
     */
@@ -199,7 +290,17 @@
    }
    /**
     * 代理列表-设置代理级别
     */
    @PostMapping("agentLevelSetUpdate")
    @ControllerEndpoint(operation = "代理列表-设置代理级别", exceptionMessage = "操作失败")
    public FebsResponse agentLevelSetUpdate(@Valid AgentLevelSetUpdateDto agentLevelSetUpdateDto) {
        return mallMemberService.agentLevelSetUpdate(agentLevelSetUpdateDto);
    }
    /**
     * 奖励设置-列表
     *
     * @param rankAwardDto
     * @param request
     * @return
@@ -221,6 +322,7 @@
    /**
     * App版本-列表
     *
     * @param appVersion
     * @param request
     * @return
@@ -258,47 +360,151 @@
        return mallMemberService.updateAppVersion(appVersion);
    }
    @PostMapping("resetPwd/{id}")
    @ControllerEndpoint(operation = "会员列表---重置密码", exceptionMessage = "重置密码失败")
    public FebsResponse resetPwd(@PathVariable("id") Long id) {
        return mallMemberService.resetPwd(id);
    }
    @PostMapping(value = "resetPwdNew/{type}/{ids}")
    @ControllerEndpoint(operation = "重置密码", exceptionMessage = "重置密码失败")
    public FebsResponse resetPwd(@PathVariable("ids") String ids, @PathVariable("type") Integer type) {
        mallMemberService.resetPwd(ids, type);
        return new FebsResponse().success().message("重置成功");
    }
    @GetMapping("shopApplyList")
    @ControllerEndpoint(operation = "申请通道列表", exceptionMessage = "获取失败")
    public FebsResponse shopApplyList(MallShopApply mallShopApply, QueryRequest request) {
        return new FebsResponse().success().data(getDataTable(mallMemberService.findShopApplyListInPage(mallShopApply, request)));
    }
    @PostMapping("applyCheckAgree/{id}")
    public FebsResponse applyCheckAgree(@PathVariable Long id) {
        mallMemberService.applyCheckAgree(id);
        return new FebsResponse().success().message("操作成功");
    }
    @PostMapping(value = "applyCheckDisAgree/{id}")
    public FebsResponse applyCheckDisAgree(@PathVariable Long id) {
        mallMemberService.applyCheckDisAgree(id);
        return new FebsResponse().success().message("操作成功");
    }
    @PostMapping("updateShopApply")
    @ControllerEndpoint(operation = "商户申请编辑", exceptionMessage = "操作失败")
    public FebsResponse updateShopApply(@Valid MallShopApply apply) {
        mallMemberService.updateShopApply(apply);
        return new FebsResponse().success();
    }
    @PostMapping("/refererIdUpdate")
    @ControllerEndpoint(operation = "修改推荐人", exceptionMessage = "修改失败")
    public FebsResponse refererIdUpdate(MallMember member) {
        mallMemberService.modifyReferer(member);
        return new FebsResponse().success();
    }
    @PostMapping("/memberAdd")
    public FebsResponse memberAdd(MallMember member) {
        RegisterDto registerDto = new RegisterDto();
        registerDto.setAccount(member.getAccount());
        registerDto.setRegistType("admin");
        registerDto.setPassword("a123456");
        registerDto.setInviteId(member.getInviteId());
        registerDto.setName(member.getName());
        registerDto.setSex(member.getSex());
        apiMallMemberService.register(registerDto);
        return new FebsResponse().success();
    }
    /**
     * 新闻中心-列表
     * @param mallNewsInfo
     * 创世释放记录-列表
     * @param roleReleaseDto
     * @param request
     * @return
     */
    @GetMapping("getNewInfoList")
    public FebsResponse getNewInfoList(MallNewsInfo mallNewsInfo, QueryRequest request) {
        Map<String, Object> data = getDataTable(mallMemberService.getNewInfoList(mallNewsInfo, request));
    @GetMapping("gerRoleRelease")
    public FebsResponse gerRoleRelease(AdminRoleReleaseDto roleReleaseDto, QueryRequest request) {
        Map<String, Object> data = getDataTable(mallMemberService.gerRoleReleaseList(roleReleaseDto, request));
        return new FebsResponse().success().data(data);
    }
    /**
     * 新闻中心-新增
     * 创世释放记录-全部记录
     */
    @PostMapping("addNewsInfo")
    @ControllerEndpoint(operation = " 新闻中心-新增", exceptionMessage = "操作失败")
    public FebsResponse addNewsInfo(@Valid MallNewsInfoDto mallNewsInfoDto) {
        return mallMemberService.addNewsInfo(mallNewsInfoDto);
    @GetMapping("/roleReleaseChild")
    public FebsResponse roleReleaseChild(QueryRequest request, MallScoreRecord mallScoreRecord, Integer parentId) {
        if (parentId == null) {
            ViewMallMemberController.idFromScoreRoleRelease = 0;
        }
        mallScoreRecord.setId(ViewMallMemberController.idFromScoreRoleRelease);
        Map<String, Object> dataTable = getDataTable(mallMemberService.roleReleaseChild(request, mallScoreRecord));
        return new FebsResponse().success().data(dataTable);
    }
    /**
     * 新闻中心-删除
     * 业绩释放记录-列表
     * @param roleReleaseDto
     * @param request
     * @return
     */
    @GetMapping("delNewsInfo/{id}")
    @ControllerEndpoint(operation = " 新闻中心-删除", exceptionMessage = "操作失败")
    public FebsResponse delNewsInfo(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.delNewsInfo(id);
    @GetMapping("gerAchieveRelease")
    public FebsResponse gerAchieveRelease(AdminRoleReleaseDto roleReleaseDto, QueryRequest request) {
        Map<String, Object> data = getDataTable(mallMemberService.gerAchieveReleaseList(roleReleaseDto, request));
        return new FebsResponse().success().data(data);
    }
    /**
     * 新闻中心-更新
     * 业绩释放记录-全部记录
     */
    @PostMapping("updateNewsInfo")
    @ControllerEndpoint(operation = "新闻中心-更新", exceptionMessage = "操作失败")
    public FebsResponse updateNewsInfo(@Valid MallNewsInfoDto mallNewsInfoDto) {
        return mallMemberService.updateNewsInfo(mallNewsInfoDto);
    @GetMapping("/achieveReleaseChild")
    public FebsResponse achieveReleaseChild(QueryRequest request, MallScoreAchieveRelease mallScoreAchieveRelease, Integer parentId) {
        if (parentId == null) {
            ViewMallMemberController.idFromScoreAchieveRelease = 0;
        }
        mallScoreAchieveRelease.setId(ViewMallMemberController.idFromScoreAchieveRelease);
        Map<String, Object> dataTable = getDataTable(mallMemberService.achieveReleaseChild(request, mallScoreAchieveRelease));
        return new FebsResponse().success().data(dataTable);
    }
    @GetMapping(value = "/matrixTree")
    public FebsResponse matrixTree() {
        MatrixTree instance = MatrixTree.getInstance();
        return null;
    }
    @GetMapping(value = "/chargeList/excel")
    public void exportChargeList(MoneyChargeListDto moneyChargeListDto, HttpServletResponse response) throws IOException {
        List<ChargeListExportVo> list = this.mallMemberService.findChargeListForExcel(moneyChargeListDto);
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
        response.setCharacterEncoding("utf-8");
        String fileName= URLEncoder.encode("提现列表","UTF-8").replaceAll("\\+","%20");
        response.setHeader("Content-disposition","attachment;filename*=utf-8''"+fileName+".xlsx");
        EasyExcel.write(response.getOutputStream(),ChargeListExportVo.class).sheet("提现列表").doWrite(list);
    }
    @GetMapping("teamList")
    public FebsResponse teamList(MallMember mallMember, QueryRequest request) {
        Map<String, Object> data = getDataTable(mallMemberService.findTeamList(mallMember, request));
        return new FebsResponse().success().data(data);
    }
    @GetMapping(value = "/moneyFlow/excel")
    public void exportMoneyFlow(MoneyFlowListDto moneyFlowListDto, HttpServletResponse response) throws IOException {
        QueryRequest request = new QueryRequest();
        request.setPageNum(1);
        request.setPageSize(999999999);
        List<AdminMoneyFlowListVo> list = this.mallMemberService.getMoneyFlowListInPage(moneyFlowListDto, request).getRecords();
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
        response.setCharacterEncoding("utf-8");
        String fileName= URLEncoder.encode("资金明细表","UTF-8").replaceAll("\\+","%20");
        response.setHeader("Content-disposition","attachment;filename*=utf-8''"+fileName+".xlsx");
        EasyExcel.write(response.getOutputStream(),AdminMoneyFlowListVo.class).sheet("资金明细表").doWrite(list);
    }
}