Bladeren bron

Merge remote-tracking branch 'origin/master'

李进 2 jaren geleden
bovenliggende
commit
66be2f3ca7

+ 21 - 0
sys-api-feign/src/main/java/com/xy/feign/AlgorithmGoodsFeign.java

@@ -0,0 +1,21 @@
+package com.xy.feign;
+
+import com.xy.FeignInterceptor;
+import com.xy.consts.ServiceConsts;
+import com.xy.service.AlgorithmGoodsService;
+import io.swagger.annotations.Api;
+import org.springframework.cloud.openfeign.FeignClient;
+
+/**
+ * <p>
+ * 算法平台商品库 feign
+ * </p>
+ *
+ * @author hechunping
+ * @since 2023-01-13
+ */
+@Api(tags = "算法平台商品库feign")
+@FeignClient(value = ServiceConsts.SERVICE_NAME, configuration = FeignInterceptor.class)
+public interface AlgorithmGoodsFeign extends AlgorithmGoodsService {
+
+}

+ 6 - 1
sys-api-service/pom.xml

@@ -33,7 +33,11 @@
             <artifactId>authorize-api</artifactId>
             <version>1.0</version>
         </dependency>
-
+        <dependency>
+            <groupId>com.xy</groupId>
+            <artifactId>goods-api</artifactId>
+            <version>1.0</version>
+        </dependency>
         <dependency>
             <groupId>com.xy</groupId>
             <artifactId>xy-redis</artifactId>
@@ -66,5 +70,6 @@
             <version>1.0</version>
         </dependency>
 
+
     </dependencies>
 </project>

+ 6 - 0
sys-api-service/src/main/java/com/xy/entity/Algorithm.java

@@ -31,4 +31,10 @@ public class Algorithm extends BaseEntity2<Algorithm> implements Serializable {
     @ApiModelProperty(value = "接口域名")
     private String host;
 
+    @ApiModelProperty("备注")
+    private String remark;
+
+    @ApiModelProperty("状态;true=显示,false=隐藏")
+    private Boolean status;
+
 }

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

@@ -0,0 +1,43 @@
+package com.xy.entity;
+
+import com.xy.base.BaseEntity2;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * <p>
+ * 算法平台商品库实体类
+ * </p>
+ *
+ * @author hechunping
+ */
+@Data
+public class AlgorithmGoods extends BaseEntity2<AlgorithmGoods> {
+
+    @ApiModelProperty(value = "算法平台ID")
+    private Long algorithmId;
+
+    @ApiModelProperty(value = "条形码")
+    private String barcode;
+
+    @ApiModelProperty(value = "算法平台商品ID")
+    private String skuId;
+
+    @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;
+
+}
+

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

@@ -0,0 +1,15 @@
+package com.xy.mapper;
+
+import com.xy.entity.AlgorithmGoods;
+import icu.mhb.mybatisplus.plugln.base.mapper.JoinBaseMapper;
+
+/**
+ * <p>
+ * 算法平台商品库Mapper
+ * </p>
+ *
+ * @author hechunping
+ * @since 2023/1/13
+ */
+public interface AlgorithmGoodsMapper extends JoinBaseMapper<AlgorithmGoods> {
+}

+ 82 - 0
sys-api-service/src/main/java/com/xy/service/AlgorithmGoodsServiceImpl.java

@@ -0,0 +1,82 @@
+package com.xy.service;
+
+import cn.hutool.core.collection.CollStreamUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xy.dto.AlgorithmDto;
+import com.xy.dto.AlgorithmGoodsDto;
+import com.xy.entity.AlgorithmGoods;
+import com.xy.mapper.AlgorithmGoodsMapper;
+import com.xy.utils.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import static com.xy.utils.PlusBeans.toIPage;
+import static com.xy.utils.PlusBeans.toPageBean;
+
+
+/**
+ * <p>
+ * 算法平台商品库 服务实现类
+ * </p>
+ *
+ * @author hechunping
+ * @since 2023/1/13
+ */
+@Service
+@Api(tags = "算法平台商品库")
+@AllArgsConstructor
+public class AlgorithmGoodsServiceImpl extends ServiceImpl<AlgorithmGoodsMapper, AlgorithmGoods> implements AlgorithmGoodsService {
+
+    private final AlgorithmService algorithmService;
+
+    @ApiOperation("分页查询")
+    @Override
+    public R<PageBean<AlgorithmGoodsDto.Vo>> page(@RequestBody AlgorithmGoodsDto.Page page) {
+        //获取算法平台列表
+        Map<Long, String> algorithmMap = CollStreamUtil.toMap(algorithmService.ListNameId().getData(),
+                AlgorithmDto.ListNameId::getId,AlgorithmDto.ListNameId::getName);
+        //查询商品分页
+        PageBean pageBean = page.getPage();
+        LambdaQueryWrapper<AlgorithmGoods> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(page, AlgorithmGoods.class)
+                .ge(AlgorithmGoods::getCreateTime, page.getCreateTimeStart())
+                .le(AlgorithmGoods::getCreateTime, page.getCreateTimeEnd())
+                .like(AlgorithmGoods::getSkuName)
+                .build();
+        IPage<AlgorithmGoods> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
+        PageBean<AlgorithmGoodsDto.Vo> dtoPageBean = toPageBean(AlgorithmGoodsDto.Vo.class, iPage);
+        //设置平台名称
+        dtoPageBean.setRecords(
+                dtoPageBean.getRecords().stream().map(
+                        item -> item.setAlgorithmName(algorithmMap.get(item.getAlgorithmId()))
+                ).collect(Collectors.toList())
+        );
+        return R.ok(dtoPageBean);
+    }
+
+    @ApiOperation("新增")
+    @Override
+    public R save(@RequestBody @Validated AlgorithmGoodsDto.Save save) {
+        AlgorithmGoods saveInfo = PlusBeans.copy(AlgorithmGoods.class, save);
+        saveInfo.createUserTime(AuthorizeUtils.getLoginId(Long.class)).createId();
+        save(saveInfo);
+        return R.ok();
+    }
+
+    @ApiOperation("修改")
+    @Override
+    public R update(@RequestBody @Validated AlgorithmGoodsDto.Update update) {
+        AlgorithmGoods updateInfo = PlusBeans.copy(AlgorithmGoods.class, update);
+        updateInfo.updateUserTime(AuthorizeUtils.getLoginId(Long.class));
+        updateById(updateInfo);
+        return R.ok();
+    }
+}

+ 14 - 6
sys-api-service/src/main/java/com/xy/service/AlgorithmServiceImpl.java

@@ -35,11 +35,19 @@ import static com.xy.utils.Beans.copy;
 public class AlgorithmServiceImpl extends ServiceImpl<AlgorithmMapper, Algorithm> implements AlgorithmService {
 
     @Override
-    @ApiOperation("集合查询")
-    public R<List<AlgorithmDto.Vo>> list(@RequestBody AlgorithmDto.SelectList selectList) {
-        LambdaQueryWrapper<Algorithm> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, Algorithm.class).build();
+    @ApiOperation("所有字段列表")
+    public R<List<AlgorithmDto.ListAllColumn>> listAllColumn(@RequestBody AlgorithmDto.ListAllColumn listAllColumn) {
+        LambdaQueryWrapper<Algorithm> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(listAllColumn, Algorithm.class).build();
         List<Algorithm> list = list(lambdaQueryWrapper);
-        return R.ok(copy(AlgorithmDto.Vo.class, list));
+        return R.ok(copy(AlgorithmDto.ListAllColumn.class, list));
+    }
+
+    @Override
+    @ApiOperation("ID和Name列表")
+    public R<List<AlgorithmDto.ListNameId>> ListNameId() {
+        LambdaQueryWrapper<Algorithm> lambdaQueryWrapper = Wrappers.<Algorithm>lambdaQuery().select(Algorithm::getId,Algorithm::getName);
+        List<Algorithm> list = baseMapper.selectList(lambdaQueryWrapper);
+        return R.ok(copy(AlgorithmDto.ListNameId.class, list));
     }
 
     @Override
@@ -49,13 +57,13 @@ public class AlgorithmServiceImpl extends ServiceImpl<AlgorithmMapper, Algorithm
         boolean isAdd = id == null || id == 0;
         //判断品牌是否存在
         LambdaQueryWrapper<Algorithm> lambdaQueryWrapper = Wrappers.lambdaQuery();
-        lambdaQueryWrapper.eq(Algorithm::getName, saveDto.getName()).last("limit 1").select(Algorithm::getName);
+        lambdaQueryWrapper.eq(Algorithm::getName, saveDto.getName()).last("limit 1").select(Algorithm::getId);
         Algorithm exists = getOne(lambdaQueryWrapper);
         if (exists != null) {
             if (isAdd) {
                 return R.fail("平台已存在");
             } else {
-                if (exists.getId().intValue() != saveDto.getId().intValue()) {
+                if (exists.getId().longValue() != saveDto.getId().longValue()) {
                     return R.fail("平台已存在");
                 }
             }

+ 24 - 4
sys-api/src/main/java/com/xy/dto/AlgorithmDto.java

@@ -21,22 +21,30 @@ public class AlgorithmDto {
 
     @Data
     @Accessors(chain = true)
-    public static class SelectList extends Vo {
+    public static class ListNameId{
+        @ApiModelProperty(value = "id")
+        private Long id;
 
+        @ApiModelProperty(value = "算法平台名称")
+        private String name;
     }
 
     @Data
     @Accessors(chain = true)
-    public static class Page extends Vo {
+    public static class ListAllColumn extends Vo {
+
+    }
 
+    @Data
+    @Accessors(chain = true)
+    public static class Page extends Vo {
         @ApiModelProperty(value = "分页对象", required = true)
         private PageBean page;
-
     }
 
     @Data
     @Accessors(chain = true)
-    public static class Save{
+    public static class Save {
         @ApiModelProperty(value = "id")
         private Long id;
 
@@ -46,6 +54,12 @@ public class AlgorithmDto {
 
         @ApiModelProperty(value = "接口地址前缀")
         private String host;
+
+        @ApiModelProperty("备注")
+        private String remark;
+
+        @ApiModelProperty("状态;true=显示,false=隐藏")
+        private Boolean status;
     }
 
     @Data
@@ -64,6 +78,12 @@ public class AlgorithmDto {
         @ApiModelProperty(value = "创建人")
         private Long createUser;
 
+        @ApiModelProperty("备注")
+        private String remark;
+
+        @ApiModelProperty("状态;true=显示,false=隐藏")
+        private Boolean status;
+
         @ApiModelProperty(value = "创建时间")
         @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
         private LocalDateTime createTime;

+ 125 - 0
sys-api/src/main/java/com/xy/dto/AlgorithmGoodsDto.java

@@ -0,0 +1,125 @@
+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 javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 算法平台商品库DTO
+ * </p>
+ *
+ * @author hechunping
+ * @since 2023-01-13
+ */
+public class AlgorithmGoodsDto {
+
+    @Data
+    @Accessors(chain = true)
+    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 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 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;
+
+        @ApiModelProperty(value = "条形码")
+        private String barcode;
+
+        @ApiModelProperty(value = "算法平台商品ID")
+        private String skuId;
+
+        @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;
+
+        @ApiModelProperty(value = "创建人")
+        private Long createUser;
+
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        @ApiModelProperty(value = "创建时间")
+        private LocalDateTime createTime;
+
+        @ApiModelProperty(value = "更新人")
+        private Long updateUser;
+
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        @ApiModelProperty(value = "更新时间")
+        private LocalDateTime updateTime;
+    }
+
+}

+ 29 - 0
sys-api/src/main/java/com/xy/service/AlgorithmGoodsService.java

@@ -0,0 +1,29 @@
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * <p>
+ * 算法平台商品库 服务类
+ * </p>
+ *
+ * @author hechunping
+ * @since 2023-01-13
+ */
+@RestMappingController("algorithmGoods")
+public interface AlgorithmGoodsService {
+    @PostMapping("page")
+    R<PageBean<AlgorithmGoodsDto.Vo>> page(@RequestBody AlgorithmGoodsDto.Page page);
+
+    @PostMapping("save")
+    R save(@RequestBody @Validated AlgorithmGoodsDto.Save save);
+
+    @PostMapping("update")
+    R update(@RequestBody @Validated AlgorithmGoodsDto.Update update);
+}

+ 6 - 3
sys-api/src/main/java/com/xy/service/AlgorithmService.java

@@ -17,11 +17,14 @@ import java.util.List;
  * @author hechunping
  * @since 2023-01-12
  */
-@RestMappingController("/algorithm")
+@RestMappingController("algorithm")
 public interface AlgorithmService {
-    @PostMapping("list")
-    R<List<AlgorithmDto.Vo>> list(@RequestBody AlgorithmDto.SelectList selectList);
+    @PostMapping("listAllColumn")
+    R<List<AlgorithmDto.ListAllColumn>> listAllColumn(@RequestBody AlgorithmDto.ListAllColumn listAllColumn);
 
     @PostMapping("saveOrUpdate")
     R saveOrUpdate(@Validated @RequestBody AlgorithmDto.Save saveDto);
+
+    @PostMapping("listNameId")
+    R<List<AlgorithmDto.ListNameId>> ListNameId();
 }

+ 5 - 1
sys-start/pom.xml

@@ -28,7 +28,11 @@
             <artifactId>authorize-api-cloud</artifactId>
             <version>1.0</version>
         </dependency>
-
+        <dependency>
+            <groupId>com.xy</groupId>
+            <artifactId>goods-api-cloud</artifactId>
+            <version>1.0</version>
+        </dependency>
         <dependency>
             <groupId>com.xy</groupId>
             <artifactId>xy-logback</artifactId>