| | |
| | | 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.ProductEnum; |
| | | 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.MallMemberMapper; |
| | | import cc.mrbird.febs.mall.mapper.MallMemberWalletMapper; |
| | | import cc.mrbird.febs.mall.service.IAdminMallMemberService; |
| | | import cc.mrbird.febs.mall.service.IApiMallMemberService; |
| | | 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.apache.shiro.authz.annotation.RequiresPermissions; |
| | | 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 MallMemberMapper mallMemberMapper; |
| | | private final IApiMallMemberService apiMallMemberService; |
| | | |
| | | /** |
| | |
| | | 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); |
| | | } |
| | | |
| | | /** |
| | | * 会员列表---禁止 |
| | | * |
| | |
| | | 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}") |
| | | public FebsResponse changeIdentityYes(@PathVariable("type") Integer type, @PathVariable("id") Long id) { |
| | | mallMemberService.changeIdentity(type, id, 1); |
| | |
| | | * 会员列表-资金流水 |
| | | */ |
| | | @GetMapping("/moneyFlow") |
| | | @RequiresPermissions("moneyFlow:update") |
| | | public FebsResponse moneyFlow(QueryRequest request, MallMember mallMember, Integer parentId) { |
| | | if (parentId == null) { |
| | | ViewMallMemberController.idFromMoneyFlow = 0; |
| | |
| | | @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | @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.toSerialCode(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; |
| | | } |
| | | |
| | | } |