Browse Source

shit commit and reset

huodongdong 7 years ago
parent
commit
1d57b2f9f0
29 changed files with 473 additions and 30 deletions
  1. 5 0
      rankin-common-utils/pom.xml
  2. 1 1
      rankin-common-utils/src/main/java/cn/rankin/common/utils/dto/product/ItemDTO.java
  3. 25 0
      rankin-common-utils/src/main/java/cn/rankin/common/utils/dto/product/SearchDTO.java
  4. 5 1
      rankin-common-utils/src/main/java/cn/rankin/common/utils/dto/product/WareDTO.java
  5. 29 0
      rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/CourseSubItemVo.java
  6. 37 0
      rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/CourseVo.java
  7. 26 0
      rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/ItemPriceVo.java
  8. 33 0
      rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/ItemVo.java
  9. 23 0
      rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/LessonVo.java
  10. 30 0
      rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/SupportVo.java
  11. 25 0
      rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/TagVo.java
  12. 31 0
      rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/WareVo.java
  13. 24 0
      rankin-product-service/src/main/java/cn/rankin/productservice/configuration/GlobalExceptionHandler.java
  14. 43 0
      rankin-product-service/src/main/java/cn/rankin/productservice/configuration/WebConfiguration.java
  15. 16 9
      rankin-product-service/src/main/java/cn/rankin/productservice/controller/WareController.java
  16. 2 3
      rankin-product-service/src/main/java/cn/rankin/productservice/entity/Item.java
  17. 2 1
      rankin-product-service/src/main/java/cn/rankin/productservice/entity/Lesson.java
  18. 7 2
      rankin-product-service/src/main/java/cn/rankin/productservice/entity/LessonWareRelation.java
  19. 38 1
      rankin-product-service/src/main/java/cn/rankin/productservice/entity/Ware.java
  20. 0 1
      rankin-product-service/src/main/java/cn/rankin/productservice/repository/CourseRepository.java
  21. 11 0
      rankin-product-service/src/main/java/cn/rankin/productservice/repository/LessonWareRelationRepository.java
  22. 2 0
      rankin-product-service/src/main/java/cn/rankin/productservice/service/CourseService.java
  23. 2 2
      rankin-product-service/src/main/java/cn/rankin/productservice/service/ItemService.java
  24. 21 0
      rankin-product-service/src/main/java/cn/rankin/productservice/service/LessonWareRelationService.java
  25. 6 6
      rankin-product-service/src/main/java/cn/rankin/productservice/service/SupportService.java
  26. 2 0
      rankin-product-service/src/main/java/cn/rankin/productservice/service/WareService.java
  27. 4 2
      rankin-product-service/src/main/java/cn/rankin/productservice/vo/CourseSubItemVo.java
  28. 22 0
      rankin-product-service/src/test/java/cn/rankin/productservice/repository/AuthorRepositoryTest.java
  29. 1 1
      rankin-resource-service/src/main/java/cn/rankin/resourceservice/service/ResourceService.java

+ 5 - 0
rankin-common-utils/pom.xml

@@ -31,6 +31,11 @@
         </dependency>
 
         <dependency>
+            <groupId>javax.validation</groupId>
+            <artifactId>validation-api</artifactId>
+        </dependency>
+
+        <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>fastjson</artifactId>
             <version>1.2.38</version>

+ 1 - 1
rankin-common-utils/src/main/java/cn/rankin/common/utils/dto/product/ItemDTO.java

@@ -13,7 +13,7 @@ public class ItemDTO implements Serializable {
 
     private String id;
 
-    private String courseId;
+    private String subId;
 
     private String code;
 

+ 25 - 0
rankin-common-utils/src/main/java/cn/rankin/common/utils/dto/product/SearchDTO.java

@@ -0,0 +1,25 @@
+package cn.rankin.common.utils.dto.product;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class SearchDTO implements Serializable {
+
+    private String code;
+
+    private String name;
+
+    private Integer type;
+
+    private String sort;
+
+    private Integer by;
+
+    private Integer pageNo = 1;
+
+    private Integer pageSize = 10;
+
+}
+

+ 5 - 1
rankin-common-utils/src/main/java/cn/rankin/common/utils/dto/product/WareDTO.java

@@ -4,24 +4,28 @@ import cn.rankin.common.utils.enums.BaseStatusEnum;
 import cn.rankin.common.utils.enums.WareTypeEnum;
 import lombok.Data;
 
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
+import java.util.List;
 
 @Data
 public class WareDTO implements Serializable {
 
     private String id;
 
+    @NotNull
     private String code;
 
     private String name;
 
     private String digest;
 
+    @NotNull
     private WareTypeEnum type;
 
     private String playUrl;
 
-    private String imgIds;
+    private List<String> imgIds;
 
     private String cpId;
 

+ 29 - 0
rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/CourseSubItemVo.java

@@ -0,0 +1,29 @@
+package cn.rankin.common.utils.vo.product;
+
+import cn.rankin.common.utils.enums.BaseStatusEnum;
+import cn.rankin.common.utils.enums.CourseSubTypeEnum;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+public class CourseSubItemVo implements Serializable{
+
+    private String id;
+
+    private String code;
+
+    private String name;
+
+    private String digest;
+
+    private CourseSubTypeEnum type;
+
+    private BaseStatusEnum status;
+
+    private Date gmtCreated;
+
+    private Date gmtModified;
+
+}

+ 37 - 0
rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/CourseVo.java

@@ -0,0 +1,37 @@
+package cn.rankin.common.utils.vo.product;
+
+import cn.rankin.common.utils.enums.BaseStatusEnum;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class CourseVo implements Serializable {
+
+    private String id;
+
+    private String code;
+
+    private String name;
+
+    private String title;
+
+    private String digest;
+
+    private String detail;
+
+    private String keyword;
+
+    private String cvImgIds;
+
+    private String bgImgIds;
+
+    private BaseStatusEnum status;
+
+    private List<CourseSubItemVo> subItemList;
+
+    private List<SupportVo> supportList;
+
+}
+

+ 26 - 0
rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/ItemPriceVo.java

@@ -0,0 +1,26 @@
+package cn.rankin.common.utils.vo.product;
+
+import cn.rankin.common.utils.enums.PriceTypeEnum;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class ItemPriceVo implements Serializable {
+
+    private String id;
+
+    private String name;
+
+    private String itemId;
+
+    private PriceTypeEnum type;
+
+    private Integer duration;
+
+    private Double cpPrice;
+
+    private Double merchantPrice;
+
+    private Double terminalPrice;
+}

+ 33 - 0
rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/ItemVo.java

@@ -0,0 +1,33 @@
+package cn.rankin.common.utils.vo.product;
+
+import cn.rankin.common.utils.enums.ItemStatusEnum;
+import cn.rankin.common.utils.enums.ItemTypeEnum;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Set;
+
+@Data
+public class ItemVo implements Serializable {
+
+    private String id;
+
+    private String courseId;
+
+    private String code;
+
+    private String name;
+
+    private ItemTypeEnum type;
+
+    private String merchantId;
+
+    private Integer sort;
+
+    private ItemStatusEnum status;
+
+    private List<ItemPriceVo> priceList;
+
+    private Set<TagVo> tagList;
+}

+ 23 - 0
rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/LessonVo.java

@@ -0,0 +1,23 @@
+package cn.rankin.common.utils.vo.product;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class LessonVo implements Serializable {
+
+    private String id;
+
+    private String code;
+
+    private String name;
+
+    private String digest;
+
+    private Integer sort;
+
+    private List<WareVo> wareList;
+
+}

+ 30 - 0
rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/SupportVo.java

@@ -0,0 +1,30 @@
+package cn.rankin.common.utils.vo.product;
+
+import cn.rankin.common.utils.enums.BaseStatusEnum;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Set;
+
+@Data
+public class SupportVo implements Serializable {
+
+    private String id;
+
+    private String code;
+
+    private String name;
+
+    private String title;
+
+    private String digest;
+
+    private String detail;
+
+    private String imgIds;
+
+    private BaseStatusEnum status;
+
+    private Set<String> supportList;
+
+}

+ 25 - 0
rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/TagVo.java

@@ -0,0 +1,25 @@
+package cn.rankin.common.utils.vo.product;
+
+import cn.rankin.common.utils.enums.BaseStatusEnum;
+import cn.rankin.common.utils.enums.TagTypeEnum;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class TagVo implements Serializable {
+
+    private String id;
+
+    private String code;
+
+    private String name;
+
+    private TagTypeEnum type;
+
+    private String merchantId;
+
+    private Integer sort;
+
+    private BaseStatusEnum status;
+}

+ 31 - 0
rankin-common-utils/src/main/java/cn/rankin/common/utils/vo/product/WareVo.java

@@ -0,0 +1,31 @@
+package cn.rankin.common.utils.vo.product;
+
+import cn.rankin.common.utils.enums.BaseStatusEnum;
+import cn.rankin.common.utils.enums.WareTypeEnum;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class WareVo implements Serializable {
+
+    private String id;
+
+    private String code;
+
+    private String name;
+
+    private String digest;
+
+    private WareTypeEnum type;
+
+    private String playUrl;
+
+    private String imgIds;
+
+    private String cpId;
+
+    private Integer sort;
+
+    private BaseStatusEnum status;
+}

+ 24 - 0
rankin-product-service/src/main/java/cn/rankin/productservice/configuration/GlobalExceptionHandler.java

@@ -0,0 +1,24 @@
+package cn.rankin.productservice.configuration;
+
+import cn.rankin.common.utils.api.model.APICodeManager;
+import cn.rankin.common.utils.api.model.APIResult;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.NoHandlerFoundException;
+
+@ControllerAdvice
+@ResponseBody
+public class GlobalExceptionHandler {
+
+    @ExceptionHandler(value = MethodArgumentNotValidException.class)
+    public APIResult handleMethodArgumentNotValidException(MethodArgumentNotValidException e) {
+        return APIResult.error(APICodeManager.PARAMETER_ERROR);
+    }
+
+    @ExceptionHandler(NoHandlerFoundException.class)
+    public APIResult handleNoHandlerFoundException(NoHandlerFoundException e) {
+        return APIResult.error(APICodeManager.NOT_FOUND);
+    }
+}

+ 43 - 0
rankin-product-service/src/main/java/cn/rankin/productservice/configuration/WebConfiguration.java

@@ -0,0 +1,43 @@
+package cn.rankin.productservice.configuration;
+
+import com.alibaba.fastjson.support.config.FastJsonConfig;
+import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.web.servlet.config.annotation.EnableWebMvc;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+
+import java.util.List;
+
+import static com.alibaba.fastjson.serializer.SerializerFeature.PrettyFormat;
+import static com.alibaba.fastjson.serializer.SerializerFeature.WriteNullListAsEmpty;
+import static com.alibaba.fastjson.serializer.SerializerFeature.WriteNullStringAsEmpty;
+
+@Configuration
+@EnableWebMvc
+public class WebConfiguration extends WebMvcConfigurerAdapter {
+
+    @Bean
+    public FastJsonHttpMessageConverter fastJsonHttpMessageConverter() {
+        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
+
+        FastJsonConfig fastJsonConfig = new FastJsonConfig();
+        fastJsonConfig.setSerializerFeatures(PrettyFormat, WriteNullListAsEmpty, WriteNullStringAsEmpty);
+        fastConverter.setFastJsonConfig(fastJsonConfig);
+
+        return fastConverter;
+    }
+
+//    @Override
+//    public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
+//        converters.clear();
+//        converters.add(new FastJsonHttpMessageConverter());
+//    }
+
+//    @Override
+//    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
+//        super.configureMessageConverters(converters);
+//        converters.add(new FastJsonHttpMessageConverter());
+//    }
+}

+ 16 - 9
rankin-product-service/src/main/java/cn/rankin/productservice/controller/WareController.java

@@ -7,11 +7,16 @@ import cn.rankin.common.utils.api.page.Page;
 import cn.rankin.common.utils.dto.product.WareDTO;
 import cn.rankin.productservice.entity.Ware;
 import cn.rankin.common.utils.enums.WareTypeEnum;
+import cn.rankin.productservice.service.LessonService;
+import cn.rankin.productservice.service.LessonWareRelationService;
 import cn.rankin.productservice.service.WareService;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+
 @RestController
 @RequestMapping(value = "ware")
 public class WareController {
@@ -19,16 +24,16 @@ public class WareController {
     @Autowired
     private WareService wareService;
 
+    @Autowired
+    private LessonWareRelationService relationService;
+
+    @Autowired
+    private LessonService lessonService;
+
     @RequestMapping(value = "/list", method = RequestMethod.GET)
     public APIResult<Page<Ware>> getWareList(SearchDTO searchDTO) {
         Ware ware = new Ware();
 
-        WareTypeEnum type = searchDTO.getType();
-        if (type == null) {
-            return APIResult.error(APICodeManager.PARAMETER_ERROR);
-        }
-        ware.setType(type);
-
         String code = searchDTO.getCode();
         if (!StringUtils.isEmpty(code)) {
             ware.setCode("%" + code + "%");
@@ -39,12 +44,14 @@ public class WareController {
             ware.setName("%" + name + "%");
         }
 
+        ware.setType(searchDTO.getType());
+
         return wareService.search(ware, searchDTO.getPageNo(), searchDTO.getPageSize());
     }
 
     // 创建资源
     @RequestMapping(method = RequestMethod.POST)
-    public APIResult<Ware> create(@RequestBody WareDTO wareDTO) {
+    public APIResult<Ware> create(@Valid @RequestBody WareDTO wareDTO) {
         String code = wareDTO.getCode();
         WareTypeEnum type = wareDTO.getType();
         if (StringUtils.isEmpty(code) || type == null) {
@@ -56,7 +63,7 @@ public class WareController {
 
     // 修改资源
     @RequestMapping(method = RequestMethod.PUT)
-    public APIResult<Ware> update(@RequestBody WareDTO wareDTO) {
+    public APIResult<Ware> update(@Valid @RequestBody WareDTO wareDTO) {
         if (wareDTO.getId() == null) {
             return APIResult.error(APICodeManager.PARAMETER_ERROR);
         }
@@ -66,7 +73,7 @@ public class WareController {
 
     // 删除资源
     @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
-    public APIResult<Boolean> delete(@PathVariable("id") String id) {
+    public APIResult<Boolean> delete(@NotNull @PathVariable("id") String id) {
         return wareService.delete(id);
     }
 

+ 2 - 3
rankin-product-service/src/main/java/cn/rankin/productservice/entity/Item.java

@@ -10,7 +10,6 @@ import org.hibernate.annotations.DynamicUpdate;
 import javax.persistence.*;
 import java.io.Serializable;
 import java.util.Date;
-import java.util.List;
 import java.util.Set;
 
 @Data
@@ -24,8 +23,8 @@ public class Item implements Serializable {
     @Id
     private String id;
 
-    @Column(name = "course_id")
-    private String CourseId;
+    @Column(name = "sub_id")
+    private String subId;
 
     @Column
     private String code;

+ 2 - 1
rankin-product-service/src/main/java/cn/rankin/productservice/entity/Lesson.java

@@ -46,8 +46,9 @@ public class Lesson implements Serializable {
     @Temporal(TemporalType.TIMESTAMP)
     private Date gmtModified;
 
-    @OneToMany(fetch = FetchType.LAZY)
+    @ManyToMany(fetch = FetchType.LAZY)
     @JoinTable(name = "lj_lesson_ware_relation", joinColumns = {@JoinColumn(name = "lesson_id", referencedColumnName = "id")},
             inverseJoinColumns = {@JoinColumn(name = "ware_id", referencedColumnName = "id")})
+    @OrderColumn(name = "sort")
     private List<Ware> wareList;
 }

+ 7 - 2
rankin-product-service/src/main/java/cn/rankin/productservice/entity/LessonWareRelation.java

@@ -4,6 +4,7 @@ import lombok.Data;
 import lombok.ToString;
 import org.hibernate.annotations.DynamicInsert;
 import org.hibernate.annotations.DynamicUpdate;
+import org.hibernate.annotations.GenericGenerator;
 
 import javax.persistence.*;
 import java.io.Serializable;
@@ -18,8 +19,9 @@ import java.util.Date;
 public class LessonWareRelation implements Serializable{
 
     @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Long id;
+    @GeneratedValue(generator = "uuid")
+    @GenericGenerator(name = "uuid", strategy = "uuid")
+    private String id;
 
     @Column(name = "lesson_id")
     private String lessonId;
@@ -27,6 +29,9 @@ public class LessonWareRelation implements Serializable{
     @Column(name = "ware_id")
     private String wareId;
 
+    @Column
+    private Integer sort;
+
     @Column(name = "gmt_created", updatable = false, insertable = false, columnDefinition = "timestamp NULL DEFAULT CURRENT_TIMESTAMP")
     @Temporal(TemporalType.TIMESTAMP)
     private Date gmtCreated;

+ 38 - 1
rankin-product-service/src/main/java/cn/rankin/productservice/entity/Ware.java

@@ -4,12 +4,15 @@ import cn.rankin.common.utils.enums.BaseStatusEnum;
 import cn.rankin.common.utils.enums.WareTypeEnum;
 import lombok.Data;
 import lombok.ToString;
+import org.apache.commons.lang.StringUtils;
 import org.hibernate.annotations.DynamicInsert;
 import org.hibernate.annotations.DynamicUpdate;
 
 import javax.persistence.*;
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 @Data
 @ToString
@@ -39,7 +42,8 @@ public class Ware implements Serializable{
     private String playUrl;
 
     @Column(name = "img_ids")
-    private String imgIds;
+    @Convert(converter = ListAttributeConverter.class)
+    private List<String> imgIds;
 
     @Column(name = "cp_id")
     private String cpId;
@@ -59,4 +63,37 @@ public class Ware implements Serializable{
     @Temporal(TemporalType.TIMESTAMP)
     private Date gmtModified;
 
+    // Attribute converter: List to String
+    public static class ListAttributeConverter implements AttributeConverter<List<String>, String> {
+
+        @Override
+        public String convertToDatabaseColumn(List<String> attr) {
+            Long start = System.currentTimeMillis();
+            if (attr == null || attr.size() == 0) {
+                return "";
+            }
+
+            StringBuilder builder = new StringBuilder("");
+            attr.forEach( s -> builder.append(s + ","));
+            String value = builder.toString();
+
+            return value.substring(0, value.length()-1);
+        }
+
+        @Override
+        public List<String> convertToEntityAttribute(String value) {
+            if (StringUtils.isEmpty(value)) {
+                return new ArrayList<>();
+            }
+
+            List<String> attr = new ArrayList<>();
+            for (String s: value.split(",")) {
+                attr.add(s);
+            }
+
+            return attr;
+        }
+    }
+
 }
+

+ 0 - 1
rankin-product-service/src/main/java/cn/rankin/productservice/repository/CourseRepository.java

@@ -2,7 +2,6 @@ package cn.rankin.productservice.repository;
 
 import cn.rankin.common.utils.enums.BaseStatusEnum;
 import cn.rankin.common.utils.jpa.BasicJpaRepository;
-import cn.rankin.productservice.entity.Course;
 import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.query.Param;

+ 11 - 0
rankin-product-service/src/main/java/cn/rankin/productservice/repository/LessonWareRelationRepository.java

@@ -0,0 +1,11 @@
+package cn.rankin.productservice.repository;
+
+import cn.rankin.common.utils.jpa.BasicJpaRepository;
+import cn.rankin.productservice.entity.LessonWareRelation;
+
+import java.util.List;
+
+public interface LessonWareRelationRepository extends BasicJpaRepository<LessonWareRelation, String> {
+
+    List<LessonWareRelation> findByWareIdIn(List<String> wareids);
+}

+ 2 - 0
rankin-product-service/src/main/java/cn/rankin/productservice/service/CourseService.java

@@ -12,6 +12,7 @@ import cn.rankin.productservice.entity.*;
 import cn.rankin.productservice.repository.*;
 import cn.rankin.productservice.utils.DTOConverter;
 import cn.rankin.productservice.vo.CourseSubItemVo;
+import com.alibaba.fastjson.JSON;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -172,6 +173,7 @@ public class CourseService {
         });
 
         List<Lesson> lessonList = lessonRepository.findByIds(lessonIdList);
+        log.info(JSON.toJSONString(lessonList));
         Map<String, Lesson> lessonMap = new ListToMapUtil<String, Lesson>(lessonList).parse("id");
 
         for(CourseSubRelation rel: subRelationList) {

+ 2 - 2
rankin-product-service/src/main/java/cn/rankin/productservice/service/ItemService.java

@@ -59,7 +59,7 @@ public class ItemService {
 
         // 检查course与merchantId的唯一性
         Item sample = new Item();
-        sample.setCourseId(itemDTO.getCourseId());
+        sample.setSubId(itemDTO.getSubId());
         sample.setMerchantId(itemDTO.getMerchantId());
         if (exists(sample)) {
             return APIResult.error(APICodeManager.ALREADY_EXISTS);
@@ -91,7 +91,7 @@ public class ItemService {
 
         // 检查course与merchantId是否存在
         Item sample = new Item();
-        sample.setCourseId(itemDTO.getCourseId());
+        sample.setSubId(itemDTO.getSubId());
         sample.setMerchantId(itemDTO.getMerchantId());
         if (!exists(sample)) {
             return APIResult.error(APICodeManager.ALREADY_EXISTS);

+ 21 - 0
rankin-product-service/src/main/java/cn/rankin/productservice/service/LessonWareRelationService.java

@@ -0,0 +1,21 @@
+package cn.rankin.productservice.service;
+
+import cn.rankin.productservice.entity.LessonWareRelation;
+import cn.rankin.productservice.repository.LessonWareRelationRepository;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Slf4j
+@Service
+public class LessonWareRelationService {
+
+    @Autowired
+    private LessonWareRelationRepository relationRepository;
+
+    public List<LessonWareRelation> findByWareIds(List<String> wareIds) {
+        return relationRepository.findByWareIdIn(wareIds);
+    }
+}

+ 6 - 6
rankin-product-service/src/main/java/cn/rankin/productservice/service/SupportService.java

@@ -121,16 +121,16 @@ public class SupportService {
 
     @Transactional
     public APIResult<Support> update(SupportDTO supportDTO) {
-        Set<String> supportIdSet = supportDTO.getSupportList();
-        if (!checkSupportIds(supportIdSet)) {
-            return APIResult.error(APICodeManager.error("存在错误的周边编号"));
-        }
+//        Set<String> supportIdSet = supportDTO.getSupportList();
+//        if (!checkSupportIds(supportIdSet)) {
+//            return APIResult.error(APICodeManager.error("存在错误的周边编号"));
+//        }
 
         Support support = convert(supportDTO);
         Support result = supportRepository.save(support);
         
-        String supportId = result.getId();
-        updateSupportList(supportId, supportIdSet);
+//        String supportId = result.getId();
+//        updateSupportList(supportId, supportIdSet);
         return APIResult.ok(result);
     }
 

+ 2 - 0
rankin-product-service/src/main/java/cn/rankin/productservice/service/WareService.java

@@ -6,6 +6,7 @@ import cn.rankin.common.utils.api.page.Page;
 import cn.rankin.common.utils.dto.product.WareDTO;
 import cn.rankin.productservice.entity.Ware;
 import cn.rankin.productservice.repository.WareRepository;
+import com.alibaba.fastjson.JSON;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -57,6 +58,7 @@ public class WareService {
     public APIResult<Ware> update(WareDTO wareDTO) {
         Ware ware = convert(wareDTO);
         Ware result = wareRepository.update(ware);
+        log.info(JSON.toJSONString(ware));
 
         return APIResult.ok(result);
     }

+ 4 - 2
rankin-product-service/src/main/java/cn/rankin/productservice/vo/CourseSubItemVo.java

@@ -3,6 +3,7 @@ package cn.rankin.productservice.vo;
 import cn.rankin.common.utils.enums.BaseStatusEnum;
 import cn.rankin.common.utils.enums.CourseSubTypeEnum;
 import cn.rankin.productservice.entity.Lesson;
+import cn.rankin.productservice.entity.Ware;
 import lombok.Data;
 import org.springframework.beans.BeanUtils;
 
@@ -10,6 +11,7 @@ import javax.persistence.Temporal;
 import javax.persistence.TemporalType;
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 @Data
 public class CourseSubItemVo implements Serializable{
@@ -26,10 +28,10 @@ public class CourseSubItemVo implements Serializable{
 
     private BaseStatusEnum status;
 
-    @Temporal(TemporalType.TIMESTAMP)
+    private List<Ware> wareList;
+
     private Date gmtCreated;
 
-    @Temporal(TemporalType.TIMESTAMP)
     private Date gmtModified;
 
     public static CourseSubItemVo parseToVo(Lesson lesson) {

+ 22 - 0
rankin-product-service/src/test/java/cn/rankin/productservice/repository/AuthorRepositoryTest.java

@@ -0,0 +1,22 @@
+package cn.rankin.productservice.repository;
+
+import cn.rankin.productservice.ProductServiceApplication;
+import com.alibaba.fastjson.JSON;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+
+@Slf4j
+@RunWith(SpringJUnit4ClassRunner.class)
+@SpringBootTest(classes = ProductServiceApplication.class)
+public class AuthorRepositoryTest {
+
+}

+ 1 - 1
rankin-resource-service/src/main/java/cn/rankin/resourceservice/service/ResourceService.java

@@ -3,7 +3,7 @@ package cn.rankin.resourceservice.service;
 import cn.rankin.common.utils.api.model.APICodeManager;
 import cn.rankin.common.utils.api.model.APIResult;
 import cn.rankin.common.utils.api.page.Page;
-import cn.rankin.common.utils.dto.search.SearchDTO;
+import cn.rankin.common.utils.dto.product.SearchDTO;
 import cn.rankin.resourceservice.dto.ResourceRemote;
 import cn.rankin.resourceservice.entity.Resource;
 import cn.rankin.resourceservice.proxy.RemoteResourceProxy;