Browse Source

添加批量加入版本号接口

fengyanjie 4 năm trước cách đây
mục cha
commit
ddb1a32d41

+ 8 - 4
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/controller/RwdeditVersionController.java

@@ -6,10 +6,9 @@ import com.persagy.common.web.PagedResponse;
 import com.persagy.dmp.rwd.edit.entity.RwdeditVersion;
 import com.persagy.dmp.rwd.edit.service.RwdeditVersionService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 @RestController
 @RequestMapping("/rwdedit/version")
@@ -28,4 +27,9 @@ public class RwdeditVersionController {
         return service.create(param);
     }
 
+    @PostMapping("/infoAddVersion")
+    public MapResponse infoAddVersion(@RequestBody List<Integer> infoIdList, @RequestParam Integer versionId, @RequestParam Integer type) {
+        return service.infoAddVersion(infoIdList, versionId, type);
+    }
+
 }

+ 27 - 0
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/entity/RwdeditVersionChangeRecord.java

@@ -0,0 +1,27 @@
+package com.persagy.dmp.rwd.edit.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.Table;
+
+/**
+ * @author fengyanjie
+ */
+@Setter
+@Getter
+@Entity
+@Table(name = "rwdedit_version_change_record")
+@IdClass(VersionPK.class)
+public class RwdeditVersionChangeRecord {
+
+    @Id
+    private Integer versionId;
+    @Id
+    private Integer changeId;
+    @Id
+    private Integer type;
+}

+ 55 - 0
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/entity/VersionPK.java

@@ -0,0 +1,55 @@
+package com.persagy.dmp.rwd.edit.entity;
+
+import javax.persistence.Column;
+import javax.persistence.Embeddable;
+import java.io.Serializable;
+import java.util.Objects;
+
+/**
+ * @author: yaoll
+ * @date: 2020-11-01
+ * @verison: 1.0
+ */
+@Embeddable
+public class VersionPK implements Serializable {
+
+    @Column
+    private Integer versionId;
+    @Column
+    private Integer changeId;
+    @Column
+    private Integer type;
+
+    public VersionPK() {
+    }
+
+    public VersionPK(Integer versionId, Integer changeId, Integer type) {
+        this.versionId = versionId;
+        this.changeId = changeId;
+        this.type = type;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (o == null || getClass() != o.getClass()) {
+            return false;
+        }
+        VersionPK versionPK = (VersionPK) o;
+        return versionId.equals(versionPK.versionId) &&
+                changeId.equals(versionPK.changeId) &&
+                type.equals(versionPK.type);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(versionId, changeId, type);
+    }
+
+    @Override
+    public String toString() {
+        return "GroupPK{versionId=" + versionId + ", changeId=" + changeId + ",type=" + type + "}";
+    }
+}

+ 9 - 0
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/repository/RwdeditVersionChangeRecordRepository.java

@@ -0,0 +1,9 @@
+package com.persagy.dmp.rwd.edit.repository;
+
+import com.persagy.dmp.rwd.edit.entity.RwdeditVersionChangeRecord;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.querydsl.QuerydslPredicateExecutor;
+
+public interface RwdeditVersionChangeRecordRepository extends JpaRepository<RwdeditVersionChangeRecord, Integer>, QuerydslPredicateExecutor<RwdeditVersionChangeRecord> {
+}
+

+ 21 - 0
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/service/RwdeditVersionService.java

@@ -8,12 +8,15 @@ import com.persagy.common.web.PagedResponse;
 import com.persagy.dmp.rwd.edit.config.web.UserUtils;
 import com.persagy.dmp.rwd.edit.entity.QRwdeditVersion;
 import com.persagy.dmp.rwd.edit.entity.RwdeditVersion;
+import com.persagy.dmp.rwd.edit.entity.RwdeditVersionChangeRecord;
+import com.persagy.dmp.rwd.edit.repository.RwdeditVersionChangeRecordRepository;
 import com.persagy.dmp.rwd.edit.repository.RwdeditVersionRepository;
 import com.querydsl.core.types.dsl.BooleanExpression;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.transaction.Transactional;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -26,6 +29,9 @@ public class RwdeditVersionService {
     @Autowired
     private RwdeditVersionRepository repository;
 
+    @Autowired
+    private RwdeditVersionChangeRecordRepository changeRecordRepository;
+
     private List<BooleanExpression> parse(ObjectNode criteria) {
         // TODO
         return null;
@@ -58,5 +64,20 @@ public class RwdeditVersionService {
         response.add("id", entity.getId());
         return response;
     }
+
+    @Transactional
+    public MapResponse infoAddVersion(List<Integer> infoIdList, Integer versionId, Integer type) {
+        MapResponse response = new MapResponse();
+        List<RwdeditVersionChangeRecord> data = new ArrayList<>();
+        for (Integer infoId : infoIdList) {
+            RwdeditVersionChangeRecord entity = new RwdeditVersionChangeRecord();
+            entity.setVersionId(versionId);
+            entity.setChangeId(infoId);
+            entity.setType(type);
+            data.add(entity);
+        }
+        changeRecordRepository.saveAll(data);
+        return response;
+    }
 }