123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451 |
- package com.game.business.controller;
- import java.util.*;
- import java.util.stream.Collectors;
- import javax.servlet.http.HttpServletResponse;
- import cn.hutool.core.util.DesensitizedUtil;
- import cn.hutool.core.util.IdUtil;
- import cn.hutool.core.util.RandomUtil;
- import com.game.business.domain.*;
- import com.game.business.dto.AppUserAgentDTO;
- import com.game.business.dto.AppUserDTO;
- import com.game.business.service.IAppGameCommissionService;
- import com.game.business.service.IAppGameService;
- import com.game.business.service.IAppUserService;
- import com.game.business.util.Md5Utils;
- import com.game.business.vo.AppGameBettingDetailsCountVO;
- import com.game.business.vo.AppGameCommissionVO;
- import com.game.business.vo.AppUserAgentVO;
- import com.game.business.vo.AppUserPAgentVO;
- import com.game.common.annotation.Anonymous;
- import com.game.common.core.domain.*;
- import com.game.common.utils.SecurityUtils;
- import com.game.common.utils.StringUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- import com.game.common.annotation.Log;
- import com.game.common.core.controller.BaseController;
- import com.game.common.enums.BusinessType;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import com.game.business.service.IAppUserAgentService;
- import com.game.common.utils.poi.ExcelUtil;
- import com.game.common.core.page.TableDataInfo;
- import springfox.documentation.annotations.ApiIgnore;
- /**
- * 用户代理表Controller
- *
- * @author game
- * @date 2024-06-25
- */
- @RestController
- @RequestMapping("/business/agent")
- @Api(value = "AppUserAgentController", description = "用户代理表接口", tags = {"用户代理表接口"})
- public class AppUserAgentController extends BaseController
- {
- @Autowired
- private IAppUserAgentService appUserAgentService;
- @Autowired
- private IAppGameCommissionService appGameCommissionService;
- @Autowired
- private IAppGameService appGameService;
- @Autowired
- private IAppUserService appUserService;
- @PostMapping("/addAgent")
- @ApiOperation(value = "添加代理", notes = "添加代理")
- public HttpRet<AppUserAgentVO> addAgent(@RequestBody AppUserDTO appUserDTO)
- {
- appUserDTO.setUserId(SecurityUtils.getUserId());
- if(appUserService.getMobileCount(appUserDTO.getUserName())){
- return HttpRet.fail("用户手机号码已存在。");
- }
- AppUser appUser = getAppUser(appUserDTO.getUserName(), appUserDTO.getPassWord(), appUserDTO.getSmsRegion());
- appUserService.insertAppUser(appUser);
- AppUserAgent pUserAgent = new AppUserAgent();
- pUserAgent.setUserId(appUserDTO.getUserId());
- List<AppUserAgent> pList = appUserAgentService.selectAppUserAgentList(pUserAgent);
- if(pList == null || pList.isEmpty()){
- return HttpRet.fail("上级代理不存在或不是代理。");
- }
- AppUserAgent dbPuserAgent = pList.get(0);
- AppUserAgent appUserAgent = new AppUserAgent();
- appUserAgent.setTopId((dbPuserAgent.getTopId() == null || dbPuserAgent.getTopId() < 1) ? dbPuserAgent.getUserId() : dbPuserAgent.getTopId());
- appUserAgent.setPid(dbPuserAgent.getUserId());
- appUserAgent.setUserId(appUser.getUserid());
- appUserAgent.setAuditStatus("1");
- appUserAgent.setLiveRate(0.00);
- appUserAgent.setDividendGuaranteeRate(0.00);
- appUserAgent.setCreateTime(new Date());
- appUserAgentService.insertAppUserAgent(appUserAgent);
- AppUserAgentVO appUserAgentVO = new AppUserAgentVO();
- BeanUtils.copyProperties(appUserAgent, appUserAgentVO);
- appUserAgentVO.setUserId(appUser.getUserid());
- appUserAgentVO.setNickName(appUser.getUsername());
- appUserAgentVO.setAvatar("");
- List<AppGameCommissionVO> gameCommissionVOList = new ArrayList<>();
- List<AppGame> gameList = appGameService.selectAppGameList(new AppGame());
- if(gameList != null && !gameList.isEmpty()){
- for (int i = 0; i < gameList.size(); i++) {
- AppGame appGame = gameList.get(i);
- AppGameCommissionVO appGameCommissionVO = new AppGameCommissionVO();
- appGameCommissionVO.setPid(dbPuserAgent.getUserId());
- appGameCommissionVO.setUserId(appUser.getUserid());
- appGameCommissionVO.setGameRate(0L);
- appGameCommissionVO.setGameId(appGame.getId());
- appGameCommissionVO.setGameName(appGame.getName());
- appGameCommissionVO.setLogoUrl(appGame.getLogoUrl());
- appGameCommissionVO.setGamePath(appGame.getGamePath());
- gameCommissionVOList.add(appGameCommissionVO);
- }
- }
- appUserAgentVO.setCommissions(gameCommissionVOList);
- return HttpRet.success("添加成功", appUserAgentVO);
- }
- @Anonymous
- @PostMapping("/updateConfig")
- @ApiOperation(value = "修改代理配置", notes = "修改代理配置")
- public HttpRet updateConfig(@RequestBody AppUserAgentDTO appUserAgent)
- {
- if(appUserAgent == null){
- return HttpRet.fail("代理数据为空。");
- }
- if(appUserAgent.getLiveRate() == null || appUserAgent.getLiveRate() > 100){
- return HttpRet.fail("直播佣金参数异常。");
- }
- if(appUserAgent.getDividendGuaranteeRate() == null || appUserAgent.getDividendGuaranteeRate() > 100){
- return HttpRet.fail("保底分红参数异常。");
- }
- AppUserAgent dbUserAgent = new AppUserAgent();
- BeanUtils.copyProperties(appUserAgent, dbUserAgent);
- dbUserAgent.setUserId(null);
- dbUserAgent.setPid(null);
- dbUserAgent.setTopId(null);
- dbUserAgent.setUpdateTime(new Date());
- appUserAgentService.updateAppUserAgent(dbUserAgent);
- if(appUserAgent.getCommissions() != null && !appUserAgent.getCommissions().isEmpty()){
- List<AppGameCommission> commissionList = appUserAgent.getCommissions();
- for(AppGameCommission commission : commissionList){
- if(commission.getId() == null){
- /* if(commission.getPid() == null){
- commission.setPid(appUserAgent.getPid());
- }*/
- if(commission.getGameId() == null){
- continue;
- }
- commission.setPid(appUserAgent.getPid());
- commission.setUserId(appUserAgent.getUserId());
- appGameCommissionService.insertAppGameCommission(commission);
- }else{
- commission.setUserId(null);
- commission.setPid(null);
- commission.setGameId(null);
- appGameCommissionService.updateAppGameCommission(commission);
- }
- }
- }
- return HttpRet.success("修改成功", appUserAgent);
- }
- /**
- * 获取代理成员设置
- */
- @Anonymous
- @PostMapping(value = "/getUserAgentByUserId")
- @ApiOperation(value = "获取代理配置", notes = "获取代理配置")
- public HttpRet<AppUserAgentVO> getUserAgentByUserId()
- {
- Long userId = SecurityUtils.getUserId();
- AppUserAgent userAgent = new AppUserAgent();
- userAgent.setUserId(userId);
- List<AppUserAgent> userAgents = appUserAgentService.selectAppUserAgentList(userAgent);
- if(userAgents == null || userAgents.isEmpty()){
- return HttpRet.fail("代理信息不存在。");
- }
- AppUserAgent appUserAgent = userAgents.get(0);
- AppUserAgentVO appUserAgentVO = new AppUserAgentVO();
- BeanUtils.copyProperties(appUserAgent, appUserAgentVO);
- AppGameCommission appGameCommission = new AppGameCommission();
- appGameCommission.setPid(appUserAgent.getPid());
- appGameCommission.setUserId(appUserAgent.getUserId());
- List<AppGameCommission> gameCommissions = appGameCommissionService.selectAppGameCommissionList(appGameCommission);
- Map<Long, List<AppGameCommission>> idGameMap;
- if(gameCommissions != null && !gameCommissions.isEmpty()){
- idGameMap = gameCommissions.stream().collect(Collectors.groupingBy(AppGameCommission::getGameId));
- }else{
- idGameMap = new HashMap<>();
- }
- List<AppGameCommissionVO> gameCommissionVOList = new ArrayList<>();
- List<AppGame> gameList = appGameService.selectAppGameList(new AppGame());
- if(gameList != null && !gameList.isEmpty()){
- for (int i = 0; i < gameList.size(); i++) {
- AppGame appGame = gameList.get(i);
- AppGameCommissionVO appGameCommissionVO = new AppGameCommissionVO();
- if(idGameMap.containsKey(appGame.getId())){
- AppGameCommission gameCommission = idGameMap.get(appGame.getId()).get(0);
- BeanUtils.copyProperties(gameCommission, appGameCommissionVO);
- }else{
- appGameCommissionVO.setGameRate(0L);
- }
- appGameCommissionVO.setGameId(appGame.getId());
- appGameCommissionVO.setGameName(appGame.getName());
- appGameCommissionVO.setLogoUrl(appGame.getLogoUrl());
- appGameCommissionVO.setGamePath(appGame.getGamePath());
- gameCommissionVOList.add(appGameCommissionVO);
- }
- }
- appUserAgentVO.setCommissions(gameCommissionVOList);
- return HttpRet.success("查询成功", appUserAgentVO);
- }
- /**
- * 获取代理成员设置
- */
- @Anonymous
- @PostMapping(value = "/getUserAgent")
- @ApiOperation(value = "获取代理成员设置", notes = "获取代理成员设置")
- public HttpRet<AppUserPAgentVO> getListByGameId(@RequestParam(name = "pid") Long pid, @RequestParam(name = "userId") Long userId)
- {
- AppUserPAgentVO appUserPAgentVO = new AppUserPAgentVO();
- AppUser appUser = appUserService.selectAppUserByUserid(userId);
- if(appUser == null ){
- return HttpRet.fail("用户信息不存在。");
- }
- AppUserAgent userAgent = new AppUserAgent();
- userAgent.setPid(pid);
- userAgent.setUserId(userId);
- List<AppUserAgent> userAgents = appUserAgentService.selectAppUserAgentList(userAgent);
- if(userAgents == null || userAgents.isEmpty()){
- return HttpRet.fail("代理信息不存在。");
- }
- AppUserAgent userPAgent = new AppUserAgent();
- userPAgent.setUserId(pid);
- List<AppUserAgent> userpAgents = appUserAgentService.selectAppUserAgentList(userPAgent);
- if(userpAgents == null || userpAgents.isEmpty()){
- return HttpRet.fail("上级代理信息不存在。");
- }
- AppUserAgentVO appUserAgentVO = new AppUserAgentVO();
- BeanUtils.copyProperties(userAgents.get(0), appUserAgentVO);
- appUserAgentVO.setUserId(appUser.getUserid());
- appUserAgentVO.setNickName(StringUtils.isEmpty(appUser.getNickname()) ? appUser.getUsername() : appUser.getNickname());
- appUserAgentVO.setAvatar(appUser.getAvatar());
- AppGameCommission appGameCommission = new AppGameCommission();
- appGameCommission.setPid(pid);
- appGameCommission.setUserId(userId);
- List<AppGameCommission> gameCommissions = appGameCommissionService.selectAppGameCommissionList(appGameCommission);
- Map<Long, List<AppGameCommission>> idGameMap;
- if(gameCommissions != null && !gameCommissions.isEmpty()){
- idGameMap = gameCommissions.stream().collect(Collectors.groupingBy(AppGameCommission::getGameId));
- }else{
- idGameMap = new HashMap<>();
- }
- AppUserAgentVO appUserpAgentVO = new AppUserAgentVO();
- BeanUtils.copyProperties(userpAgents.get(0), appUserpAgentVO);
- Map<Long, List<AppGameCommission>> idGamePMap = new HashMap<>();
- if(appUserpAgentVO.getPid() != null){
- AppGameCommission appGamePCommission = new AppGameCommission();
- appGamePCommission.setPid(appUserpAgentVO.getPid());
- appGamePCommission.setUserId(appUserpAgentVO.getUserId());
- List<AppGameCommission> gamePCommissions = appGameCommissionService.selectAppGameCommissionList(appGamePCommission);
- if(gamePCommissions != null && !gamePCommissions.isEmpty()){
- idGamePMap = gamePCommissions.stream().collect(Collectors.groupingBy(AppGameCommission::getGameId));
- }
- }
- if(appUserpAgentVO.getLiveRate() == null){
- appUserpAgentVO.setLiveRate(100.00);
- }
- if(appUserpAgentVO.getDividendGuaranteeRate() == null){
- appUserpAgentVO.setDividendGuaranteeRate(100.00);
- }
- List<AppGameCommissionVO> gameCommissionVOList = new ArrayList<>();
- List<AppGameCommissionVO> gamePCommissionVOList = new ArrayList<>();
- List<AppGame> gameList = appGameService.selectAppGameList(new AppGame());
- if(gameList != null && !gameList.isEmpty()){
- for (int i = 0; i < gameList.size(); i++) {
- AppGame appGame = gameList.get(i);
- AppGameCommissionVO appGameCommissionVO = new AppGameCommissionVO();
- if(idGameMap.containsKey(appGame.getId())){
- AppGameCommission gameCommission = idGameMap.get(appGame.getId()).get(0);
- BeanUtils.copyProperties(gameCommission, appGameCommissionVO);
- }else{
- appGameCommissionVO.setGameRate(0L);
- }
- appGameCommissionVO.setGameId(appGame.getId());
- appGameCommissionVO.setGameName(appGame.getName());
- appGameCommissionVO.setLogoUrl(appGame.getLogoUrl());
- appGameCommissionVO.setGamePath(appGame.getGamePath());
- gameCommissionVOList.add(appGameCommissionVO);
- AppGameCommissionVO appGamePCommissionVO = new AppGameCommissionVO();
- if(idGamePMap.containsKey(appGame.getId())){
- AppGameCommission gameCommission = idGamePMap.get(appGame.getId()).get(0);
- BeanUtils.copyProperties(gameCommission, appGamePCommissionVO);
- }else{
- appGamePCommissionVO.setGameRate(100L);
- }
- appGamePCommissionVO.setGameId(appGame.getId());
- gamePCommissionVOList.add(appGamePCommissionVO);
- }
- }
- appUserAgentVO.setCommissions(gameCommissionVOList);
- appUserPAgentVO.setAppUserAgent(appUserAgentVO);
- appUserpAgentVO.setCommissions(gamePCommissionVOList);
- appUserPAgentVO.setAppUserPAgent(appUserpAgentVO);
- return HttpRet.success("查询成功", appUserPAgentVO);
- }
- /**
- * 新增用户
- * @return 用户id
- * @author jiang
- * @date 2021/9/25 16:28
- */
- public AppUser getAppUser(String userName, String password,String smsRegion) {
- AppUser curUser = appUserService.selectAppUserByUserid(SecurityUtils.getUserId());//操作人用户信息
- AppUser appUser = new AppUser();
- appUser.setSalt(RandomUtil.randomString(8));
- appUser.setPassword(Md5Utils.md5(Md5Utils.md5(password) + appUser.getSalt()));
- appUser.setUsername(RandomUtil.randomString(8));
- appUser.setMobile(userName);
- appUser.setNickname("");
- appUser.setSmsRegion(smsRegion);
- appUser.setPid(curUser.getUserid());
- appUser.setInviteCode(curUser.getInviteCode());
- appUser.setInviteBindTime(new Date());
- appUser.setAgentFlag(1);
- appUser.setAvatar(null);
- appUser.setSex(0L);
- appUser.setSignature("这家伙很懒...");
- // 基础信息
- // appUser.setMobile(mobile);
- appUser.setRegType(0L);
- appUser.setOpenid(null);
- appUser.setRegisterIp("127.0.0.1");
- appUser.setRegType(0L);
- appUser.setCreateTime(new Date());
- appUser.setLoginType("1");
- appUser.setUserType(2L);
- appUser.setBirthday("1990-01-01");
- appUser.setStatus(0L);
- appUser.setDelFlag(0L);
- appUser.setIshot(1L);
- appUser.setIsRecommend(0L);
- appUser.setIssuper(1L);
- appUser.setRole(0L);
- appUser.setCity("墨西哥");
- appUser.setAddress("墨西哥");
- appUser.setLat(114.31);
- appUser.setLng(30.52);
- // 用户开关
- appUser.setGiftGlobalBroadcast(1L);
- appUser.setIsShowHomePage(1L);
- // 金币相关
- appUser.setCoin(0.00);
- appUser.setVotes(0.00);
- appUser.setAmount(0.00);
- appUser.setTotalAmount(0.00);
- appUser.setVotestotal(0.00);
- appUser.setTotalCharge(0.00);
- appUser.setTotalAmountCash(0.00);
- appUser.setTotalCash(0.00);
- appUser.setConsumption(0.00);
- // 等级积分相关
- appUser.setUserPoint(0L);
- appUser.setAnchorPoint(0L);
- appUser.setCharmPoint(0L);
- appUser.setUserGrade(1L);
- appUser.setAnchorGrade(1L);
- appUser.setWealthGrade(1L);
- appUser.setNobleGrade(0L);
- appUser.setCharmGrade(0L);
- appUser.setIsShowHomePage(1L);
- appUser.setIpaddr("墨西哥");
- appUser.setAppVersion(null);
- appUser.setAppVersionCode(null);
- appUser.setPhoneSystem(null);
- appUser.setPhoneFirm(null);
- appUser.setPhoneModel(null);
- appUser.setPhoneUuid(null);
- appUser.setSource(null);
- appUser.setIszombie(1L);
- appUser.setIszombiep(1L);
- return appUser;
- }
- }
|