From 2f71d5c83846beb9a1653276041a8e9fe35dfb63 Mon Sep 17 00:00:00 2001 From: hupeng Date: Wed, 20 Feb 2019 20:14:08 +0800 Subject: [PATCH] =?UTF-8?q?[=E9=9C=80=E6=B1=82][=E6=96=B0=E5=A2=9E]:?= =?UTF-8?q?=E5=B9=BF=E5=91=8A=E5=B1=8F=E8=AE=BE=E5=A4=87=E9=80=9A=E4=BF=A1?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/config/ShiroConfig.java | 1 + .../controller/WxDeviceController.java | 8 +- .../WxDeviceScreenAdController.java | 102 ++++++++++++++++++ .../controller/WxScreenAdController.java | 9 +- .../java/com/iformall/domain/po/WxDevice.java | 6 +- 5 files changed, 117 insertions(+), 9 deletions(-) create mode 100644 mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceScreenAdController.java diff --git a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java index ade0e2ae4..f9296893f 100644 --- a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java +++ b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java @@ -136,6 +136,7 @@ public class ShiroConfig { filterChainDefinitionMap.put("/webjars/**", "anon"); filterChainDefinitionMap.put("/version", "anon"); + filterChainDefinitionMap.put("/wxDeviceScreenAd/**", "anon"); // filterChainDefinitionMap.put("/role/**", "corsFilter,token"); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceController.java index 9727b4333..af751ca85 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceController.java @@ -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(); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceScreenAdController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceScreenAdController.java new file mode 100644 index 000000000..b754d6d00 --- /dev/null +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceScreenAdController.java @@ -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 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 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(); + } + +} diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxScreenAdController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxScreenAdController.java index 9fd0ffc3f..c8c01cb5e 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxScreenAdController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxScreenAdController.java @@ -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(); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxDevice.java b/mallinkService/src/main/java/com/iformall/domain/po/WxDevice.java index b05665b3b..fc0ed339d 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxDevice.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxDevice.java @@ -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; }