|
|
@ -22,6 +22,7 @@ import cc.hiver.mall.pojo.vo.WorkerRedisVo; |
|
|
import cc.hiver.mall.service.RechargeService; |
|
|
import cc.hiver.mall.service.RechargeService; |
|
|
import cc.hiver.mall.service.ShopAreaService; |
|
|
import cc.hiver.mall.service.ShopAreaService; |
|
|
import cc.hiver.mall.service.ShopService; |
|
|
import cc.hiver.mall.service.ShopService; |
|
|
|
|
|
import cc.hiver.mall.service.mybatis.BaseDeliveryFeeSettingService; |
|
|
import cc.hiver.mall.service.mybatis.WorkerRelaPriceService; |
|
|
import cc.hiver.mall.service.mybatis.WorkerRelaPriceService; |
|
|
import cc.hiver.mall.utils.WaitOrderCacheUtil; |
|
|
import cc.hiver.mall.utils.WaitOrderCacheUtil; |
|
|
import cc.hiver.mall.utils.WorkerOrderCacheUtil; |
|
|
import cc.hiver.mall.utils.WorkerOrderCacheUtil; |
|
|
@ -94,6 +95,9 @@ public class WorkerController { |
|
|
@Autowired |
|
|
@Autowired |
|
|
private RedisTemplateHelper redisTemplateHelper; |
|
|
private RedisTemplateHelper redisTemplateHelper; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private BaseDeliveryFeeSettingService baseDeliveryFeeSettingService; |
|
|
|
|
|
|
|
|
@RequestMapping(value = "/getByCondition", method = RequestMethod.POST) |
|
|
@RequestMapping(value = "/getByCondition", method = RequestMethod.POST) |
|
|
@ApiOperation(value = "多条件分页获取订单列表") |
|
|
@ApiOperation(value = "多条件分页获取订单列表") |
|
|
public Result<org.springframework.data.domain.Page<Worker>> getByCondition(@RequestBody WorkerQueryVO worker) { |
|
|
public Result<org.springframework.data.domain.Page<Worker>> getByCondition(@RequestBody WorkerQueryVO worker) { |
|
|
@ -144,7 +148,7 @@ public class WorkerController { |
|
|
if(u.getIsChangeArea() != null && u.getIsChangeArea() == 0){ |
|
|
if(u.getIsChangeArea() != null && u.getIsChangeArea() == 0){ |
|
|
return new ResultUtil<Worker>().setData(worker); |
|
|
return new ResultUtil<Worker>().setData(worker); |
|
|
}else{ |
|
|
}else{ |
|
|
u.setWorkerName(user.getNickname()); |
|
|
u.setWorkerName(user.getNickname() == null ? "半径骑士" : user.getNickname()); |
|
|
u.setUserId(user.getId()); |
|
|
u.setUserId(user.getId()); |
|
|
u.setAvgTime(BigDecimal.valueOf(25)); |
|
|
u.setAvgTime(BigDecimal.valueOf(25)); |
|
|
u.setMobile(user.getMobile()); |
|
|
u.setMobile(user.getMobile()); |
|
|
@ -565,10 +569,12 @@ public class WorkerController { |
|
|
@ApiOperation(value = "查询各食堂区域在线配送员数量") |
|
|
@ApiOperation(value = "查询各食堂区域在线配送员数量") |
|
|
public Result<List<WorkerAreaOnlineCountVO>> getOnlineWorkerByArea(@RequestParam(value = "parentId")String parentId) { |
|
|
public Result<List<WorkerAreaOnlineCountVO>> getOnlineWorkerByArea(@RequestParam(value = "parentId")String parentId) { |
|
|
String cacheKey = ONLINE_WORKER_AREA_COUNT_CACHE_PREFIX + parentId; |
|
|
String cacheKey = ONLINE_WORKER_AREA_COUNT_CACHE_PREFIX + parentId; |
|
|
|
|
|
BigDecimal baseDeliveryFee = baseDeliveryFeeSettingService.getFeeByRegionId(parentId); |
|
|
String cacheJson = redisTemplateHelper.get(cacheKey); |
|
|
String cacheJson = redisTemplateHelper.get(cacheKey); |
|
|
if (StrUtil.isNotBlank(cacheJson)) { |
|
|
if (StrUtil.isNotBlank(cacheJson)) { |
|
|
try { |
|
|
try { |
|
|
List<WorkerAreaOnlineCountVO> cacheList = JSONUtil.toList(cacheJson, WorkerAreaOnlineCountVO.class); |
|
|
List<WorkerAreaOnlineCountVO> cacheList = JSONUtil.toList(cacheJson, WorkerAreaOnlineCountVO.class); |
|
|
|
|
|
fillBaseDeliveryFee(cacheList, baseDeliveryFee); |
|
|
return new ResultUtil<List<WorkerAreaOnlineCountVO>>().setData(cacheList); |
|
|
return new ResultUtil<List<WorkerAreaOnlineCountVO>>().setData(cacheList); |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
redisTemplateHelper.delete(cacheKey); |
|
|
redisTemplateHelper.delete(cacheKey); |
|
|
@ -610,16 +616,27 @@ public class WorkerController { |
|
|
countVO.setAreaName(entry.getValue()); |
|
|
countVO.setAreaName(entry.getValue()); |
|
|
Set<String> workers = areaWorkerMap.get(entry.getKey()); |
|
|
Set<String> workers = areaWorkerMap.get(entry.getKey()); |
|
|
countVO.setOnlineWorkerCount(workers != null ? workers.size() : 0); |
|
|
countVO.setOnlineWorkerCount(workers != null ? workers.size() : 0); |
|
|
|
|
|
countVO.setBaseDeliveryFee(baseDeliveryFee); |
|
|
result.add(countVO); |
|
|
result.add(countVO); |
|
|
} |
|
|
} |
|
|
redisTemplateHelper.set(cacheKey, JSONUtil.toJsonStr(result), ONLINE_WORKER_AREA_COUNT_CACHE_SECONDS, TimeUnit.SECONDS); |
|
|
redisTemplateHelper.set(cacheKey, JSONUtil.toJsonStr(result), ONLINE_WORKER_AREA_COUNT_CACHE_SECONDS, TimeUnit.SECONDS); |
|
|
return new ResultUtil<List<WorkerAreaOnlineCountVO>>().setData(result); |
|
|
return new ResultUtil<List<WorkerAreaOnlineCountVO>>().setData(result); |
|
|
} |
|
|
} |
|
|
List<WorkerAreaOnlineCountVO> list = workerRelaPriceMapper.getOnlineWorkerCountByCanteenArea(parentId); |
|
|
List<WorkerAreaOnlineCountVO> list = workerRelaPriceMapper.getOnlineWorkerCountByCanteenArea(parentId); |
|
|
|
|
|
fillBaseDeliveryFee(list, baseDeliveryFee); |
|
|
redisTemplateHelper.set(cacheKey, JSONUtil.toJsonStr(list), ONLINE_WORKER_AREA_COUNT_CACHE_SECONDS, TimeUnit.SECONDS); |
|
|
redisTemplateHelper.set(cacheKey, JSONUtil.toJsonStr(list), ONLINE_WORKER_AREA_COUNT_CACHE_SECONDS, TimeUnit.SECONDS); |
|
|
return new ResultUtil<List<WorkerAreaOnlineCountVO>>().setData(list); |
|
|
return new ResultUtil<List<WorkerAreaOnlineCountVO>>().setData(list); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void fillBaseDeliveryFee(List<WorkerAreaOnlineCountVO> list, BigDecimal baseDeliveryFee) { |
|
|
|
|
|
if (list == null) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
for (WorkerAreaOnlineCountVO item : list) { |
|
|
|
|
|
item.setBaseDeliveryFee(baseDeliveryFee); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
@RequestMapping(value = "/getByWorkerId", method = RequestMethod.GET) |
|
|
@RequestMapping(value = "/getByWorkerId", method = RequestMethod.GET) |
|
|
@ApiOperation(value = "查询配送员信息") |
|
|
@ApiOperation(value = "查询配送员信息") |
|
|
public Result<Worker> getByWorkerId(@RequestParam(value = "workerId")String workerId) { |
|
|
public Result<Worker> getByWorkerId(@RequestParam(value = "workerId")String workerId) { |
|
|
|