From d4606eee672d8350f337befbb1ef9c969837f2ca Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Tue, 18 Jun 2024 14:33:05 +0800 Subject: [PATCH] 新增guess,猜数字游戏的分支 --- src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java | 383 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 380 insertions(+), 3 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 a683d78..84d5b96 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java @@ -4,11 +4,26 @@ 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.enumerates.FlowTypeNewEnum; +import cc.mrbird.febs.common.enumerates.MoneyFlowTypeNewEnum; +import cc.mrbird.febs.common.enumerates.ProductEnum; +import cc.mrbird.febs.common.utils.MallUtils; +import cc.mrbird.febs.common.utils.ShareCodeUtil; +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.*; import cc.mrbird.febs.mall.service.IAdminMallMemberService; import cc.mrbird.febs.mall.service.IApiMallMemberService; +import cc.mrbird.febs.mall.service.IMallMoneyFlowService; 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 +31,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,7 +51,132 @@ public class AdminMallMemberController extends BaseController { private final IAdminMallMemberService mallMemberService; + private final MallMemberWalletMapper mallMemberWalletMapper; + private final MallMemberAmountMapper mallMemberAmountMapper; + private final MallMemberMapper mallMemberMapper; private final IApiMallMemberService apiMallMemberService; + private final MallMemberChargeMapper mallMemberChargeMapper; + private final IMallMoneyFlowService mallMoneyFlowService; + private final MallMemberWithdrawMapper mallMemberWithdrawMapper; + + + @GetMapping("confirmOrder") + @ControllerEndpoint(operation = "批量充值", exceptionMessage = "操作失败") + public FebsResponse confirmOrder(MemberChargrDto memberChargrDto){ + String orderIds = memberChargrDto.getOrderIds(); + List<String> ids = StrUtil.splitTrim(orderIds, ","); + for(String id : ids){ + long orderId = Long.parseLong(id); + MallMemberCharge mallMemberCharge = mallMemberChargeMapper.selectById(orderId); + if(1 != mallMemberCharge.getState()){ + continue; + } + MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(mallMemberCharge.getMemberId()); + mallMemberAmount.setFcmCntAva(mallMemberAmount.getFcmCntAva().add(mallMemberCharge.getAmount())); + mallMemberAmountMapper.updateFcmCntAvaById(mallMemberAmount); + + mallMemberCharge.setState(2); + mallMemberChargeMapper.updateById(mallMemberCharge); + + String orderNo = MallUtils.getOrderNum("BF"); + mallMoneyFlowService.addMoneyFlow( + mallMemberCharge.getMemberId(), + mallMemberCharge.getAmount(), + MoneyFlowTypeNewEnum.FCM_INSIDE_IN.getValue(), + orderNo, + mallMemberCharge.getMemberId(), + FlowTypeNewEnum.FCM_COIN.getValue(), + MoneyFlowTypeNewEnum.FCM_INSIDE_IN.getDescrition()); + } + return new FebsResponse().success(); + } + + + @GetMapping("confirmCancel") + @ControllerEndpoint(operation = "批量取消", exceptionMessage = "操作失败") + public FebsResponse confirmCancel(MemberChargrDto memberChargrDto){ + String orderIds = memberChargrDto.getOrderIds(); + List<String> ids = StrUtil.splitTrim(orderIds, ","); + for(String id : ids){ + long orderId = Long.parseLong(id); + MallMemberCharge mallMemberCharge = mallMemberChargeMapper.selectById(orderId); + if(1 != mallMemberCharge.getState()){ + continue; + } + mallMemberCharge.setState(3); + mallMemberChargeMapper.updateById(mallMemberCharge); + } + return new FebsResponse().success(); + } + + @GetMapping("confirmCancelWithdraw") + @ControllerEndpoint(operation = "批量提现取消", exceptionMessage = "操作失败") + public FebsResponse confirmCancelWithdraw(MemberChargrDto memberChargrDto){ + String orderIds = memberChargrDto.getOrderIds(); + List<String> ids = StrUtil.splitTrim(orderIds, ","); + for(String id : ids){ + long orderId = Long.parseLong(id); + MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(orderId); + if(1 != mallMemberWithdraw.getStatus()){ + continue; + } + mallMemberWithdraw.setStatus(3); + mallMemberWithdrawMapper.updateById(mallMemberWithdraw); + + MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(mallMemberWithdraw.getMemberId()); + mallMemberAmount.setFcmCntAva(mallMemberAmount.getFcmCntAva().subtract(mallMemberWithdraw.getAmount())); + mallMemberAmountMapper.updateFcmCntAvaById(mallMemberAmount); + } + return new FebsResponse().success(); + } + + + @GetMapping("confirmWithdraw") + @ControllerEndpoint(operation = "批量同意", exceptionMessage = "操作失败") + public FebsResponse confirmWithdraw(MemberChargrDto memberChargrDto){ + String orderIds = memberChargrDto.getOrderIds(); + List<String> ids = StrUtil.splitTrim(orderIds, ","); + for(String id : ids){ + long orderId = Long.parseLong(id); + MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(orderId); + if(1 != mallMemberWithdraw.getStatus()){ + continue; + } + mallMemberWithdraw.setStatus(2); + mallMemberWithdrawMapper.updateById(mallMemberWithdraw); + + String orderNo = MallUtils.getOrderNum("BF"); + mallMoneyFlowService.addMoneyFlow( + mallMemberWithdraw.getMemberId(), + mallMemberWithdraw.getAmount(), + MoneyFlowTypeNewEnum.FCM_INSIDE_OUT.getValue(), + orderNo, + mallMemberWithdraw.getId(), + FlowTypeNewEnum.FCM_COIN.getValue(), + MoneyFlowTypeNewEnum.FCM_INSIDE_OUT.getDescrition()); + } + return new FebsResponse().success(); + } + + + /** + * 充值列表 + */ + @GetMapping("memberChargeList") + public FebsResponse memberChargeList(MoneyChargeListDto moneyChargeListDto, QueryRequest request) { + Map<String, Object> data = getDataTable(mallMemberService.memberChargeList(moneyChargeListDto, request)); + return new FebsResponse().success().data(data); + } + + + /** + * 提现列表 + */ + @GetMapping("memberWithDrawList") + public FebsResponse memberWithDrawList(MoneyChargeListDto moneyChargeListDto, QueryRequest request) { + Map<String, Object> data = getDataTable(mallMemberService.memberWithDrawList(moneyChargeListDto, request)); + return new FebsResponse().success().data(data); + } /** * 平台账单 @@ -57,6 +204,12 @@ return new FebsResponse().success().data(data); } + @GetMapping("getFcmMallMemberList") + public FebsResponse getFcmMallMemberList(MallMember mallMember, QueryRequest request) { + Map<String, Object> data = getDataTable(mallMemberService.getFcmMallMemberList(mallMember, request)); + return new FebsResponse().success().data(data); + } + /** * 会员列表---禁止 * @@ -79,6 +232,78 @@ @ControllerEndpoint(operation = "会员列表---开启", exceptionMessage = "开启失败") public FebsResponse openAccount(@NotNull(message = "{required}") @PathVariable Long id) { return mallMemberService.openAccount(id); + } + + /** + * 会员列表---冻结 + * + * @param id + * @return + */ + @GetMapping("frozenWithYes/{id}") + @ControllerEndpoint(operation = "冻结", exceptionMessage = "禁止失败") + public FebsResponse frozenWithYes(@NotNull(message = "{required}") @PathVariable Long id) { + return mallMemberService.frozenWith(id, ProductEnum.MEMBER_FROZEN.getValue()); + } + + /** + * 会员列表---解冻 + * + * @param id + * @return + */ + @GetMapping("frozenWithNo/{id}") + @ControllerEndpoint(operation = "解冻", exceptionMessage = "开启失败") + public FebsResponse frozenWithNo(@NotNull(message = "{required}") @PathVariable Long id) { + return mallMemberService.frozenWith(id,ProductEnum.MEMBER_UNFROZEN.getValue()); + } + + /** + * 会员列表---禁止 + * + * @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); + } + + /** + * 会员列表---禁止 + * + * @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}") @@ -114,6 +339,25 @@ @ControllerEndpoint(operation = "会员列表-系统拨付", exceptionMessage = "操作失败") public FebsResponse updateSystemPay(@Valid MallSystemPayDto mallSystemPayDto) { return mallMemberService.updateSystemPay(mallSystemPayDto); + } + + /** + * 会员列表-系统拨付 + */ + @PostMapping("updateSystemPayInfo") + @ControllerEndpoint(operation = "会员列表-系统拨付", exceptionMessage = "操作失败") + public FebsResponse updateSystemPayInfo(@Valid MallSystemPayDto mallSystemPayDto) { + return mallMemberService.updateSystemPayInfo(mallSystemPayDto); + } + + /** + * 会员列表-系统拨付绿色凭证 + */ + @PostMapping("updateVoucher") + @ControllerEndpoint(operation = "会员列表-系统拨付绿色凭证", exceptionMessage = "操作失败") + public FebsResponse updateVoucher(@Valid MallSystemPayDto mallSystemPayDto) { +// return mallMemberService.updateSystemPay(mallSystemPayDto); + return mallMemberService.updateVoucher(mallSystemPayDto); } /** @@ -161,6 +405,39 @@ @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); + } + + /** + * 会员提现-查看结果 + * + * @param id + * @return + */ + @GetMapping("searchInfo/{id}") + @ControllerEndpoint(operation = "会员提现-查看结果", exceptionMessage = "操作失败") + public FebsResponse searchInfo(@NotNull(message = "{required}") @PathVariable Long id) { + return mallMemberService.searchInfo(id); + } + + /** + * 会员提现-账户余额 + * + * @param id + * @return + */ + @GetMapping("accountInfo/{id}") + @ControllerEndpoint(operation = "会员提现-账户余额", exceptionMessage = "操作失败") + public FebsResponse accountInfo(@NotNull(message = "{required}") @PathVariable Long id) { + return mallMemberService.accountInfo(id); } /** @@ -365,13 +642,113 @@ @PostMapping("/memberAdd") public FebsResponse memberAdd(MallMember member) { RegisterDto registerDto = new RegisterDto(); - registerDto.setAccount(member.getAccount()); - registerDto.setRegistType("admin"); + Integer selectCount = mallMemberMapper.selectCount(null); + String account = new StringBuilder().append("bbsz").append(ShareCodeUtil.toSerialNumberCode(selectCount)).toString(); + String key = ShareCodeUtil.toSerialNumberCode(selectCount); + registerDto.setAccountLogin(account); + registerDto.setUserKey(key); registerDto.setPassword("a123456"); + registerDto.setTradePassword("123456"); registerDto.setInviteId(member.getInviteId()); - registerDto.setName(member.getName()); apiMallMemberService.register(registerDto); return new FebsResponse().success(); } + /** + * 创世释放记录-列表 + * @param roleReleaseDto + * @param request + * @return + */ + @GetMapping("gerRoleRelease") + public FebsResponse gerRoleRelease(AdminRoleReleaseDto roleReleaseDto, QueryRequest request) { + Map<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> dataTable = getDataTable(mallMemberService.achieveReleaseChild(request, mallScoreAchieveRelease)); + 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; + } + } -- Gitblit v1.9.1