Browse Source

[需求][新增]:广告屏设备通信接口

release_toaliyun_real
hupeng 7 years ago
committed by Stormeye Wu
parent
commit
f075bbeb8d
5 changed files with 117 additions and 9 deletions
  1. +1
    -0
      mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java
  2. +5
    -3
      mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceController.java
  3. +102
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceScreenAdController.java
  4. +6
    -3
      mallinkAdmin/src/main/java/com/iformall/controller/WxScreenAdController.java
  5. +3
    -3
      mallinkService/src/main/java/com/iformall/domain/po/WxDevice.java

+ 1
- 0
mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java View File

@@ -136,6 +136,7 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/webjars/**", "anon"); filterChainDefinitionMap.put("/webjars/**", "anon");


filterChainDefinitionMap.put("/version", "anon"); filterChainDefinitionMap.put("/version", "anon");
filterChainDefinitionMap.put("/wxDeviceScreenAd/**", "anon");
// filterChainDefinitionMap.put("/role/**", "corsFilter,token"); // filterChainDefinitionMap.put("/role/**", "corsFilter,token");






+ 5
- 3
mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceController.java View File

@@ -35,8 +35,8 @@ public class WxDeviceController extends BaseController {
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", 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) { 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("添加设备") @ApiOperation("添加设备")
@@ -51,7 +51,7 @@ public class WxDeviceController extends BaseController {
return new ResultData(ErrorCode.DEVICE_ALREADY_EXIST); return new ResultData(ErrorCode.DEVICE_ALREADY_EXIST);
wxDevice.setStatus(EnumDeviceStatus.INIT.getCode()); wxDevice.setStatus(EnumDeviceStatus.INIT.getCode());
wxDevice.setOnlineStatus(EnumDeviceOnlineStatus.OFFLINE.getCode()); wxDevice.setOnlineStatus(EnumDeviceOnlineStatus.OFFLINE.getCode());
wxDevice.setTenantId(getTenantId());
wxDeviceService.saveOrUpdate(wxDevice); wxDeviceService.saveOrUpdate(wxDevice);
return new ResultData(); return new ResultData();
} }
@@ -63,6 +63,7 @@ public class WxDeviceController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
if (wxDevice.getId() == null) if (wxDevice.getId() == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
wxDevice.setTenantId(getTenantId());
wxDeviceService.saveOrUpdate(wxDevice); wxDeviceService.saveOrUpdate(wxDevice);
return new ResultData(); return new ResultData();
} }
@@ -86,6 +87,7 @@ public class WxDeviceController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
WxDevice wxDevice = new WxDevice(); WxDevice wxDevice = new WxDevice();
wxDevice.setId(id); wxDevice.setId(id);
wxDevice.setTenantId(getTenantId());
wxDevice.setStatus(EnumDeviceStatus.INVALID.getCode()); wxDevice.setStatus(EnumDeviceStatus.INVALID.getCode());
wxDeviceService.saveOrUpdate(wxDevice); wxDeviceService.saveOrUpdate(wxDevice);
return new ResultData(); return new ResultData();


+ 102
- 0
mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceScreenAdController.java View File

@@ -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();
}

}

+ 6
- 3
mallinkAdmin/src/main/java/com/iformall/controller/WxScreenAdController.java View File

@@ -26,7 +26,7 @@ import java.util.List;


@RestController @RestController
@RequestMapping("wxScreenAd") @RequestMapping("wxScreenAd")
@Api(description="问券调查")
@Api(description="广告屏")
public class WxScreenAdController extends BaseController { public class WxScreenAdController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); 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 = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", 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) { 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("添加广告") @ApiOperation("添加广告")
@PostMapping("add") @PostMapping("add")
public Result add(@RequestBody WxScreenAd wxScreenAd) { public Result add(@RequestBody WxScreenAd wxScreenAd) {
wxScreenAd.setStatus(EnumScreenAdStatus.VALID.getCode()); wxScreenAd.setStatus(EnumScreenAdStatus.VALID.getCode());
wxScreenAd.setTenantId(getTenantId());
wxScreenAdService.saveOrUpdate(wxScreenAd); wxScreenAdService.saveOrUpdate(wxScreenAd);
return new ResultData(); return new ResultData();
} }
@@ -65,6 +66,7 @@ public class WxScreenAdController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
if (wxScreenAd.getId() == null) if (wxScreenAd.getId() == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
wxScreenAd.setTenantId(getTenantId());
wxScreenAdService.saveOrUpdate(wxScreenAd); wxScreenAdService.saveOrUpdate(wxScreenAd);
return new ResultData(); return new ResultData();
} }
@@ -95,6 +97,7 @@ public class WxScreenAdController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
WxScreenAd wxScreenAd = new WxScreenAd(); WxScreenAd wxScreenAd = new WxScreenAd();
wxScreenAd.setId(id); wxScreenAd.setId(id);
wxScreenAd.setTenantId(getTenantId());
wxScreenAd.setStatus(EnumScreenAdStatus.INVALID.getCode()); wxScreenAd.setStatus(EnumScreenAdStatus.INVALID.getCode());
wxScreenAdService.saveOrUpdate(wxScreenAd); wxScreenAdService.saveOrUpdate(wxScreenAd);
return new ResultData(); return new ResultData();


+ 3
- 3
mallinkService/src/main/java/com/iformall/domain/po/WxDevice.java View File

@@ -46,7 +46,7 @@ public class WxDevice implements Serializable {


/**设备id**/ /**设备id**/
@io.swagger.annotations.ApiModelProperty(value="设备id",name="deviceId") @io.swagger.annotations.ApiModelProperty(value="设备id",name="deviceId")
private Integer deviceId;
private String deviceId;


/**设备类型**/ /**设备类型**/
@io.swagger.annotations.ApiModelProperty(value="设备类型",name="type") @io.swagger.annotations.ApiModelProperty(value="设备类型",name="type")
@@ -99,11 +99,11 @@ public class WxDevice implements Serializable {
tenantId = _tenantId; tenantId = _tenantId;
} }


public Integer getDeviceId() {
public String getDeviceId() {
return deviceId; return deviceId;
} }


public void setDeviceId(Integer deviceId) {
public void setDeviceId(String deviceId) {
this.deviceId = deviceId; this.deviceId = deviceId;
} }




Loading…
Cancel
Save