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 list = cityMapper.selectList(new QueryWrapper().eq("pid", 0)); List openCities = openCityService.getBaseMapper().selectList(new QueryWrapper().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 openCities = openCityService.getBaseMapper().selectList(new QueryWrapper().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> page = new PageFactory>().defaultPage(); List> advertisementList = advertisementClient.getAdvertisementList(new QueryAdvertisementReq(page, beginTime, endTime, type, name)); for (Map 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 openCities = openCityMapper.selectList(new LambdaQueryWrapper().ne(BaseBean::getFlag,3).eq(OpenCity::getAreaId, code)); return openCities; } }