From 664184af3e070dee665ee736caffa0297804975f Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Tue, 18 Mar 2025 11:46:02 +0800 Subject: [PATCH] perf(mall): 移除会员利润计算中的异步执行 --- src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java | 618 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 611 insertions(+), 7 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java index 4a3ea04..30d49af 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java @@ -1,18 +1,29 @@ 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.mall.entity.MallMember; -import cc.mrbird.febs.mall.service.IMallMemberService; -import cc.mrbird.febs.mall.service.Impl.MallMemberService; +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.*; +import cc.mrbird.febs.vip.entity.MallVipBenefitsRecord; +import cc.mrbird.febs.vip.mapper.MallVipBenefitsRecordMapper; +import cc.mrbird.febs.vip.service.IMallVipBenefitsService; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import java.util.Date; +import java.util.List; import java.util.Map; @Slf4j @@ -22,10 +33,27 @@ @RequestMapping(value = "/admin/mallMember") public class AdminMallMemberController extends BaseController { - private final IMallMemberService mallMemberService; + private final IAdminMallMemberService mallMemberService; + private final IApiMallMemberService apiMallMemberService; + private final IMallVipBenefitsService mallVipBenefitsService; + private final MallVipBenefitsRecordMapper mallVipBenefitsRecordMapper; + + /** + * 平台账单 + * + * @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 @@ -35,4 +63,580 @@ Map<String, Object> 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("memberOut/{id}") + @ControllerEndpoint(operation = "会员列表---注销", exceptionMessage = "操作失败") + public FebsResponse memberOut(@NotNull(message = "{required}") @PathVariable Long id) { + return mallMemberService.memberOut(id); + } + + /** + * 会员列表---开启 + * + * @param id + * @return + */ + @GetMapping("openAccount/{id}") + @ControllerEndpoint(operation = "会员列表---开启", exceptionMessage = "开启失败") + public FebsResponse openAccount(@NotNull(message = "{required}") @PathVariable Long id) { + return mallMemberService.openAccount(id); + } + + @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, 0); + return new FebsResponse().success(); + } + + /** + * 会员列表-资金流水 + */ + @GetMapping("/moneyFlow") + public FebsResponse moneyFlow(QueryRequest request, MallMember mallMember, Integer parentId) { + if (parentId == null) { + ViewMallMemberController.idFromMoneyFlow = 0; + } + mallMember.setId(ViewMallMemberController.idFromMoneyFlow); + Map<String, Object> 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("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) { + String startTime = moneyFlowListDto.getStartTime(); + String endTime = moneyFlowListDto.getEndTime(); + if(StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){ + DateTime dateStartTime= DateUtil.parseDate(startTime); + DateTime dateEndTime = DateUtil.parseDate(endTime); + int compare = DateUtil.compare(dateStartTime, dateEndTime); + if(compare >= 0){ + return new FebsResponse().fail().message("请输入正确的开始时间和结束时间"); + } + } + Map<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<AdminAgentLevelOptionTreeVo> getAgentLevelOption() { + return mallMemberService.getAgentLevelOption(); + } + + /** + * 代理-等级选择Option + */ + @GetMapping("agentLevelOption/tree") + @ControllerEndpoint(exceptionMessage = "获取等级失败") + public List<AdminAgentLevelOptionTreeVo> agentLevelOption() { +// return mallMemberService.getAgentLevelOption(); + return mallMemberService.agentLevelOption(); + } + + + /** + * 代理列表-全部成员 + */ + @GetMapping("/agentChild") + public FebsResponse agentChild(QueryRequest request, MallMember mallMember, Integer parentId) { + if (parentId == null) { + ViewMallMemberController.idFromAgentAllMember = 0; + } + mallMember.setId(ViewMallMemberController.idFromAgentAllMember); + Map<String, Object> 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<String, Object> 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<String, Object> 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("/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.setPasswordAgain("a123456"); + registerDto.setInviteId(member.getInviteId()); + apiMallMemberService.register(registerDto); + return new FebsResponse().success(); + } + + /** + * 代理申请列表 + */ + @GetMapping("getAgentApplyList") + public FebsResponse getAgentApplyList(MallAgentRecord mallAgentRecord, QueryRequest request) { + Map<String, Object> data = getDataTable(mallMemberService.getAgentApplyList(mallAgentRecord, request)); + return new FebsResponse().success().data(data); + } + + /** + * 代理申请列表 + * 同意 + */ + @GetMapping("agreeAgentApply/{id}") + @ControllerEndpoint(operation = "审核代理申请", exceptionMessage = "操作失败") + public FebsResponse agreeAgentApply(@NotNull(message = "{required}") @PathVariable Long id) { + return mallMemberService.agreeAgentApply(id); + } + + /** + * 代理申请列表 + * 拒绝 + */ + @GetMapping("disagreeAgentApply/{id}") + @ControllerEndpoint(operation = "审核代理申请", exceptionMessage = "操作失败") + public FebsResponse disagreeAgentApply(@NotNull(message = "{required}") @PathVariable Long id) { + return mallMemberService.disagreeAgentApply(id); + } + + /** + * 推销员列表 + */ + @GetMapping("salesmanList") + public FebsResponse salesmanList(MallSalesman mallSalesman, QueryRequest request) { + Map<String, Object> data = getDataTable(mallMemberService.getMallSalesmanListInPage(mallSalesman, request)); + return new FebsResponse().success().data(data); + } + + /** + * 推销员列表-新增 + */ + @PostMapping("addSalesman") + @ControllerEndpoint(operation = " 推销员列表-新增", exceptionMessage = "操作失败") + public FebsResponse addSalesman(@Valid MallSalesman mallSalesman) { + return mallMemberService.addSalesman(mallSalesman); + } + + /** + * 推销员列表-禁用 + */ + @GetMapping("salesmanDel/{id}") + @ControllerEndpoint(operation = "推销员列表-禁用", exceptionMessage = "操作失败") + public FebsResponse salesmanDel(@NotNull(message = "{required}") @PathVariable Long id) { + return mallMemberService.salesmanDel(id); + } + + /** + * 推销员列表-启用 + */ + @GetMapping("salesmanUse/{id}") + @ControllerEndpoint(operation = "推销员列表-启用", exceptionMessage = "操作失败") + public FebsResponse salesmanUse(@NotNull(message = "{required}") @PathVariable Long id) { + return mallMemberService.salesmanUse(id); + } + + /** + * 推销员列表-更新 + */ + @PostMapping("salesmanUpdate") + @ControllerEndpoint(operation = "推销员列表-更新", exceptionMessage = "操作失败") + public FebsResponse salesmanUpdate(@Valid MallSalesman mallSalesman) { + return mallMemberService.salesmanUpdate(mallSalesman); + } + + /** + * 推销员列表-选择 + */ + @GetMapping("salesmans/tree") + @ControllerEndpoint(exceptionMessage = "推销员列表失败") + public List<AdminMallSalesmansTreeVo> getSalesmansTree(){ + return mallMemberService.getSalesmansTree(); + } + + /** + * 会员列表-推销员列表-更新 + */ + @PostMapping("memberUpdateSalesman") + @ControllerEndpoint(operation = "会员列表-推销员列表-更新", exceptionMessage = "操作失败") + public FebsResponse memberUpdateSalesman(@Valid MallMember mallmember) { + return mallMemberService.memberUpdateSalesman(mallmember); + } + + /** + * 地址金额统计列表 + */ + @GetMapping("addressAmountList") + public FebsResponse addressAmountList(MallAddressInfo mallAddressInfo, QueryRequest request) { + Map<String, Object> data = getDataTable(mallMemberService.getAddressAmountList(mallAddressInfo, request)); + return new FebsResponse().success().data(data); + } + + /** + * 地址金额统计列表-省 + */ + @GetMapping("address/tree") + @ControllerEndpoint(exceptionMessage = "地址金额统计列表") + public List<AdminMallAddressInfoVo> getAddressTree(){ + return mallMemberService.getAddressTree(); + } + + /** + * 销售员业绩列表 + */ + @GetMapping("salesmanAchieveList") + public FebsResponse salesmanAchieveList(MallSalesman mallSalesman, QueryRequest request) { + Map<String, Object> data = getDataTable(mallMemberService.getSalesmanAchieveList(mallSalesman, request)); + return new FebsResponse().success().data(data); + } + + /** + * 销售员业绩列表-省 + */ + @GetMapping("salesmanAchieve/tree") + @ControllerEndpoint(exceptionMessage = "销售员业绩列表") + public List<AdminSalesmanAchieveVo> getSalesmanAchieveTree(){ + return mallMemberService.getSalesmanAchieveTree(); + } + + /** + * 合伙人业绩 + */ + @GetMapping("agentAchieveList") + public FebsResponse agentAchieveList(MallAgentRecord mallAgentRecord, QueryRequest request) { + String startTime = mallAgentRecord.getStartTime(); + String endTime = mallAgentRecord.getEndTime(); + if(StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){ + DateTime dateStartTime= DateUtil.parseDate(startTime); + DateTime dateEndTime = DateUtil.parseDate(endTime); + int compare = DateUtil.compare(dateStartTime, dateEndTime); + if(compare >= 0){ + return new FebsResponse().fail().message("请输入正确的开始时间和结束时间"); + } + } + Map<String, Object> data = getDataTable(mallMemberService.getAgentAchieveList(mallAgentRecord, request)); + return new FebsResponse().success().data(data); + } + + /** + * 合伙人业绩-省 + */ + @GetMapping("agentAddress/tree") + @ControllerEndpoint(exceptionMessage = "合伙人业绩-省") + public List<AdminMallAgentRecordVo> agentAddress(){ + return mallMemberService.agentAddress(); + } + + /** + * 合伙人申请列表-更新 + */ + @PostMapping("agentVerifyUpdate") + @ControllerEndpoint(operation = "合伙人申请列表-更新", exceptionMessage = "操作失败") + public FebsResponse agentVerifyUpdate(@Valid AdminAgentVerifyVo adminAgentVerifyVo) { + return mallMemberService.agentVerifyUpdate(adminAgentVerifyVo); + } + + /** + * 会员列表-推销员设置 + */ + @GetMapping("upSale/{id}") + @ControllerEndpoint(operation = " 会员列表-推销员设置", exceptionMessage = "操作失败") + public FebsResponse upSale(@NotNull(message = "{required}") @PathVariable Long id) { + return mallMemberService.upCoupon(id); + } + + /** + * 会员列表-推销员设置 + */ + @GetMapping("downSale/{id}") + @ControllerEndpoint(operation = " 会员列表-推销员设置", exceptionMessage = "操作失败") + public FebsResponse downSale(@NotNull(message = "{required}") @PathVariable Long id) { + return mallMemberService.downCoupon(id); + } + + /** + * 推销员列表 + * + * @param mallMember + * @param request + * @return + */ + @GetMapping("getsalemanRuleList") + public FebsResponse getsalemanRuleList(MallMember mallMember, QueryRequest request) { + mallMember.setIsSale(1); + Map<String, Object> data = getDataTable(mallMemberService.getsalemanRuleList(mallMember, request)); + return new FebsResponse().success().data(data); + } + + /** + * 推销员列表-优惠卷绑定 + */ + @PostMapping("salemanCoupon") + @ControllerEndpoint(operation = "推销员列表-优惠卷绑定", exceptionMessage = "操作失败") + public FebsResponse salemanCoupon(@Valid MallMember mallmember) { + return mallMemberService.salemanCoupon(mallmember); + } + + @PostMapping("vipLevelSetUpdate") + public FebsResponse vipLevelSetUpdate(MallMember member) { + member.setVipLevelTime(new Date()); + mallMemberService.updateById(member); + return new FebsResponse().success().message("操作成功"); + } + + @PostMapping("addMemberCoupon") + @ControllerEndpoint(operation = "会员添加优惠券呢", exceptionMessage = "操作失败") + public FebsResponse addMemberCoupon(@Valid MallMember mallmember) { + return mallMemberService.addMemberCoupon(mallmember); + } + + @GetMapping(value = "/findMemberBenefitsInPage") + public FebsResponse findMemberBenefitsInPage(MallVipBenefitsRecord record, QueryRequest request) { + Map<String, Object> data = getDataTable(mallVipBenefitsService.findVipBenefitsInPage(record, request)); + return new FebsResponse().success().data(data); + } + + @PostMapping(value = "/sendGift/{id}") + public FebsResponse sendGift(@PathVariable("id") Long id) { + MallVipBenefitsRecord record = new MallVipBenefitsRecord(); + record.setId(id); + record.setStatus(1); + mallVipBenefitsRecordMapper.updateById(record); + + return new FebsResponse().success(); + } } -- Gitblit v1.9.1