| | |
| | | package com.ruoyi.admin.controller; |
| | | |
| | | import com.ruoyi.admin.request.OrderCountRequest; |
| | | import com.ruoyi.admin.entity.Franchisee; |
| | | import com.ruoyi.admin.request.UserDataCountRequest; |
| | | import com.ruoyi.admin.service.FranchiseeService; |
| | | import com.ruoyi.admin.service.MasterWorkerService; |
| | | import com.ruoyi.admin.service.OrderService; |
| | | import com.ruoyi.admin.service.UserService; |
| | | import com.ruoyi.admin.vo.MasterWorkerRankVO; |
| | | import com.ruoyi.admin.vo.OrderResultVO; |
| | | import com.ruoyi.admin.vo.UserDataCountVO; |
| | | import com.ruoyi.admin.vo.UserTrendsVO; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.security.annotation.RequiresPermissions; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | | import com.ruoyi.order.api.entity.OrderCountRequest; |
| | | import com.ruoyi.order.api.entity.OrderResultVO; |
| | | import com.ruoyi.order.api.feignClient.OrderClient; |
| | | import com.ruoyi.system.api.model.LoginUser; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @Resource |
| | | private UserService userService; |
| | | @Resource |
| | | private OrderService orderService; |
| | | private OrderClient orderClient; |
| | | @Resource |
| | | private TokenService tokenService; |
| | | |
| | | /** |
| | | * 用户数据统计 |
| | | * |
| | | * @param userDataCountRequest 请求参数 |
| | | */ |
| | | @RequiresPermissions("homepage") |
| | | @ApiOperation(value = "后台-用户数据统计", tags = {"后台-首页"}) |
| | | @PostMapping(value = "/userDataCount") |
| | | public R<Object> userDataCount(@RequestBody UserDataCountRequest userDataCountRequest) { |
| | | public R<UserDataCountVO> userDataCount(@RequestBody UserDataCountRequest userDataCountRequest) { |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | if (null == loginUser) { |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | |
| | | Integer franchiseeId = loginUser.getSysUser().getFranchiseeId(); |
| | | String[] siteIds = new String[0]; |
| | | if (franchiseeId!=null){ |
| | | Franchisee byId = franchiseeService.getById(franchiseeId); |
| | | siteIds = byId.getSiteIds().split(","); |
| | | if (loginUser.getIsFranchisee()&&siteIds.length==0){ |
| | | return R.ok(); |
| | | } |
| | | } |
| | | userDataCountRequest.setSiteIds(Arrays.asList(siteIds)); |
| | | |
| | | |
| | | if (loginUser.getIsFranchisee()||!userDataCountRequest.getCityList().isEmpty()) { |
| | | if (null == userDataCountRequest.getCityList() || userDataCountRequest.getCityList().isEmpty()) { |
| | | userDataCountRequest.setCityList(loginUser.getCityList()); |
| | | } |
| | | // else { |
| | | //// userDataCountRequest.getCityList().addAll(loginUser.getCityList()); |
| | | // } |
| | | R<List<Integer>> listR = orderClient.queryIdsBycodeAndSite(userDataCountRequest.getCityList(),userDataCountRequest.getSiteIds()); |
| | | |
| | | return R.ok(userService.userDataCount1(userDataCountRequest, listR.getData(),userDataCountRequest.getSiteIds())); |
| | | |
| | | } |
| | | return R.ok(userService.userDataCount(userDataCountRequest)); |
| | | } |
| | | |
| | | /** |
| | | * 用户增量 |
| | | * |
| | | * @param cityIds 城市id |
| | | * @param cityList 城市列表 |
| | | */ |
| | | @RequiresPermissions("homepage") |
| | | @ApiOperation(value = "后台-用户增量", tags = {"后台-首页"}) |
| | | @PostMapping(value = "/userTrends") |
| | | public R<List<UserTrendsVO>> userTrends(@RequestBody List<String> cityIds) { |
| | | return R.ok(userService.userTrends(cityIds)); |
| | | public R<List<UserTrendsVO>> userTrends(@RequestBody List<String> cityList) { |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | if (null == loginUser) { |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | if (loginUser.getIsFranchisee()||!cityList.isEmpty()) { |
| | | if (null == cityList || cityList.isEmpty()) { |
| | | cityList = loginUser.getCityList(); |
| | | } |
| | | // else { |
| | | //// cityList.addAll(loginUser.getCityList()); |
| | | // } |
| | | R<List<Integer>> listR = orderClient.queryIdsBycode(cityList); |
| | | |
| | | return R.ok(userService.userTrends1(cityList,listR.getData())); |
| | | } |
| | | return R.ok(userService.userTrends(cityList)); |
| | | } |
| | | |
| | | @Resource |
| | | private FranchiseeService franchiseeService; |
| | | /** |
| | | * 回收订单统计 |
| | | * |
| | | * @param orderCount 查询所需参数 |
| | | */ |
| | | @RequiresPermissions("homepage") |
| | | @ApiOperation(value = "后台-回收订单统计", tags = {"后台-首页"}) |
| | | @PostMapping(value = "/orderCountHome") |
| | | public R<OrderResultVO> orderCountHome(@RequestBody OrderCountRequest orderCount) { |
| | | return R.ok(orderService.orderCountHome(orderCount)); |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | if (null == loginUser) { |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | if (loginUser.getIsFranchisee()) { |
| | | if (null == orderCount.getCityList() || orderCount.getCityList().isEmpty()) { |
| | | orderCount.setCityList(loginUser.getCityList()); |
| | | } else { |
| | | // orderCount.getCityList().addAll(loginUser.getCityList()); |
| | | } |
| | | } |
| | | Integer franchiseeId = loginUser.getSysUser().getFranchiseeId(); |
| | | String[] siteIds = new String[0]; |
| | | if (franchiseeId!=null) { |
| | | Franchisee byId = franchiseeService.getById(franchiseeId); |
| | | siteIds = byId.getSiteIds().split(","); |
| | | orderCount.setSiteIds(siteIds); |
| | | if (loginUser.getIsFranchisee() && siteIds.length == 0) { |
| | | return R.ok(new OrderResultVO()); |
| | | } |
| | | } |
| | | orderCount.setSiteIds(siteIds); |
| | | return orderClient.orderCountHome(orderCount); |
| | | } |
| | | |
| | | /** |
| | | * 师傅接单排行 |
| | | * |
| | | * @param cityIds 城市id集合 |
| | | * @param cityList 城市集合 |
| | | */ |
| | | @RequiresPermissions("homepage") |
| | | @ApiOperation(value = "后台-师傅接单排行", tags = {"后台-首页"}) |
| | | @PostMapping(value = "/workerRanking") |
| | | public R<List<MasterWorkerRankVO>> workerRanking(@RequestBody List<String> cityIds) { |
| | | return R.ok(masterWorkerService.workerRanking(cityIds)); |
| | | public R<List<MasterWorkerRankVO>> workerRanking(@RequestBody List<String> cityList) { |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | if (null == loginUser) { |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | if (loginUser.getIsFranchisee()) { |
| | | if (null == cityList || cityList.isEmpty()) { |
| | | cityList = loginUser.getCityList(); |
| | | } else { |
| | | // cityList.addAll(loginUser.getCityList()); |
| | | } |
| | | } |
| | | List<MasterWorkerRankVO> masterWorkerRankVOS = masterWorkerService.workerRanking(cityList); |
| | | if (masterWorkerRankVOS.size()>10){ |
| | | return R.ok(masterWorkerRankVOS.subList(0,10)); |
| | | } |
| | | return R.ok(masterWorkerService.workerRanking(cityList)); |
| | | } |
| | | |
| | | } |