package com.xzx.gc.system.controller;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.util.StrUtil;
|
import com.xzx.gc.common.Result;
|
import com.xzx.gc.common.annotations.PassToken;
|
import com.xzx.gc.common.constant.CommonEnum;
|
import com.xzx.gc.common.constant.Constants;
|
import com.xzx.gc.common.dto.CommonDto;
|
import com.xzx.gc.common.dto.log.OperationAppLog;
|
import com.xzx.gc.common.request.BaseController;
|
import com.xzx.gc.common.utils.BusinessUtil;
|
import com.xzx.gc.entity.AddressLevelInfo;
|
import com.xzx.gc.entity.BannerInfo;
|
import com.xzx.gc.entity.CoreUser;
|
import com.xzx.gc.model.JsonResult;
|
import com.xzx.gc.model.admin.BannerModel;
|
import com.xzx.gc.model.order.FenceDto;
|
import com.xzx.gc.system.mapper.BannerMapper;
|
import com.xzx.gc.system.service.*;
|
import com.xzx.gc.util.SessionUtil;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Api(tags = "Banner管理")
|
@RestController
|
@Slf4j
|
public class BannerController extends BaseController {
|
|
@Autowired
|
private BannerMapper bannerMapper;
|
|
@Autowired
|
private UserService userService;
|
|
@Autowired
|
private SessionUtil sessionUtil;
|
|
|
@Autowired
|
private FenceService fenceService;
|
|
@Autowired
|
private CityPartnerService cityPartnerService;
|
|
@Autowired
|
private BannerService bannerService;
|
|
/**
|
* banner查询
|
*
|
* @param
|
*/
|
@ApiOperation(value = "banner查询", notes = "extra传经纬度以逗号拼接")
|
@PostMapping("/config/banner/query")
|
@PassToken
|
public Result<List<BannerInfo>> bannerQuery(HttpServletRequest request, @RequestBody(required = false) CommonDto commonDto) {
|
Result result = new Result();
|
List<BannerInfo> bannerInfos = null;
|
//查询用户所属区域ID
|
String location = commonDto.getExtra();
|
Integer townId = null;
|
if (StrUtil.isNotBlank(location)) {
|
AddressLevelInfo byLocation = userService.findByLocation(location);
|
if (byLocation != null) {
|
townId = Convert.toInt(byLocation.getLevel3Id());
|
FenceDto fence = fenceService.getFence(townId.toString(), false, location.split(",")[0], location.split(",")[1], true);
|
if(StrUtil.isNotBlank(fence.getFenceId())){
|
townId = Convert.toInt(fenceService.findTownId(townId.toString(), fence.getFenceId()));
|
}
|
}
|
}
|
|
|
if (townId != null) {
|
bannerInfos = bannerMapper.findByAreaId(townId);
|
}
|
|
if (CollUtil.isEmpty(bannerInfos)) {
|
bannerInfos = bannerMapper.findByAreaId(Convert.toInt(Constants.DEFAULT_ID));
|
}
|
|
result.setData(bannerInfos);
|
return result;
|
}
|
|
|
/**
|
* 查询
|
* @param bannerModel
|
* @return
|
*/
|
@PostMapping( "/admin/front/banner/queryBannerApiList.do")
|
@ResponseBody
|
@ApiOperation(value="运营管理-banner管理", notes="test: 仅0有正确返回")
|
public JsonResult<Map<String, Object>> queryBannerApiList(@RequestBody BannerModel bannerModel){
|
List<String> partnerIds = new ArrayList<>();
|
if(null!=bannerModel.getPartnerId()&&!"".equals(bannerModel.getPartnerId())){
|
partnerIds.add(bannerModel.getPartnerId());
|
}else{
|
partnerIds = cityPartnerService.queryPartnerByCurrent();
|
}
|
if(null!=partnerIds&&partnerIds.size()>0){
|
//CoreUser user = platformService.getCurrentUser();
|
bannerModel.setPartnerId(partnerIds.get(0));
|
}
|
Map<String, Object> map = bannerService.queryBannerApiList(bannerModel);
|
return JsonResult.success(map);
|
|
}
|
|
/**
|
* 添加
|
* @param bannerModel
|
* @return
|
*/
|
@PostMapping("/admin/front/banner/insertBannerApi.json")
|
@ResponseBody
|
@ApiOperation(value="运营管理-banner添加", notes="test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query", name = "picName", value = "图片名称", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "picPath", value = "图片路径", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "picUrl", value = "图片链接", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "sort", value = "排序", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "townIdList", value = "区域Id列表", required = true, dataType = "List<String>")
|
|
})
|
public JsonResult insertBannerApi(@RequestBody BannerModel bannerModel,HttpServletRequest request){
|
List<String> partnerIds = cityPartnerService.queryPartnerByCurrent();
|
if(null!=partnerIds&&partnerIds.size()>0){
|
CoreUser user = sessionUtil.getCurrentUser();
|
bannerModel.setPartnerId(user.getId()+"");
|
|
}
|
if(null!=bannerModel.getTownIdList()&&bannerModel.getTownIdList().size()>0){
|
List<String> townIdList = bannerModel.getTownIdList();
|
for (String townId:townIdList) {
|
bannerModel.setCityId(townId);
|
bannerService.insertBannerApi(bannerModel);
|
}
|
}else{
|
bannerService.insertBannerApi(bannerModel);
|
}
|
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.SYS_MODUL_NAME).operateAction("banner添加-"+bannerModel.getId()).build();
|
mqUtil.sendApp(build);
|
|
return JsonResult.success("添加成功!");
|
|
}
|
|
/**
|
* 更新
|
* @param bannerModel
|
* @return
|
*/
|
@PostMapping("/admin/front/banner/updateBannerApi.json")
|
@ResponseBody
|
@ApiOperation(value="运营管理-banner更新", notes="test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query", name = "id", value = "banner的Id", required = true, dataType = "int"),
|
@ApiImplicitParam(paramType="query", name = "picName", value = "图片名称", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "picPath", value = "图片路径", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "picUrl", value = "图片链接", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "sort", value = "排序", required = true, dataType = "String")
|
})
|
public JsonResult<Map<String, Object>> updateBannerApi(@RequestBody BannerModel bannerModel, HttpServletRequest request){
|
Map<String,Object> map = new HashMap<>();
|
map.put("code",0);
|
map.put("num",bannerService.updateBannerApi(bannerModel));
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.SYS_MODUL_NAME).operateAction("banner更新-"+bannerModel.getId()).build();
|
mqUtil.sendApp(build);
|
return JsonResult.success(map);
|
}
|
|
/**
|
* 删除
|
* @param bannerModel
|
* @return
|
*/
|
@PostMapping("/admin/front/banner/delBannerApi.json")
|
@ResponseBody
|
@ApiOperation(value="运营管理-banner删除", notes="test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query", name = "id", value = "banner的Id", required = true, dataType = "int")
|
})
|
public JsonResult<Map<String, Object>> delBannerApi(@RequestBody BannerModel bannerModel,HttpServletRequest request){
|
Map<String,Object> map = new HashMap<>();
|
map.put("code",0);
|
map.put("num",bannerService.delBannerApi(String.valueOf(bannerModel.getId())));
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.SYS_MODUL_NAME).operateAction("banner删除-"+bannerModel.getId()).build();
|
mqUtil.sendApp(build);
|
return JsonResult.success(map);
|
}
|
}
|