店铺(即师傅-商品)详情的查询接口
This commit is contained in:
parent
6a92f40b51
commit
7f907a3863
|
|
@ -22,6 +22,7 @@ import com.ghy.worker.service.WorkerService;
|
||||||
import com.ghy.worker.service.WorkerSpecialSkillService;
|
import com.ghy.worker.service.WorkerSpecialSkillService;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
|
import org.apache.shiro.util.Assert;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
@ -69,44 +70,76 @@ public class WorkerController extends BaseController {
|
||||||
{
|
{
|
||||||
List<WorkerListResponse> resList = new ArrayList<WorkerListResponse>();
|
List<WorkerListResponse> resList = new ArrayList<WorkerListResponse>();
|
||||||
|
|
||||||
// 查询满足区域条件的师傅区域记录
|
try {
|
||||||
WorkerArea workerArea = new WorkerArea();
|
// 查询满足区域条件的师傅区域记录
|
||||||
workerArea.setDistrictId(workerListRequest.getAreaId());
|
WorkerArea workerArea = new WorkerArea();
|
||||||
List<WorkerArea> workerAreaList = workerAreaService.getWorkerAreaList(workerArea);
|
workerArea.setDistrictId(workerListRequest.getAreaId());
|
||||||
List<Long> workerIdsByArea = workerAreaList.stream().map(WorkerArea::getWorkerId).collect(Collectors.toList());
|
List<WorkerArea> workerAreaList = workerAreaService.getWorkerAreaList(workerArea);
|
||||||
// 查询满足技能条件的师傅技能记录
|
List<Long> workerIdsByArea = workerAreaList.stream().map(WorkerArea::getWorkerId).collect(Collectors.toList());
|
||||||
WorkerGoodsCategory workerGoodsCategory = new WorkerGoodsCategory();
|
// 查询满足技能条件的师傅技能记录
|
||||||
workerGoodsCategory.setGoodsCategoryId(workerListRequest.getGoodsCategoryId());
|
WorkerGoodsCategory workerGoodsCategory = new WorkerGoodsCategory();
|
||||||
List<WorkerGoodsCategory> workerGoodsCategoryList = workerGoodsCategoryService.getWorkerGoodsCategory(workerGoodsCategory);
|
workerGoodsCategory.setGoodsCategoryId(workerListRequest.getGoodsCategoryId());
|
||||||
List<Long> workerIdsByCategory = workerGoodsCategoryList.stream().map(WorkerGoodsCategory::getWorkerId).collect(Collectors.toList());
|
List<WorkerGoodsCategory> workerGoodsCategoryList = workerGoodsCategoryService.getWorkerGoodsCategory(workerGoodsCategory);
|
||||||
// 两个list中的workerid取交集
|
List<Long> workerIdsByCategory = workerGoodsCategoryList.stream().map(WorkerGoodsCategory::getWorkerId).collect(Collectors.toList());
|
||||||
List<Long> resWorkerIds = new ArrayList<>(CollectionUtils.intersection(workerIdsByArea, workerIdsByCategory));
|
// 两个list中的workerid取交集
|
||||||
|
List<Long> resWorkerIds = new ArrayList<>(CollectionUtils.intersection(workerIdsByArea, workerIdsByCategory));
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(resWorkerIds)) {
|
if (CollectionUtils.isEmpty(resWorkerIds)) {
|
||||||
// 交集不存在的情况直接返回空list
|
// 交集不存在的情况直接返回空list
|
||||||
return getDataTable(resList);
|
return getDataTable(resList);
|
||||||
|
}
|
||||||
|
|
||||||
|
startPage();
|
||||||
|
Worker worker = new Worker();
|
||||||
|
worker.setWorkerIds(CollectionUtils.isNotEmpty(resWorkerIds) ? resWorkerIds : null);
|
||||||
|
worker.setName(workerListRequest.getWorkerName());
|
||||||
|
List<Worker> list = workerService.getWorkList(worker);
|
||||||
|
list.forEach(w -> {
|
||||||
|
Goods goods = new Goods();
|
||||||
|
goods.setWorkerId(w.getWorkerId());
|
||||||
|
goods.setStatus(Integer.valueOf(GoodsStatus.OK.getCode()));
|
||||||
|
WorkerListResponse workerListResponse = JSONObject.parseObject(JSON.toJSONString(w), WorkerListResponse.class);
|
||||||
|
workerListResponse.setGoodsList(goodsService.selectGoodsList(goods));
|
||||||
|
workerListResponse.setWorkerAreas(workerAreaService.getByWorker(w.getWorkerId()));
|
||||||
|
workerListResponse.setGoodsCategories(workerGoodsCategoryService.getByWorker(w.getWorkerId()));
|
||||||
|
workerListResponse.setSpecialSkills(specialSkillService.getByWorker(w.getWorkerId()));
|
||||||
|
resList.add(workerListResponse);
|
||||||
|
});
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
logger.error(ExceptionUtil.getExceptionMessage(e));
|
||||||
}
|
}
|
||||||
|
|
||||||
startPage();
|
|
||||||
Worker worker = new Worker();
|
|
||||||
worker.setWorkerIds(CollectionUtils.isNotEmpty(resWorkerIds) ? resWorkerIds : null);
|
|
||||||
worker.setName(workerListRequest.getWorkerName());
|
|
||||||
List<Worker> list = workerService.getWorkList(worker);
|
|
||||||
list.forEach(w -> {
|
|
||||||
Goods goods = new Goods();
|
|
||||||
goods.setWorkerId(w.getWorkerId());
|
|
||||||
goods.setStatus(Integer.valueOf(GoodsStatus.OK.getCode()));
|
|
||||||
WorkerListResponse workerListResponse = JSONObject.parseObject(JSON.toJSONString(w), WorkerListResponse.class);
|
|
||||||
workerListResponse.setGoodsList(goodsService.selectGoodsList(goods));
|
|
||||||
workerListResponse.setWorkerAreas(workerAreaService.getByWorker(w.getWorkerId()));
|
|
||||||
workerListResponse.setGoodsCategories(workerGoodsCategoryService.getByWorker(w.getWorkerId()));
|
|
||||||
workerListResponse.setSpecialSkills(specialSkillService.getByWorker(w.getWorkerId()));
|
|
||||||
resList.add(workerListResponse);
|
|
||||||
});
|
|
||||||
|
|
||||||
return getDataTable(resList);
|
return getDataTable(resList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/getDetailById")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult getDetailById(@RequestBody WorkerListRequest workerListRequest)
|
||||||
|
{
|
||||||
|
WorkerListResponse workerListResponse = new WorkerListResponse();
|
||||||
|
|
||||||
|
try {
|
||||||
|
Assert.notNull(workerListRequest.getWorkerId(), "Worker id can not be null");
|
||||||
|
|
||||||
|
Worker worker = workerService.selectById(workerListRequest.getWorkerId());
|
||||||
|
Goods goods = new Goods();
|
||||||
|
goods.setWorkerId(workerListRequest.getWorkerId());
|
||||||
|
goods.setStatus(Integer.valueOf(GoodsStatus.OK.getCode()));
|
||||||
|
workerListResponse = JSONObject.parseObject(JSON.toJSONString(worker), WorkerListResponse.class);
|
||||||
|
workerListResponse.setGoodsList(goodsService.selectGoodsList(goods));
|
||||||
|
workerListResponse.setWorkerAreas(workerAreaService.getByWorker(worker.getWorkerId()));
|
||||||
|
workerListResponse.setGoodsCategories(workerGoodsCategoryService.getByWorker(worker.getWorkerId()));
|
||||||
|
workerListResponse.setSpecialSkills(specialSkillService.getByWorker(worker.getWorkerId()));
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
logger.error(ExceptionUtil.getExceptionMessage(e));
|
||||||
|
return AjaxResult.error(e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
return AjaxResult.success(workerListResponse);
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/update")
|
@PostMapping("/update")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult updateWorker(@RequestBody Worker worker){
|
public AjaxResult updateWorker(@RequestBody Worker worker){
|
||||||
|
|
|
||||||
|
|
@ -14,4 +14,6 @@ public class WorkerListRequest {
|
||||||
private Long goodsCategoryId;
|
private Long goodsCategoryId;
|
||||||
|
|
||||||
private String workerName;
|
private String workerName;
|
||||||
|
|
||||||
|
private Long workerId;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue