Selaa lähdekoodia

新增算法平台商品新增、修改、列表功能

hechunping 2 vuotta sitten
vanhempi
commit
1ae054b627

+ 2 - 0
sys-api-service/src/main/java/com/xy/entity/AlgorithmGoods.java

@@ -36,6 +36,8 @@ public class AlgorithmGoods extends BaseEntity2<AlgorithmGoods> {
     @ApiModelProperty(value = "建模商户ID")
     private Long mercId;
 
+    @ApiModelProperty("状态;true=显示,false=隐藏")
+    private Boolean status;
 
 }
 

+ 2 - 2
sys-api-service/src/main/java/com/xy/mapper/AlgorithmGoodsMapper.java

@@ -1,7 +1,7 @@
 package com.xy.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xy.entity.AlgorithmGoods;
+import icu.mhb.mybatisplus.plugln.base.mapper.JoinBaseMapper;
 
 /**
  * <p>
@@ -11,5 +11,5 @@ import com.xy.entity.AlgorithmGoods;
  * @author hechunping
  * @since 2023/1/13
  */
-public interface AlgorithmGoodsMapper extends BaseMapper<AlgorithmGoods> {
+public interface AlgorithmGoodsMapper extends JoinBaseMapper<AlgorithmGoods> {
 }

+ 40 - 9
sys-api-service/src/main/java/com/xy/service/AlgorithmGoodsServiceImpl.java

@@ -1,13 +1,19 @@
 package com.xy.service;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xy.dto.AlgorithmGoodsDto;
+import com.xy.entity.Algorithm;
 import com.xy.entity.AlgorithmGoods;
 import com.xy.mapper.AlgorithmGoodsMapper;
-import com.xy.utils.R;
+import com.xy.utils.*;
+import icu.mhb.mybatisplus.plugln.base.service.impl.JoinServiceImpl;
+import icu.mhb.mybatisplus.plugln.core.JoinLambdaWrapper;
 import io.swagger.annotations.Api;
-import lombok.AllArgsConstructor;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.stereotype.Service;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
 
 /**
  * <p>
@@ -18,13 +24,38 @@ import org.springframework.web.bind.annotation.GetMapping;
  * @since 2023/1/13
  */
 @Service
-@AllArgsConstructor
 @Api(tags = "算法平台商品库")
-public class AlgorithmGoodsServiceImpl extends ServiceImpl<AlgorithmGoodsMapper, AlgorithmGoods> implements AlgorithmGoodsService{
-    private final GoodsCategoryService goodsCategoryService;
+public class AlgorithmGoodsServiceImpl extends JoinServiceImpl<AlgorithmGoodsMapper, AlgorithmGoods> implements AlgorithmGoodsService {
+    @PostMapping("page")
+    @ApiOperation("分页查询")
+    @Override
+    public R<PageBean<AlgorithmGoodsDto.Vo>> page(@RequestBody AlgorithmGoodsDto.Page page) {
+        PageBean pageBean = page.getPage();
+        JoinLambdaWrapper<AlgorithmGoods> lambdaWrapper = new MybatisPlusQuery().eqWrapper(page,AlgorithmGoods.class)
+                .ge(AlgorithmGoods::getCreateTime,page.getCreateTimeStart())
+                .le(AlgorithmGoods::getCreateTime,page.getCreateTimeEnd())
+                .buildJoin()
+                .leftJoin(Algorithm.class,Algorithm::getId,AlgorithmGoods::getAlgorithmId)
+                .selectAs(Algorithm::getName, LambdaUtils.getProperty(AlgorithmGoodsDto.Vo::getAlgorithmName))
+                .end();
+        return R.ok(joinPage(PlusBeans.toIPage(pageBean),lambdaWrapper,AlgorithmGoodsDto.Vo.class));
+    }
+
+    @PostMapping("save")
+    @ApiOperation("添加")
+    public R save(@RequestBody @Validated AlgorithmGoodsDto.Save save) {
+        AlgorithmGoods saveInfo = PlusBeans.copy(AlgorithmGoods.class, save);
+        saveInfo.createUserTime(1L).createId();
+        save(saveInfo);
+        return R.ok();
+    }
 
-    @GetMapping("test")
-    public R test(){
+    @PostMapping("update")
+    @ApiOperation("修改")
+    public R save(@RequestBody @Validated AlgorithmGoodsDto.Update update) {
+        AlgorithmGoods updateInfo = PlusBeans.copy(AlgorithmGoods.class, update);
+        updateInfo.updateUserTime(1L);
+        updateById(updateInfo);
         return R.ok();
     }
 }

+ 57 - 9
sys-api/src/main/java/com/xy/dto/AlgorithmGoodsDto.java

@@ -1,11 +1,14 @@
 package com.xy.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.xy.utils.PageBean;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
-import java.util.Date;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
 
 /**
  * <p>
@@ -19,26 +22,66 @@ public class AlgorithmGoodsDto {
 
     @Data
     @Accessors(chain = true)
-    public static class SelectList extends Vo {
+    public static class Page extends Vo{
+        @ApiModelProperty(value = "分页对象", required = true)
+        private PageBean page;
 
+        @ApiModelProperty(value = "创建时间开始")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime createTimeStart;
+
+        @ApiModelProperty(value = "创建时间结束")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime createTimeEnd;
     }
 
     @Data
     @Accessors(chain = true)
-    public static class Page extends Vo {
-        @ApiModelProperty(value = "分页对象", required = true)
-        private PageBean page;
+    public static class Save {
+        @NotNull(message = "算法平台ID不能为空")
+        @ApiModelProperty(value = "算法平台ID")
+        private Long algorithmId;
+
+        @ApiModelProperty(value = "条形码")
+        private String barcode;
+
+        @NotBlank(message = "算法平台商品ID不能为空")
+        @ApiModelProperty(value = "算法平台商品ID")
+        private String skuId;
+
+        @NotBlank(message = "商品名称不能为空")
+        @ApiModelProperty(value = "商品名称")
+        private String skuName;
+
+        @ApiModelProperty(value = "库类型")
+        private String skuType;
+
+        @ApiModelProperty(value = "商品图片")
+        private String imgUrls;
+
+        @ApiModelProperty(value = "建模商户ID")
+        private Long mercId;
+
+        @ApiModelProperty("状态;true=显示,false=隐藏")
+        private Boolean status;
     }
 
     @Data
     @Accessors(chain = true)
-    public static class Save {
-
+    public static class Update extends Save{
+        @NotNull
+        @ApiModelProperty(value = "ID")
+        private Long id;
     }
 
     @Data
     @Accessors(chain = true)
     public static class Vo {
+        @ApiModelProperty("算法平台名称")
+        private String algorithmName;
+
+        @ApiModelProperty(value = "ID")
+        private Long id;
 
         @ApiModelProperty(value = "算法平台ID")
         private Long algorithmId;
@@ -61,17 +104,22 @@ public class AlgorithmGoodsDto {
         @ApiModelProperty(value = "建模商户ID")
         private Long mercId;
 
+        @ApiModelProperty("状态;true=显示,false=隐藏")
+        private Boolean status;
+
         @ApiModelProperty(value = "创建人")
         private Long createUser;
 
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
         @ApiModelProperty(value = "创建时间")
-        private Date createTime;
+        private LocalDateTime createTime;
 
         @ApiModelProperty(value = "更新人")
         private Long updateUser;
 
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
         @ApiModelProperty(value = "更新时间")
-        private Date updateTime;
+        private LocalDateTime updateTime;
     }
 
 }

+ 5 - 1
sys-api/src/main/java/com/xy/service/AlgorithmGoodsService.java

@@ -1,6 +1,10 @@
 package com.xy.service;
 
 import com.xy.annotate.RestMappingController;
+import com.xy.dto.AlgorithmGoodsDto;
+import com.xy.utils.PageBean;
+import com.xy.utils.R;
+import org.springframework.web.bind.annotation.RequestBody;
 
 /**
  * <p>
@@ -12,5 +16,5 @@ import com.xy.annotate.RestMappingController;
  */
 @RestMappingController("algorithmGoods")
 public interface AlgorithmGoodsService {
-
+    R<PageBean<AlgorithmGoodsDto.Vo>> page(@RequestBody AlgorithmGoodsDto.Page page);
 }