package com.xzx.gc.user.controller; import cn.hutool.core.util.ObjectUtil; 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.*; 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.*; 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.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 java.util.Map; @RestController @Api(tags = {"分銷系統管理"}) public class AdminDistribController extends BaseController { @Resource private DistribService distribService; @Resource private RedPaperRuleMapper redPaperRuleMapper; @Autowired private AccountMapper accountMapper; @Autowired private UserHeadRelateMapper userHeadRelateMapper; /** * 查看分銷系統设置详情 */ @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/distrib/setting.json") @ApiResponses({@ApiResponse( code = 200, message = "success", response = ViewSettingVo.class)}) @ApiOperation(value="分銷系統管理-查看分銷系統设置详情", notes="test: 仅0有正确返回") public JsonResult viewSetting(@RequestBody ViewSettingDto viewSettingDto) { 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> 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(); AccountInfo accountInfo = accountMapper.selectByPrimaryKey(id); if(ObjectUtil.isEmpty(accountInfo)){ return JsonResult.failMessage("账户不存在!"); } if(ObjectUtil.isEmpty(accountInfo.getIsHead()) || accountInfo.getIsHead() == 1){ return JsonResult.failMessage("账户不能重复添加!"); } if(ObjectUtil.isEmpty(accountInfo.getDelFlag()) || accountInfo.getDelFlag() == 1){ return JsonResult.failMessage("账户已删除!"); } if(ObjectUtil.isEmpty(accountInfo.getIsProhibit()) || accountInfo.getIsProhibit() == "1"){ return JsonResult.failMessage("账户已冻结!"); } //团员不能当团长 String userId = accountInfo.getUserId(); UserHeadRelate userHeadRelate = userHeadRelateMapper.selectMemberByUserId(userId); if(ObjectUtil.isNotEmpty(userHeadRelate)){ return JsonResult.failMessage("账户不能申请成为团长!"); } 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("操作成功!"); } @ApiOperation(value = "团长列表") @ApiResponses( @ApiResponse(code = 200, message = "success", response = DistribInfoListVo.class) ) @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/distribInfoList.json") public JsonResult> 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 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> 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> 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 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> distribDataList(@RequestBody DistribDataListDto distribDataListDto) { return JsonResult.success(distribService.distribDataList(distribDataListDto)); } }