package cc.mrbird.febs.mall.controller; import cc.mrbird.febs.common.annotation.ControllerEndpoint; 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.*; 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 com.baomidou.mybatisplus.core.metadata.IPage; 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; @Slf4j @Validated @RestController @RequiredArgsConstructor @RequestMapping(value = "/admin/mallMember") 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 data = getDataTable(mallMemberService.getMallDataList(mallMember, request)); return new FebsResponse().success().data(data); } /** * 会员列表 * * @param mallMember * @param request * @return */ @GetMapping("getMallMemberList") public FebsResponse getMallMemberList(MallMember mallMember, QueryRequest request) { Map data = getDataTable(mallMemberService.getMallMemberList(mallMember, request)); return new FebsResponse().success().data(data); } /** * 会员列表---禁止 * * @param id * @return */ @GetMapping("closeAccount/{id}") @ControllerEndpoint(operation = "会员列表---禁止", exceptionMessage = "禁止失败") public FebsResponse closeAccount(@NotNull(message = "{required}") @PathVariable Long id) { return mallMemberService.closeAccount(id); } /** * 会员列表---开启 * * @param id * @return */ @GetMapping("openAccount/{id}") @ControllerEndpoint(operation = "会员列表---开启", exceptionMessage = "开启失败") public FebsResponse openAccount(@NotNull(message = "{required}") @PathVariable Long id) { return mallMemberService.openAccount(id); } /** * 会员列表---禁止 * * @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; } mallMember.setId(ViewMallMemberController.idFromMoneyFlow); Map dataTable = getDataTable(mallMemberService.moneyFlow(request, mallMember)); return new FebsResponse().success().data(dataTable); } /** * 会员列表-系统拨付 */ @PostMapping("updateSystemPay") @ControllerEndpoint(operation = "会员列表-系统拨付", exceptionMessage = "操作失败") public FebsResponse updateSystemPay(@Valid MallSystemPayDto mallSystemPayDto) { return mallMemberService.updateSystemPay(mallSystemPayDto); } /** * 会员列表-系统拨付绿色凭证 */ @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 */ @GetMapping("getMoneyFlowList") public FebsResponse getMoneyFlowList(MoneyFlowListDto moneyFlowListDto, QueryRequest request) { Map data = getDataTable(mallMemberService.getMoneyFlowListInPage(moneyFlowListDto, request)); return new FebsResponse().success().data(data); } /** * 会员提现-列表 * * @param moneyChargeListDto * @param request * @return */ @GetMapping("getMoneyChargeList") public FebsResponse getMoneyChargeList(MoneyChargeListDto moneyChargeListDto, QueryRequest request) { Map data = getDataTable(mallMemberService.getMoneyChargeListInPage(moneyChargeListDto, request)); return new FebsResponse().success().data(data); } /** * 会员提现-同意 * * @param id * @return */ @GetMapping("chargeAgree/{id}") @ControllerEndpoint(operation = "会员提现-同意", exceptionMessage = "操作失败") public FebsResponse chargeAgree(@NotNull(message = "{required}") @PathVariable Long id) { return mallMemberService.chargeAgree(id); } /** * 会员提现-拒绝 * * @param id * @return */ @GetMapping("chargeDisagree/{id}") @ControllerEndpoint(operation = "会员提现-拒绝", exceptionMessage = "操作失败") public FebsResponse chargeDisagree(@NotNull(message = "{required}") @PathVariable Long id) { return mallMemberService.chargeDisagree(id); } /** * 代理列表 * * @param agentDto * @param request * @return */ @GetMapping("getAgentList") public FebsResponse getAgentList(AgentDto agentDto, QueryRequest request) { Map data = getDataTable(mallMemberService.getAgentList(agentDto, request)); return new FebsResponse().success().data(data); } /** * 代理级别-列表 * * @param agentLevelDto * @param request * @return */ @GetMapping("getAgentLevelList") public FebsResponse getAgentLevelList(AgentLevelDto agentLevelDto, QueryRequest request) { Map data = getDataTable(mallMemberService.getAgentLevelList(agentLevelDto, request)); return new FebsResponse().success().data(data); } /** * 代理级别-更新 */ @PostMapping("agentLevelUpdate") @ControllerEndpoint(operation = "商家支付方式-更新", exceptionMessage = "操作失败") public FebsResponse agentLevelUpdate(@Valid AgentLevelUpdateDto agentLevelUpdateDto) { return mallMemberService.agentLevelUpdate(agentLevelUpdateDto); } /** * 代理-等级选择Option */ @GetMapping("getAgentLevelOption/tree") @ControllerEndpoint(exceptionMessage = "获取等级失败") public List getAgentLevelOption() { return mallMemberService.getAgentLevelOption(); } /** * 代理列表-全部成员 */ @GetMapping("/agentChild") public FebsResponse agentChild(QueryRequest request, MallMember mallMember, Integer parentId) { if (parentId == null) { ViewMallMemberController.idFromAgentAllMember = 0; } mallMember.setId(ViewMallMemberController.idFromAgentAllMember); Map dataTable = getDataTable(mallMemberService.agentChild(request, mallMember)); return new FebsResponse().success().data(dataTable); } /** * 代理列表---激活 * * @param id * @return */ @GetMapping("activateAccount/{id}") @ControllerEndpoint(operation = "代理列表---激活", exceptionMessage = "操作失败") public FebsResponse activateAccount(@NotNull(message = "{required}") @PathVariable Long id) { return mallMemberService.activateAccount(id); } /** * 代理列表-设置代理级别 */ @PostMapping("agentLevelSetUpdate") @ControllerEndpoint(operation = "代理列表-设置代理级别", exceptionMessage = "操作失败") public FebsResponse agentLevelSetUpdate(@Valid AgentLevelSetUpdateDto agentLevelSetUpdateDto) { return mallMemberService.agentLevelSetUpdate(agentLevelSetUpdateDto); } /** * 奖励设置-列表 * * @param rankAwardDto * @param request * @return */ @GetMapping("getRankAwardList") public FebsResponse getRankAwardList(RankAwardDto rankAwardDto, QueryRequest request) { Map data = getDataTable(mallMemberService.getRankAwardList(rankAwardDto, request)); return new FebsResponse().success().data(data); } /** * 奖励设置-更新 */ @PostMapping("rankAwardUpdate") @ControllerEndpoint(operation = "奖励设置-更新", exceptionMessage = "操作失败") public FebsResponse rankAwardUpdate(@Valid RankAwardUpdateDto rankAwardUpdateDto) { return mallMemberService.rankAwardUpdate(rankAwardUpdateDto); } /** * App版本-列表 * * @param appVersion * @param request * @return */ @GetMapping("getAppVersionList") public FebsResponse getAppVersionList(AppVersion appVersion, QueryRequest request) { Map data = getDataTable(mallMemberService.getAppVersionList(appVersion, request)); return new FebsResponse().success().data(data); } /** * App版本-删除 */ @GetMapping("delAppVersion/{id}") @ControllerEndpoint(operation = " App版本-删除", exceptionMessage = "操作失败") public FebsResponse delAppVersion(@NotNull(message = "{required}") @PathVariable Long id) { return mallMemberService.delCategary(id); } /** * App版本-新增 */ @PostMapping("addAppVersion") @ControllerEndpoint(operation = " App版本-新增", exceptionMessage = "操作失败") public FebsResponse addAppVersion(@Valid AppVersion appVersion) { return mallMemberService.addAppVersion(appVersion); } /** * App版本-更新 */ @PostMapping("updateAppVersion") @ControllerEndpoint(operation = "App版本-更新", exceptionMessage = "操作失败") public FebsResponse updateAppVersion(@Valid AppVersion appVersion) { 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 roleReleaseDto * @param request * @return */ @GetMapping("gerRoleRelease") public FebsResponse gerRoleRelease(AdminRoleReleaseDto roleReleaseDto, QueryRequest request) { Map data = getDataTable(mallMemberService.gerRoleReleaseList(roleReleaseDto, request)); return new FebsResponse().success().data(data); } /** * 创世释放记录-全部记录 */ @GetMapping("/roleReleaseChild") public FebsResponse roleReleaseChild(QueryRequest request, MallScoreRecord mallScoreRecord, Integer parentId) { if (parentId == null) { ViewMallMemberController.idFromScoreRoleRelease = 0; } mallScoreRecord.setId(ViewMallMemberController.idFromScoreRoleRelease); Map dataTable = getDataTable(mallMemberService.roleReleaseChild(request, mallScoreRecord)); return new FebsResponse().success().data(dataTable); } /** * 业绩释放记录-列表 * @param roleReleaseDto * @param request * @return */ @GetMapping("gerAchieveRelease") public FebsResponse gerAchieveRelease(AdminRoleReleaseDto roleReleaseDto, QueryRequest request) { Map data = getDataTable(mallMemberService.gerAchieveReleaseList(roleReleaseDto, request)); return new FebsResponse().success().data(data); } /** * 业绩释放记录-全部记录 */ @GetMapping("/achieveReleaseChild") public FebsResponse achieveReleaseChild(QueryRequest request, MallScoreAchieveRelease mallScoreAchieveRelease, Integer parentId) { if (parentId == null) { ViewMallMemberController.idFromScoreAchieveRelease = 0; } mallScoreAchieveRelease.setId(ViewMallMemberController.idFromScoreAchieveRelease); Map 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 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 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(999999); List 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); } @GetMapping("exportMemberList") public void exportMemberList(MallMember mallMember, HttpServletResponse response) throws IOException { QueryRequest request = new QueryRequest(); request.setPageNum(1); request.setPageSize(999999); List list = mallMemberService.getMallMemberList(mallMember, 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(),MallMember.class).sheet("会员列表").doWrite(list); } }