package com.dsh.guns.modular.system.controller.general;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.dsh.course.entity.BaseBean;
|
import com.dsh.course.entity.OpenCity;
|
import com.dsh.course.feignClient.activity.AdvertisementClient;
|
import com.dsh.course.feignClient.activity.model.QueryAdvertisementReq;
|
import com.dsh.course.mapper.CityMapper;
|
import com.dsh.course.mapper.OpenCityMapper;
|
import com.dsh.guns.config.UserExt;
|
import com.dsh.guns.core.base.controller.BaseController;
|
import com.dsh.guns.core.common.constant.factory.PageFactory;
|
import com.dsh.guns.core.log.LogObjectHolder;
|
import com.dsh.guns.core.util.SinataUtil;
|
import com.dsh.guns.modular.system.model.TAdvertisement;
|
import com.dsh.guns.modular.system.model.TOpenCity;
|
import com.dsh.guns.modular.system.service.ITOpenCityService;
|
import com.dsh.guns.modular.system.service.ITRegionService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 广告设置控制器
|
*
|
* @author fengshuonan
|
* @Date 2020-06-02 09:36:03
|
*/
|
@Controller
|
@RequestMapping("/tAdvertisement")
|
public class TAdvertisementController extends BaseController {
|
|
private String PREFIX = "/system/tAdvertisement/";
|
|
@Autowired
|
private AdvertisementClient advertisementClient;
|
|
@Autowired
|
private ITRegionService tRegionService;
|
|
@Autowired
|
private CityMapper cityMapper;
|
|
@Autowired
|
private OpenCityMapper openCityMapper;
|
|
@Autowired
|
private ITOpenCityService openCityService;
|
|
/**
|
* 跳转到广告设置首页
|
*/
|
@RequestMapping("")
|
public String index(Model model) {
|
model.addAttribute("language", UserExt.getLanguage());
|
return PREFIX + "tAdvertisement.html";
|
}
|
|
/**
|
* 跳转到添加广告设置
|
*/
|
@RequestMapping("/tAdvertisement_add")
|
public String tAdvertisementAdd(Model model) {
|
// List<City> list = cityMapper.selectList(new QueryWrapper<City>().eq("pid", 0));
|
List<TOpenCity> openCities = openCityService.getBaseMapper().selectList(new QueryWrapper<TOpenCity>().ne("flag", 3));
|
model.addAttribute("openCity",openCities);
|
model.addAttribute("language",UserExt.getLanguage());
|
return PREFIX + "tAdvertisement_add.html";
|
}
|
|
/**
|
* 跳转到修改广告设置
|
*/
|
@RequestMapping("/tAdvertisement_update/{tAdvertisementId}")
|
public String tAdvertisementUpdate(@PathVariable Integer tAdvertisementId, Model model) {
|
TAdvertisement tAdvertisement = advertisementClient.queryAdvertisementById(tAdvertisementId);
|
model.addAttribute("item",tAdvertisement);
|
LogObjectHolder.me().set(tAdvertisement);
|
List<TOpenCity> openCities = openCityService.getBaseMapper().selectList(new QueryWrapper<TOpenCity>().ne("flag", 3));
|
model.addAttribute("openCity",openCities);
|
model.addAttribute("language",UserExt.getLanguage());
|
return PREFIX + "tAdvertisement_edit.html";
|
}
|
|
/**
|
* 获取广告设置列表
|
*/
|
@RequestMapping(value = "/list")
|
@ResponseBody
|
public Object list(String insertTime,
|
String name,
|
Integer type) {
|
String beginTime = null;
|
String endTime = null;
|
if (SinataUtil.isNotEmpty(insertTime)){
|
String[] timeArray = insertTime.split(" - ");
|
beginTime = timeArray[0];
|
endTime = timeArray[1];
|
}
|
Integer language = UserExt.getLanguage();
|
Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
|
List<Map<String, Object>> advertisementList = advertisementClient.getAdvertisementList(new QueryAdvertisementReq(page, beginTime, endTime, type, name));
|
for (Map<String, Object> map : advertisementList) {
|
TOpenCity openCity = openCityService.getBaseMapper().selectById(Integer.valueOf(map.get("openCityId").toString()));
|
if(null != openCity){
|
map.put("openCityName", language == 1 ? openCity.getChineseName() : language == 2 ? openCity.getEnglishName() : openCity.getIndonesianName());
|
}
|
}
|
page.setRecords(advertisementList);
|
return super.packForBT(page);
|
}
|
|
/**
|
* 新增广告设置
|
*/
|
@RequestMapping(value = "/add")
|
@ResponseBody
|
public Object add(TAdvertisement tAdvertisement,Integer cityId) {
|
tAdvertisement.setInsertTime(new Date());
|
// tAdvertisement.setInsertUser(ShiroKit.getUser().getId());
|
tAdvertisement.setCityId(cityId);
|
advertisementClient.saveAdvertisement(tAdvertisement);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 删除广告设置
|
*/
|
@RequestMapping(value = "/delete")
|
@ResponseBody
|
public Object delete(@RequestParam Integer tAdvertisementId) {
|
advertisementClient.deleteAdvertisementById(tAdvertisementId);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 操作广告设置
|
*/
|
@RequestMapping(value = "/opt")
|
@ResponseBody
|
public Object opt(@RequestParam Integer tAdvertisementId,@RequestParam Integer optType) {
|
TAdvertisement tAdvertisement = advertisementClient.queryAdvertisementById(tAdvertisementId);
|
if (SinataUtil.isNotEmpty(tAdvertisement)){
|
if (1 == optType.intValue()){ //上线 online
|
tAdvertisement.setState(1);
|
}else if (2 == optType.intValue()){ //下线 off-line
|
tAdvertisement.setState(2);
|
}
|
tAdvertisement.setUpdateTime(new Date());
|
// tAdvertisement.setUpdateUser(ShiroKit.getUser().getId());
|
advertisementClient.updateAdvertisementById(tAdvertisement);
|
}
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 修改广告设置
|
*/
|
@RequestMapping(value = "/update")
|
@ResponseBody
|
public Object update(TAdvertisement tAdvertisement,Integer cityId) {
|
tAdvertisement.setUpdateTime(new Date());
|
// tAdvertisement.setUpdateUser(ShiroKit.getUser().getId());
|
tAdvertisement.setCityId(cityId);
|
advertisementClient.updateAdvertisementById(tAdvertisement);
|
return SUCCESS_TIP;
|
}
|
|
|
@RequestMapping(value = "/change")
|
@ResponseBody
|
public Object change(Integer code) {
|
List<OpenCity> openCities = openCityMapper.selectList(new LambdaQueryWrapper<OpenCity>().ne(BaseBean::getFlag,3).eq(OpenCity::getAreaId, code));
|
return openCities;
|
}
|
}
|