| @@ -136,6 +136,7 @@ public class ShiroConfig { | |||
| filterChainDefinitionMap.put("/webjars/**", "anon"); | |||
| filterChainDefinitionMap.put("/version", "anon"); | |||
| filterChainDefinitionMap.put("/wxDeviceScreenAd/**", "anon"); | |||
| // filterChainDefinitionMap.put("/role/**", "corsFilter,token"); | |||
| @@ -35,8 +35,8 @@ public class WxDeviceController extends BaseController { | |||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||
| public Result list(@RequestBody WxDevice wxDevice, Integer pageNum, Integer pageSize) { | |||
| wxDeviceService.listAsPage(wxDevice, pageNum,pageSize); | |||
| return new ResultData(); | |||
| wxDevice.setTenantId(getTenantId()); | |||
| return new ResultData(wxDeviceService.listAsPage(wxDevice, pageNum,pageSize)); | |||
| } | |||
| @ApiOperation("添加设备") | |||
| @@ -51,7 +51,7 @@ public class WxDeviceController extends BaseController { | |||
| return new ResultData(ErrorCode.DEVICE_ALREADY_EXIST); | |||
| wxDevice.setStatus(EnumDeviceStatus.INIT.getCode()); | |||
| wxDevice.setOnlineStatus(EnumDeviceOnlineStatus.OFFLINE.getCode()); | |||
| wxDevice.setTenantId(getTenantId()); | |||
| wxDeviceService.saveOrUpdate(wxDevice); | |||
| return new ResultData(); | |||
| } | |||
| @@ -63,6 +63,7 @@ public class WxDeviceController extends BaseController { | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| if (wxDevice.getId() == null) | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| wxDevice.setTenantId(getTenantId()); | |||
| wxDeviceService.saveOrUpdate(wxDevice); | |||
| return new ResultData(); | |||
| } | |||
| @@ -86,6 +87,7 @@ public class WxDeviceController extends BaseController { | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| WxDevice wxDevice = new WxDevice(); | |||
| wxDevice.setId(id); | |||
| wxDevice.setTenantId(getTenantId()); | |||
| wxDevice.setStatus(EnumDeviceStatus.INVALID.getCode()); | |||
| wxDeviceService.saveOrUpdate(wxDevice); | |||
| return new ResultData(); | |||
| @@ -0,0 +1,102 @@ | |||
| package com.iformall.controller; | |||
| import com.github.pagehelper.Page; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.common.Result; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.domain.po.WxDevice; | |||
| import com.iformall.domain.po.WxScreenAd; | |||
| import com.iformall.enums.EnumScreenAdStatus; | |||
| import com.iformall.enums.EnumScreenAdType; | |||
| import com.iformall.service.WxCampaignService; | |||
| import com.iformall.service.WxCouponChannelService; | |||
| import com.iformall.service.WxDeviceService; | |||
| import com.iformall.service.WxScreenAdService; | |||
| import io.swagger.annotations.Api; | |||
| import io.swagger.annotations.ApiImplicitParam; | |||
| import io.swagger.annotations.ApiImplicitParams; | |||
| import io.swagger.annotations.ApiOperation; | |||
| import org.slf4j.Logger; | |||
| import org.slf4j.LoggerFactory; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.web.bind.annotation.*; | |||
| import java.util.List; | |||
| @RestController | |||
| @RequestMapping("wxDeviceScreenAd") | |||
| @Api(description="广告屏") | |||
| public class WxDeviceScreenAdController extends BaseController { | |||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||
| @Autowired | |||
| private WxScreenAdService wxScreenAdService; | |||
| @Autowired | |||
| private WxDeviceService wxDeviceService; | |||
| @Autowired | |||
| private WxCampaignService wxCampaignService; | |||
| @Autowired | |||
| private WxCouponChannelService wxCouponChannelService; | |||
| private WxDevice findDevice(String deviceId) | |||
| { | |||
| WxDevice wxDevice = new WxDevice(); | |||
| wxDevice.setDeviceId(deviceId); | |||
| wxDevice.setStatus(EnumScreenAdStatus.VALID.getCode()); | |||
| List<WxDevice> list = wxDeviceService.findList(wxDevice); | |||
| if (list.size() < 0) | |||
| return null; | |||
| else | |||
| return list.get(0); | |||
| } | |||
| @ApiOperation("广告列表") | |||
| @GetMapping("list") | |||
| @ApiImplicitParams({ | |||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||
| public Result list(@RequestBody String deviceId, Integer pageNum, Integer pageSize) { | |||
| WxDevice wxDevice = findDevice(deviceId); | |||
| if (wxDevice == null) | |||
| return new ResultData(ErrorCode.DEVICE_NOT_FOUND); | |||
| WxScreenAd wxScreenAd = new WxScreenAd(); | |||
| wxScreenAd.setTenantId(wxDevice.getTenantId()); | |||
| wxScreenAd.setStatus(EnumScreenAdStatus.VALID.getCode()); | |||
| PageInfo<WxScreenAd> page = wxScreenAdService.listAsPage(wxScreenAd,pageNum,pageSize); | |||
| page.getList().stream().forEach(s->{ | |||
| Object target = null; | |||
| if (s.getType().equals(EnumScreenAdType.COUPON.getCode())) | |||
| target = wxCouponChannelService.findDetailVo(s.getTargetId()); | |||
| if (s.getType().equals(EnumScreenAdType.COUPON.getCode())) | |||
| target = wxCampaignService.getById(s.getTargetId()); | |||
| s.setTarget(target); | |||
| }); | |||
| return new ResultData(); | |||
| } | |||
| @ApiOperation("心跳") | |||
| @PostMapping("heartbeat") | |||
| public Result heartbeat(@RequestBody String deviceId) { | |||
| WxDevice wxDevice = findDevice(deviceId); | |||
| if (wxDevice == null) | |||
| return new ResultData(ErrorCode.DEVICE_NOT_FOUND); | |||
| return new ResultData(); | |||
| } | |||
| @ApiOperation("基础信息") | |||
| @GetMapping("info") | |||
| public Result detail(@RequestBody String deviceId) { | |||
| WxDevice wxDevice = findDevice(deviceId); | |||
| if (wxDevice == null) | |||
| return new ResultData(ErrorCode.DEVICE_NOT_FOUND); | |||
| return new ResultData(); | |||
| } | |||
| } | |||
| @@ -26,7 +26,7 @@ import java.util.List; | |||
| @RestController | |||
| @RequestMapping("wxScreenAd") | |||
| @Api(description="问券调查") | |||
| @Api(description="广告屏") | |||
| public class WxScreenAdController extends BaseController { | |||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||
| @@ -46,14 +46,15 @@ public class WxScreenAdController extends BaseController { | |||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||
| public Result list(@RequestBody WxScreenAd wxScreenAd, Integer pageNum, Integer pageSize) { | |||
| wxScreenAdService.listAsPage(wxScreenAd,pageNum,pageSize); | |||
| return new ResultData(); | |||
| wxScreenAd.setTenantId(getTenantId()); | |||
| return new ResultData(wxScreenAdService.listAsPage(wxScreenAd,pageNum,pageSize)); | |||
| } | |||
| @ApiOperation("添加广告") | |||
| @PostMapping("add") | |||
| public Result add(@RequestBody WxScreenAd wxScreenAd) { | |||
| wxScreenAd.setStatus(EnumScreenAdStatus.VALID.getCode()); | |||
| wxScreenAd.setTenantId(getTenantId()); | |||
| wxScreenAdService.saveOrUpdate(wxScreenAd); | |||
| return new ResultData(); | |||
| } | |||
| @@ -65,6 +66,7 @@ public class WxScreenAdController extends BaseController { | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| if (wxScreenAd.getId() == null) | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| wxScreenAd.setTenantId(getTenantId()); | |||
| wxScreenAdService.saveOrUpdate(wxScreenAd); | |||
| return new ResultData(); | |||
| } | |||
| @@ -95,6 +97,7 @@ public class WxScreenAdController extends BaseController { | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| WxScreenAd wxScreenAd = new WxScreenAd(); | |||
| wxScreenAd.setId(id); | |||
| wxScreenAd.setTenantId(getTenantId()); | |||
| wxScreenAd.setStatus(EnumScreenAdStatus.INVALID.getCode()); | |||
| wxScreenAdService.saveOrUpdate(wxScreenAd); | |||
| return new ResultData(); | |||
| @@ -46,7 +46,7 @@ public class WxDevice implements Serializable { | |||
| /**设备id**/ | |||
| @io.swagger.annotations.ApiModelProperty(value="设备id",name="deviceId") | |||
| private Integer deviceId; | |||
| private String deviceId; | |||
| /**设备类型**/ | |||
| @io.swagger.annotations.ApiModelProperty(value="设备类型",name="type") | |||
| @@ -99,11 +99,11 @@ public class WxDevice implements Serializable { | |||
| tenantId = _tenantId; | |||
| } | |||
| public Integer getDeviceId() { | |||
| public String getDeviceId() { | |||
| return deviceId; | |||
| } | |||
| public void setDeviceId(Integer deviceId) { | |||
| public void setDeviceId(String deviceId) { | |||
| this.deviceId = deviceId; | |||
| } | |||