| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | |
| | | 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); |
| | | } |
| | | |
| | | /** |
| | | * 平台账单 |
| | |
| | | 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); |
| | | } |
| | | |
| | | /** |
| | | * 会员列表---禁止 |
| | | * |
| | |
| | | @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}") |
| | |
| | | @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | @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(); |
| | | } |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |