From 5e4f1cba1d27b43aeef878ae3b4e77813a2870ff Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 19 Jul 2021 10:47:46 +0800 Subject: [PATCH] fix --- gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java | 237 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 232 insertions(+), 5 deletions(-) diff --git a/gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java b/gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java index 341cad8..0f70a10 100644 --- a/gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java +++ b/gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java @@ -1,26 +1,59 @@ package com.xzx.gc.user.controller; +import cn.hutool.core.codec.Base64; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.xzx.gc.common.constant.CommonEnum; import com.xzx.gc.common.constant.Constants; +import com.xzx.gc.common.dto.log.OperationAppLog; import com.xzx.gc.common.request.BaseController; +import com.xzx.gc.entity.AccountInfo; +import com.xzx.gc.entity.RedPaperRule; +import com.xzx.gc.entity.UserHeadRelate; import com.xzx.gc.model.JsonResult; -import com.xzx.gc.user.dto.ViewSettingDto; +import com.xzx.gc.model.admin.ExportParamModel; +import com.xzx.gc.model.admin.PromoterModel; +import com.xzx.gc.model.admin.UserModel; +import com.xzx.gc.user.dto.*; +import com.xzx.gc.user.mapper.AccountMapper; +import com.xzx.gc.user.mapper.RedPaperRuleMapper; +import com.xzx.gc.user.mapper.UserHeadRelateMapper; import com.xzx.gc.user.service.DistribService; -import com.xzx.gc.user.vo.ViewSettingVo; +import com.xzx.gc.user.vo.*; +import com.xzx.gc.util.DoubleUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; @RestController @Api(tags = {"分銷系統管理"}) public class AdminDistribController extends BaseController { - @Autowired + @Resource private DistribService distribService; + + @Resource + private RedPaperRuleMapper redPaperRuleMapper; + + @Autowired + private AccountMapper accountMapper; + + @Autowired + private UserHeadRelateMapper userHeadRelateMapper; /** * 查看分銷系統设置详情 @@ -29,10 +62,204 @@ @ApiResponses({@ApiResponse( code = 200, message = "success", response = ViewSettingVo.class)}) @ApiOperation(value="分銷系統管理-查看分銷系統设置详情", notes="test: 仅0有正确返回") public JsonResult<ViewSettingVo> viewSetting(@RequestBody ViewSettingDto viewSettingDto) { - Long id = viewSettingDto.getId(); - ViewSettingVo viewSettingVo = distribService.viewSetting(id); + ViewSettingVo viewSettingVo = distribService.viewSetting("分销规则"); return JsonResult.success(viewSettingVo); } + /** + * 更新分銷系統设置 + */ + @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/distrib/updateSetting.json") + @ApiOperation(value="分銷系統管理--更新分銷系統设置", notes="test: 仅0有正确返回") + public JsonResult updateSetting(@RequestBody UpdateSettingDto model, HttpServletRequest request) { + + RedPaperRule redPaperRule = redPaperRuleMapper.selectByRuleName("分销规则"); + if(ObjectUtil.isEmpty(redPaperRule)){ + distribService.addSetting(model); + OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) + .methodName(Constants.USER_MODUL_NAME).operateAction("分銷系統管理--新增分銷系統设置").build(); + mqUtil.sendApp(build); + }else{ + Integer id = model.getId(); + if(redPaperRule.getId() != id){ + return JsonResult.failMessage("规则不存在!"); + } + distribService.updateSetting(model); + OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) + .methodName(Constants.USER_MODUL_NAME).operateAction("分銷系統管理--更新分銷系統设置-" + model.getId()).build(); + mqUtil.sendApp(build); + } + return JsonResult.success("操作成功!"); + } + + @ApiOperation(value = "符合条件待入选团长列表") + @ApiResponses( + @ApiResponse(code = 200, message = "success", response = DistribListVo.class) + ) + @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/distribList.json") + public JsonResult<Map<String, Object>> distribList(@RequestBody DistribListDto distribListDto) { + return JsonResult.success(distribService.distribList(distribListDto)); + } + + /** + * 新增团长 + */ + @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/distrib/adddistrib.json") + @ApiOperation(value="分銷系統管理--新增团长", notes="test: 仅0有正确返回") + public JsonResult adddistrib(@RequestBody AdddistribDto model, HttpServletRequest request) { + String id = model.getId(); + List<String> ids = StrUtil.split(id, ','); +// AccountInfo accountInfo = accountMapper.selectByPrimaryKey(id); + List<AccountInfo> accountInfos = accountMapper.selectAccountInfoByIds(ids); + if (CollUtil.isNotEmpty(accountInfos)) { + for (AccountInfo accountInfo : accountInfos) { +// if(ObjectUtil.isEmpty(accountInfo)){ +// return JsonResult.failMessage("账户不存在!"); +// } + if(ObjectUtil.isEmpty(accountInfo.getIsHead()) + || accountInfo.getIsHead() == 1){ + return JsonResult.failMessage(accountInfo.getAccountName() + "账户不能重复添加!"); + } + if(ObjectUtil.isEmpty(accountInfo.getDelFlag()) + || accountInfo.getDelFlag() == 1){ + return JsonResult.failMessage(accountInfo.getAccountName() + "账户已删除!"); + } + if(ObjectUtil.isEmpty(accountInfo.getIsProhibit()) + || "1".equals(accountInfo.getIsProhibit())){ + return JsonResult.failMessage(accountInfo.getAccountName() + "账户已冻结!"); + } + //团员不能当团长 + String userId = accountInfo.getUserId(); + UserHeadRelate userHeadRelate = userHeadRelateMapper.selectMemberByUserId(userId); + if(ObjectUtil.isNotEmpty(userHeadRelate)){ + return JsonResult.failMessage(accountInfo.getAccountName() + "账户不能申请成为团长!"); + } + distribService.adddistrib(model); + OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) + .methodName(Constants.USER_MODUL_NAME).operateAction("分銷系統管理--新增团长-"+id).build(); + mqUtil.sendApp(build); + } + + return JsonResult.success("操作成功!"); + } else { + return JsonResult.failMessage("参数错误"); + } + + } + + @ApiOperation(value = "团长列表") + @ApiResponses( + @ApiResponse(code = 200, message = "success", response = DistribInfoListVo.class) + ) + @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/distribInfoList.json") + public JsonResult<Map<String, Object>> distribInfoList(@RequestBody DistribInfoListDto distribInfoListDto) { + return JsonResult.success(distribService.distribInfoList(distribInfoListDto)); + } + + /** + * 查看团长信息详情-个人信息 + */ + @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/distrib/viewDistribInfo.json") + @ApiResponses({@ApiResponse( code = 200, message = "success", response = ViewDistribInfoVo.class)}) + @ApiOperation(value="团长列表-个人信息详情", notes="test: 仅0有正确返回") + public JsonResult<ViewDistribInfoVo> viewDistribInfo(@RequestBody ViewDistribInfoDto viewDistribInfoDto) { + String id = viewDistribInfoDto.getId(); + AccountInfo accountInfo = accountMapper.selectByPrimaryKey(id); + if(ObjectUtil.isEmpty(accountInfo)){ + return JsonResult.failMessage("账户不存在!"); + } + ViewDistribInfoVo viewDistribInfoVo = distribService.viewDistribInfo(id); + return JsonResult.success(viewDistribInfoVo); + } + + @ApiOperation(value = "团长列表-团队信息") + @ApiResponses( + @ApiResponse(code = 200, message = "success", response = UserHeadInfoVo.class) + ) + @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/userHeadInfoList.json") + public JsonResult<Map<String, Object>> userHeadInfoList(@RequestBody UserHeadInfoListDto userHeadInfoListDto) { + return JsonResult.success(distribService.userHeadInfoList(userHeadInfoListDto)); + } + + @ApiOperation(value = "团长列表-订单详情") + @ApiResponses( + @ApiResponse(code = 200, message = "success", response = OrderItemsVo.class) + ) + @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/orderItemsList.json") + public JsonResult<Map<String, Object>> orderItemsList(@RequestBody UserHeadInfoListDto userHeadInfoListDto) { + return JsonResult.success(distribService.orderItemsList(userHeadInfoListDto)); + } + + /** + * 启用禁用团长 + */ + @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/distrib/prohibitDistrib.json") + @ApiOperation(value="分銷系統管理--启用禁用团长", notes="test: 仅0有正确返回") + public JsonResult prohibitDistrib(@RequestBody ProhibitDistribDto model, HttpServletRequest request) { + String id = model.getId(); + AccountInfo accountInfo = accountMapper.selectByPrimaryKey(id); + if(ObjectUtil.isEmpty(accountInfo)){ + return JsonResult.failMessage("账户不存在!"); + } + distribService.prohibitDistrib(model); + OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) + .methodName(Constants.USER_MODUL_NAME).operateAction("分銷系統管理--启用禁用团长-"+id).build(); + mqUtil.sendApp(build); + return JsonResult.success("操作成功!"); + } + + @ApiOperation(value = "团长数据--头部") + @ApiResponses( + @ApiResponse(code = 200, message = "success", response = DistribDataInfoVo.class) + ) + @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/distribDataInfo.json") + public JsonResult<DistribDataInfoVo> distribDataInfo(@RequestBody DistribDataInfoDto distribDataInfoDto) { + return JsonResult.success(distribService.distribDataInfo(distribDataInfoDto)); + } + + @ApiOperation(value = "团长数据--列表") + @ApiResponses( + @ApiResponse(code = 200, message = "success", response = DistribDataListVo.class) + ) + @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/distribDataList.json") + public JsonResult<Map<String, Object>> distribDataList(@RequestBody DistribDataListDto distribDataListDto) { + return JsonResult.success(distribService.distribDataList(distribDataListDto)); + } + + @ApiOperation(value = "团长数据--列表导出",produces = MediaType.APPLICATION_OCTET_STREAM_VALUE) + @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/distribDataExport.json") + public void distribDataExport(@RequestBody ExportDistribDataListDto distribDataListDto, HttpServletRequest request, HttpServletResponse response) { + List<List<String>> rows = new ArrayList<>(); + List<String> header=new ArrayList<>(); + //标题 + header=CollUtil.newArrayList( "团长名称", "手机号", "身份", "团员数量", "交易单数", "累计积分收益", "累计环保币收益", "累计订单重量(kg)","累计订单数量(家电)"); + rows.add(header); + Map<String, Object> stringObjectMap = distribService.distribDataExport(distribDataListDto); + List<DistribDataListVo> distribDataListVos = (List<DistribDataListVo>) stringObjectMap.get("data"); + if (CollUtil.isNotEmpty(distribDataListVos)) { + for(DistribDataListVo m : distribDataListVos){ + List<String> list = new ArrayList<>(); + list.add(m.getNickname()); + list.add(m.getPhone()); + list.add("团长"); + list.add(m.getCnt().toString()); + list.add(m.getOrderCnt()); + list.add(m.getScore()); + list.add(m.getAmount()); + list.add(m.getKg()); + list.add(m.getJdsl()); + rows.add(list); + } + } + //导出 + export(rows,response); + + OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) + .methodName(Constants.USER_MODUL_NAME).operateAction("用户导出-团长数据").build(); + mqUtil.sendApp(build); + + } + + } -- Gitblit v1.9.1