licailing před 3 roky
rodič
revize
268794a213

+ 5 - 0
src/main/java/com/izouma/nineth/domain/Coupon.java

@@ -1,6 +1,7 @@
 package com.izouma.nineth.domain;
 
 import com.izouma.nineth.converter.LongArrayConverter;
+import com.izouma.nineth.dto.GeneralDTO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -11,6 +12,7 @@ import lombok.NoArgsConstructor;
 import javax.persistence.Column;
 import javax.persistence.Convert;
 import javax.persistence.Entity;
+import javax.persistence.Transient;
 import java.time.LocalDateTime;
 import java.util.List;
 
@@ -41,4 +43,7 @@ public class Coupon extends BaseEntity {
     private LocalDateTime expiration;
 
     private int projectId;
+
+    @Transient
+    private List<GeneralDTO> collections;
 }

+ 10 - 0
src/main/java/com/izouma/nineth/dto/GeneralDTO.java

@@ -0,0 +1,10 @@
+package com.izouma.nineth.dto;
+
+import lombok.Data;
+
+@Data
+public class GeneralDTO {
+    private Long id;
+
+    private String name;
+}

+ 22 - 3
src/main/java/com/izouma/nineth/web/CouponController.java

@@ -1,5 +1,8 @@
 package com.izouma.nineth.web;
+
 import com.izouma.nineth.domain.Coupon;
+import com.izouma.nineth.dto.GeneralDTO;
+import com.izouma.nineth.repo.CollectionRepo;
 import com.izouma.nineth.service.CouponService;
 import com.izouma.nineth.dto.PageQuery;
 import com.izouma.nineth.exception.BusinessException;
@@ -7,6 +10,7 @@ import com.izouma.nineth.repo.CouponRepo;
 import com.izouma.nineth.utils.ObjUtils;
 import com.izouma.nineth.utils.excel.ExcelUtils;
 import lombok.AllArgsConstructor;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.data.domain.Page;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -14,13 +18,15 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("/coupon")
 @AllArgsConstructor
 public class CouponController extends BaseController {
-    private CouponService couponService;
-    private CouponRepo couponRepo;
+    private CouponService  couponService;
+    private CouponRepo     couponRepo;
+    private CollectionRepo collectionRepo;
 
     //@PreAuthorize("hasRole('ADMIN')")
     @PostMapping("/save")
@@ -42,7 +48,20 @@ public class CouponController extends BaseController {
 
     @GetMapping("/get/{id}")
     public Coupon get(@PathVariable Long id) {
-        return couponRepo.findById(id).orElseThrow(new BusinessException("无记录"));
+        Coupon coupon = couponRepo.findById(id).orElseThrow(new BusinessException("无记录"));
+        if (CollectionUtils.isNotEmpty(coupon.getCollectionIds())) {
+            List<GeneralDTO> dtos = collectionRepo.findAllByIdIn(coupon.getCollectionIds())
+                    .stream()
+                    .map(collection -> {
+                        GeneralDTO dto = new GeneralDTO();
+                        dto.setId(collection.getId());
+                        dto.setName(collection.getName());
+                        return dto;
+                    })
+                    .collect(Collectors.toList());
+            coupon.setCollections(dtos);
+        }
+        return coupon;
     }
 
     @PostMapping("/del/{id}")

+ 32 - 0
src/main/vue/src/router.js

@@ -439,6 +439,38 @@ const router = new Router({
                         title: '转赠订单'
                     }
                 },
+                {
+                    path: '/assetPostEdit',
+                    name: 'AssetPostEdit',
+                    component: () => import(/* webpackChunkName: "assetPostEdit" */ '@/views/AssetPostEdit.vue'),
+                    meta: {
+                        title: '邮寄衍生品编辑'
+                    }
+                },
+                {
+                    path: '/assetPostList',
+                    name: 'AssetPostList',
+                    component: () => import(/* webpackChunkName: "assetPostList" */ '@/views/AssetPostList.vue'),
+                    meta: {
+                        title: '邮寄衍生品'
+                    }
+                },
+                {
+                    path: '/derivativeEdit',
+                    name: 'DerivativeEdit',
+                    component: () => import(/* webpackChunkName: "derivativeEdit" */ '@/views/DerivativeEdit.vue'),
+                    meta: {
+                        title: '藏品管理编辑'
+                    }
+                },
+                {
+                    path: '/derivativeList',
+                    name: 'DerivativeList',
+                    component: () => import(/* webpackChunkName: "derivativeList" */ '@/views/DerivativeList.vue'),
+                    meta: {
+                        title: '藏品管理'
+                    }
+                },
                 {
                     path: '/adapayMerchantEdit',
                     name: 'AdapayMerchantEdit',

+ 2 - 9
src/main/vue/src/views/ActivityCollectionEdit.vue

@@ -16,13 +16,6 @@
                     size="small"
                     style="max-width: 500px"
                 >
-                    <el-form-item label="项目" prop="projectId">
-                        <el-select v-model="formData.projectId" @change="changeProject" :disabled="!canEdit">
-                            <el-option :value="0" label="第九空间"></el-option>
-                            <el-option :value="1" label="cosmos art"></el-option>
-                            <!-- <el-option :value="2" label="modern point"></el-option> -->
-                        </el-select>
-                    </el-form-item>
                     <el-form-item prop="name" label="活动名称">
                         <el-input v-model="formData.name" :disabled="!canEdit"></el-input>
                     </el-form-item>
@@ -176,12 +169,12 @@ export default {
     methods: {
         filterCollection(val) {
             this.filterOptions = this.options.filter(
-                i => i.projectId == this.formData.projectId && (i => i.name.includes(val) || i.id == val)
+               (i => i.name.includes(val) || i.id == val)
             );
         },
         filterCollection1(val) {
             this.filterOptions1 = this.options.filter(
-                i => i.projectId == this.formData.projectId && (i.name.includes(val) || i.id == val)
+                i => (i.name.includes(val) || i.id == val)
             );
         },
         changeProject(val) {

+ 4 - 7
src/main/vue/src/views/CouponEdit.vue

@@ -16,13 +16,6 @@
                     size="small"
                     style="max-width: 500px"
                 >
-                    <!-- <el-form-item label="项目" prop="projectId">
-                        <el-select v-model="formData.projectId">
-                            <el-option :value="0" label="第九空间"></el-option>
-                            <el-option :value="1" label="cosmos art"></el-option>
-                            <el-option :value="2" label="modern point"></el-option>
-                        </el-select>
-                    </el-form-item> -->
                     <el-form-item prop="name" label="名称">
                         <el-input v-model="formData.name"></el-input>
                     </el-form-item>
@@ -91,6 +84,9 @@ export default {
                 .get('coupon/get/' + this.$route.query.id)
                 .then(res => {
                     this.formData = res;
+                    if (res.collectionIds) {
+                        this.collections = res.collections;
+                    }
                 })
                 .catch(e => {
                     console.log(e);
@@ -166,6 +162,7 @@ export default {
         },
         submit() {
             let data = { ...this.formData };
+            data.collections = null;
 
             this.saving = true;
             this.$http