package com.dsh.other.controller;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.dsh.other.entity.HomeModule;
|
import com.dsh.other.entity.StoreConfig;
|
import com.dsh.other.feignclient.communityWorldCup.WorldCupClient;
|
import com.dsh.other.feignclient.communityWorldCup.WorldCupStoreClient;
|
import com.dsh.other.feignclient.communityWorldCup.model.WorldCup;
|
import com.dsh.other.feignclient.communityWorldCup.model.WorldCupStore;
|
import com.dsh.other.model.StoreConfigVo;
|
import com.dsh.other.service.IHomeModuleService;
|
import com.dsh.other.service.StoreConfigService;
|
import com.dsh.other.util.ResultUtil;
|
import com.dsh.other.util.ToolUtil;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.util.StringUtils;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.Collections;
|
import java.util.Comparator;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
* @author zhibing.pu
|
* @date 2023/6/24 16:11
|
*/
|
@RestController
|
@RequestMapping("")
|
public class StoreConfigController {
|
|
@Autowired
|
private StoreConfigService storeConfigService;
|
|
@Autowired
|
private IHomeModuleService homeModuleService;
|
|
@Resource
|
private WorldCupStoreClient worldCupStoreClient;
|
|
@Resource
|
private WorldCupClient worldCupClient;
|
|
|
|
|
|
|
@ResponseBody
|
@PostMapping("/base/store/queryStoreConfig")
|
@ApiOperation(value = "获取门店模块配置【2.0】", tags = {"APP-加入玩湃"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "门店id", name = "storeId", dataType = "int", required = true),
|
})
|
public ResultUtil<List<StoreConfigVo>> queryStoreConfig(Integer storeId) {
|
if (null == storeId) {
|
return ResultUtil.paranErr("storeId");
|
}
|
try {
|
List<StoreConfig> list = storeConfigService.list(new QueryWrapper<StoreConfig>().eq("storeId", storeId)
|
.orderByAsc("sort").eq("isOpen", 1));
|
HomeModule homeModule = homeModuleService.getOne(new QueryWrapper<HomeModule>().eq("isOpen", 1));
|
List<StoreConfigVo> listVo = new ArrayList<>();
|
if(null != homeModule){
|
StoreConfigVo vo = new StoreConfigVo();
|
vo.setType(0);
|
vo.setIsOpen(homeModule.getIsOpen());
|
vo.setIsTop(homeModule.getIsTop());
|
vo.setSort(homeModule.getSort());
|
vo.setBackgroundImage(homeModule.getBackgroundImage());
|
vo.setDisplayType(homeModule.getDisplayType());
|
listVo.add(vo);
|
}
|
for (StoreConfig storeConfig : list) {
|
StoreConfigVo storeConfigVo = new StoreConfigVo();
|
storeConfigVo.setIsTop(0);
|
BeanUtils.copyProperties(storeConfig, storeConfigVo);
|
if (!StringUtils.hasLength(storeConfig.getBackgroundImage())) {
|
switch (storeConfigVo.getType()) {
|
case 1: {
|
storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/8b7073a4d33d4eea9f0d173cb4db92a7.png");
|
break;
|
}
|
case 2: {
|
storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/f60f1622ae184475ad703ec60bbcbeff.png");
|
break;
|
}
|
case 3: {
|
storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/08c5eca72fca4d479d21905d25870ef8.png");
|
break;
|
}
|
case 4: {
|
storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/8602be35e6cf4f76819b7b2d7b588efc.png");
|
break;
|
}
|
case 5: {
|
storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/694f84a1e2ba4d2c919f4f4ffaadece2.png");
|
break;
|
}
|
case 6: {
|
storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/81a83d229fea46a78be6a3ec1d5b7d6e.png");
|
break;
|
}
|
case 7: {
|
storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/312763e7565c48f2a16021c162c76018.png");
|
break;
|
}
|
case 8: {
|
storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/0771fb3bd4de43c08492d0912209e51f.png");
|
break;
|
}
|
|
}
|
}
|
|
listVo.add(storeConfigVo);
|
}
|
|
List<WorldCupStore> worldCupStoreList = worldCupStoreClient.getWorldCupStoreList(storeId);
|
for (WorldCupStore worldCupStore : worldCupStoreList) {
|
WorldCup worldCup = worldCupClient.getWorldCup(worldCupStore.getWorldCupId());
|
StoreConfigVo storeConfigVo = new StoreConfigVo();
|
storeConfigVo.setIsTop(0);
|
storeConfigVo.setId(worldCupStore.getWorldCupId());
|
storeConfigVo.setBackgroundImage(ToolUtil.isNotEmpty(worldCupStore.getBackgroundImage()) ? worldCupStore.getBackgroundImage() : worldCup.getHomeBackdropImg());
|
storeConfigVo.setType(9);
|
storeConfigVo.setIsOpen(worldCupStore.getIsOpen());
|
storeConfigVo.setDisplayType(worldCupStore.getDisplayType());
|
storeConfigVo.setSort(worldCupStore.getSort());
|
listVo.add(storeConfigVo);
|
}
|
|
|
//排序
|
Collections.sort(listVo, new Comparator<StoreConfigVo>() {
|
@Override
|
public int compare(StoreConfigVo o1, StoreConfigVo o2) {
|
return o1.getSort().compareTo(o2.getSort());
|
}
|
});
|
//排序
|
Collections.sort(listVo, new Comparator<StoreConfigVo>() {
|
@Override
|
public int compare(StoreConfigVo o1, StoreConfigVo o2) {
|
return o1.getIsTop().compareTo(o2.getIsTop()) * -1;
|
}
|
});
|
for (int i = 0; i < listVo.size(); i++) {
|
listVo.get(i).setSort(i + 1);
|
}
|
return ResultUtil.success(listVo);
|
} catch (Exception e) {
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
|
|
|
|
}
|