| | |
| | | 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.DataDictionaryEnum; |
| | | 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.ResponseHeadUtil; |
| | | import cc.mrbird.febs.mall.dto.*; |
| | | import cc.mrbird.febs.mall.entity.*; |
| | | import cc.mrbird.febs.mall.mapper.MallMemberMapper; |
| | | import cc.mrbird.febs.mall.mapper.MallMemberWalletMapper; |
| | | 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 javax.validation.constraints.NotNull; |
| | | import java.io.IOException; |
| | | import java.io.OutputStream; |
| | | import java.math.BigDecimal; |
| | | import java.net.URLEncoder; |
| | | import java.text.DecimalFormat; |
| | | import java.util.ArrayList; |
| | |
| | | |
| | | 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; |
| | | private final DataDictionaryCustomMapper dataDictionaryCustomMapper; |
| | | |
| | | |
| | | @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; |
| | | } |
| | | |
| | | DataDictionaryCustom fcmPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.FCM_PRICE.getType(), |
| | | DataDictionaryEnum.FCM_PRICE.getCode()); |
| | | BigDecimal price = ObjectUtil.isEmpty(fcmPriceDic) ? new BigDecimal(8) : new BigDecimal(fcmPriceDic.getValue()); |
| | | BigDecimal divide = mallMemberCharge.getAmount().divide(price, 2, BigDecimal.ROUND_DOWN); |
| | | |
| | | MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(mallMemberCharge.getMemberId()); |
| | | mallMemberAmount.setFcmCntAva(mallMemberAmount.getFcmCntAva().add(divide)); |
| | | mallMemberAmountMapper.updateFcmCntAvaById(mallMemberAmount); |
| | | |
| | | mallMemberCharge.setState(2); |
| | | mallMemberChargeMapper.updateById(mallMemberCharge); |
| | | |
| | | String orderNo = MallUtils.getOrderNum("BF"); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | mallMemberCharge.getMemberId(), |
| | | divide, |
| | | 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); |
| | | } |
| | | |
| | | /** |
| | | * 平台账单 |
| | |
| | | RegisterDto registerDto = new RegisterDto(); |
| | | Integer selectCount = mallMemberMapper.selectCount(null); |
| | | String account = new StringBuilder().append("bbsz").append(ShareCodeUtil.toSerialNumberCode(selectCount)).toString(); |
| | | String key = ShareCodeUtil.toSerialCode(selectCount); |
| | | String key = ShareCodeUtil.toSerialNumberCode(selectCount); |
| | | registerDto.setAccountLogin(account); |
| | | registerDto.setUserKey(key); |
| | | registerDto.setPassword("a123456"); |