diff --git a/.idea/encodings.xml b/.idea/encodings.xml index e79da7e..c8ff0fb 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -2,5 +2,9 @@ + + + + \ No newline at end of file diff --git a/web/src/main/java/com/zhehekeji/web/controller/OrderController.java b/web/src/main/java/com/zhehekeji/web/controller/OrderController.java index 518a8d2..f31838d 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/OrderController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/OrderController.java @@ -1,16 +1,19 @@ package com.zhehekeji.web.controller; import com.github.pagehelper.PageInfo; +import com.zhehekeji.common.util.ValidatorUtil; import com.zhehekeji.core.pojo.Result; import com.zhehekeji.core.util.Assert; import com.zhehekeji.filter.pojo.SessionHandler; import com.zhehekeji.filter.pojo.UserType; import com.zhehekeji.web.entity.Order; +import com.zhehekeji.web.pojo.OrderSaveReq; import com.zhehekeji.web.pojo.OrderSearch; import com.zhehekeji.web.service.OrderService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -23,19 +26,26 @@ public class OrderController { @Resource private OrderService orderService; + @Resource + private ValidatorUtil validatorUtil; + + @Value("${zhehe.filter.postToken}") + private String postToken; @ApiOperation("新增") @PostMapping("/") //@SessionHandler(userType = UserType.ACCOUNT) - public Result save(@RequestBody Order order){ - - return Result.success(orderService.add(order)); + public Result save(@RequestBody OrderSaveReq saveReq){ + validatorUtil.validate(saveReq); + Assert.isTrue(postToken.equals(saveReq.getToken()),"token不正确"); + return Result.success(orderService.add(saveReq)); } @PostMapping("/list") @ApiOperation(value = "查询") //@SessionHandler(userType = UserType.ACCOUNT) public Result> findRoleList(@RequestBody OrderSearch orderSearch) { + validatorUtil.validate(orderSearch); return new Result<>(orderService.orders(orderSearch)); } diff --git a/web/src/main/java/com/zhehekeji/web/entity/Order.java b/web/src/main/java/com/zhehekeji/web/entity/Order.java index afef16e..5d94631 100644 --- a/web/src/main/java/com/zhehekeji/web/entity/Order.java +++ b/web/src/main/java/com/zhehekeji/web/entity/Order.java @@ -15,6 +15,7 @@ public class Order { @TableId(type = IdType.AUTO) private Long id; + @ApiModelProperty("流水号") private Long serialNum; @ApiModelProperty("订单号") @@ -30,5 +31,7 @@ public class Order { private String deviceid; + private LocalDateTime execTime; + private LocalDateTime createTime; } diff --git a/web/src/main/java/com/zhehekeji/web/pojo/OrderSaveReq.java b/web/src/main/java/com/zhehekeji/web/pojo/OrderSaveReq.java new file mode 100644 index 0000000..94e55cc --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/pojo/OrderSaveReq.java @@ -0,0 +1,41 @@ +package com.zhehekeji.web.pojo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +@Data +public class OrderSaveReq { + + @NotNull(message = "serialNum(流水号不能为空)") + private Long serialNum; + + @ApiModelProperty("订单号") + @NotEmpty(message = "orderNum(订单号)不能为空") + private String orderNum; + + @ApiModelProperty("仓位号") + @NotEmpty(message = "positionNum(仓位号)不能为空") + private String positionNum; + + @ApiModelProperty("视频/图片地址") + private String filePath; + + @ApiModelProperty("媒体类型 MP4 or jpg or ???") + private String mediaType; + + @NotEmpty(message = "deviceid(设备)不能为空") + private String deviceid; + + @ApiModelProperty("执行时间 形式:2019-09-09 12:12:12") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime execTime; + + @ApiModelProperty("约定token") + @NotEmpty(message = "token不能为空") + private String token; +} diff --git a/web/src/main/java/com/zhehekeji/web/pojo/OrderSearch.java b/web/src/main/java/com/zhehekeji/web/pojo/OrderSearch.java index 1dbcd9e..643d4c5 100644 --- a/web/src/main/java/com/zhehekeji/web/pojo/OrderSearch.java +++ b/web/src/main/java/com/zhehekeji/web/pojo/OrderSearch.java @@ -7,5 +7,8 @@ import javax.validation.constraints.NotEmpty; @Data public class OrderSearch { + @NotEmpty(message = "订单号不能为空") private String orderNum; + + private String deviceid; } diff --git a/web/src/main/java/com/zhehekeji/web/service/OrderService.java b/web/src/main/java/com/zhehekeji/web/service/OrderService.java index 5a97a2d..2b860cc 100644 --- a/web/src/main/java/com/zhehekeji/web/service/OrderService.java +++ b/web/src/main/java/com/zhehekeji/web/service/OrderService.java @@ -1,12 +1,18 @@ package com.zhehekeji.web.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.zhehekeji.core.util.Assert; import com.zhehekeji.web.entity.Order; import com.zhehekeji.web.mapper.OrderMapper; +import com.zhehekeji.web.pojo.OrderSaveReq; import com.zhehekeji.web.pojo.OrderSearch; +import org.springframework.beans.BeanUtils; +import org.springframework.dao.DuplicateKeyException; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.List; @Service @@ -16,12 +22,23 @@ public class OrderService { private OrderMapper orderMapper; public List orders(OrderSearch orderSearch){ - List orders = orderMapper.selectList(new QueryWrapper().eq("order_num",orderSearch.getOrderNum())); + QueryWrapper queryWrapper = new QueryWrapper().eq("order_num",orderSearch.getOrderNum()); + if(!StringUtils.isEmpty(orderSearch.getDeviceid())){ + queryWrapper.eq("deviceid",orderSearch.getDeviceid()); + } + List orders = orderMapper.selectList(queryWrapper); return orders; } - public Long add(Order order){ - orderMapper.insert(order); + public Long add(OrderSaveReq saveReq){ + Order order = new Order(); + BeanUtils.copyProperties(saveReq,order); + order.setCreateTime(LocalDateTime.now()); + try { + orderMapper.insert(order); + }catch (DuplicateKeyException e){ + Assert.isTrue(false,"流水号不合法"); + } return order.getId(); } diff --git a/web/src/main/resources/application-test.yml b/web/src/main/resources/application-test.yml index fffd4a8..765c66f 100644 --- a/web/src/main/resources/application-test.yml +++ b/web/src/main/resources/application-test.yml @@ -28,5 +28,7 @@ zhehe: prefix: spring filter: enable: true + postToken: w89euijon2&UHBTY$%huni34ri server: port: 8099 +