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.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.*; import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.util.Date; 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; private final IMallVipBenefitsService mallVipBenefitsService; private final MallVipBenefitsRecordMapper mallVipBenefitsRecordMapper; /** * 平台账单 * * @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("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, 2); 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 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 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(); } /** * 代理-等级选择Option */ @GetMapping("agentLevelOption/tree") @ControllerEndpoint(exceptionMessage = "获取等级失败") public List 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 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("/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()); apiMallMemberService.register(registerDto); return new FebsResponse().success(); } /** * 代理申请列表 */ @GetMapping("getAgentApplyList") public FebsResponse getAgentApplyList(MallAgentRecord mallAgentRecord, QueryRequest request) { Map 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 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 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 data = getDataTable(mallMemberService.getAddressAmountList(mallAddressInfo, request)); return new FebsResponse().success().data(data); } /** * 地址金额统计列表-省 */ @GetMapping("address/tree") @ControllerEndpoint(exceptionMessage = "地址金额统计列表") public List getAddressTree(){ return mallMemberService.getAddressTree(); } /** * 销售员业绩列表 */ @GetMapping("salesmanAchieveList") public FebsResponse salesmanAchieveList(MallSalesman mallSalesman, QueryRequest request) { Map data = getDataTable(mallMemberService.getSalesmanAchieveList(mallSalesman, request)); return new FebsResponse().success().data(data); } /** * 销售员业绩列表-省 */ @GetMapping("salesmanAchieve/tree") @ControllerEndpoint(exceptionMessage = "销售员业绩列表") public List 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 data = getDataTable(mallMemberService.getAgentAchieveList(mallAgentRecord, request)); return new FebsResponse().success().data(data); } /** * 合伙人业绩-省 */ @GetMapping("agentAddress/tree") @ControllerEndpoint(exceptionMessage = "合伙人业绩-省") public List agentAddress(){ return mallMemberService.agentAddress(); } /** * 合伙人申请列表-更新 */ @PostMapping("agentVerifyUpdate") @ControllerEndpoint(operation = "合伙人申请列表-更新", exceptionMessage = "操作失败") public FebsResponse agentVerifyUpdate(@Valid AdminAgentVerifyVo adminAgentVerifyVo) { return mallMemberService.agentVerifyUpdate(adminAgentVerifyVo); } /** * 会员列表-医生设置 */ @GetMapping("doctorStateChange/{id}") @ControllerEndpoint(operation = " 会员列表-医生设置", exceptionMessage = "操作失败") public FebsResponse doctorStateChange(@NotNull(message = "{required}") @PathVariable Long id) { return mallMemberService.doctorStateChange(id); } /** * 会员列表-推销员设置 */ @GetMapping("upSale/{id}") @ControllerEndpoint(operation = " 会员列表-推销员设置", exceptionMessage = "操作失败") public FebsResponse upSale(@NotNull(message = "{required}") @PathVariable Long id) { return mallMemberService.upCoupon(id); } /** * 会员列表-核销员设置 */ @GetMapping("checkOrder/{id}") @ControllerEndpoint(operation = " 会员列表-核销员设置", exceptionMessage = "操作失败") public FebsResponse checkOrder(@NotNull(message = "{required}") @PathVariable Long id) { return mallMemberService.checkOrder(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 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 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(); } }