licailing há 4 anos atrás
pai
commit
da1e72124a

+ 9 - 1
src/main/java/com/izouma/jiashanxia/domain/OrderInfo.java

@@ -85,6 +85,15 @@ public class OrderInfo extends BaseEntity {
     @ApiModelProperty(value = "日期")
     private LocalDate day;
 
+    @ApiModelProperty(value = "真实姓名")
+    private String realName;
+
+    @ApiModelProperty(value = "身份证")
+    private String IDNo;
+
+    @ApiModelProperty(value = "购买手机")
+    private String buyPhone;
+
 //    @ApiModelProperty(value = "区分是哪种订单")
 //    @Enumerated(EnumType.STRING)
 //    private GoodType goodType;
@@ -94,5 +103,4 @@ public class OrderInfo extends BaseEntity {
 //
 //    @ApiModelProperty(value = "物流单号")
 //    private String trackingNumber;
-
 }

+ 23 - 6
src/main/java/com/izouma/jiashanxia/domain/Package.java

@@ -2,7 +2,6 @@ package com.izouma.jiashanxia.domain;
 
 import com.izouma.jiashanxia.converter.LongArrayConverter;
 import com.izouma.jiashanxia.converter.StringArrayConverter;
-import com.izouma.jiashanxia.enums.GoodType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -47,9 +46,9 @@ public class Package extends BaseEntity {
 //    @ApiModelProperty(value = "套餐类型")
 //    private PackageType type;
 
-    @ApiModelProperty(value = "区分是哪种类型")
-    @Enumerated(EnumType.STRING)
-    private GoodType goodType;
+//    @ApiModelProperty(value = "区分是哪种类型")
+//    @Enumerated(EnumType.STRING)
+//    private GoodType goodType;
 
     @ApiModelProperty(value = "套餐分类")
     private Long categoryId;
@@ -90,12 +89,30 @@ public class Package extends BaseEntity {
     @ApiModelProperty(value = "推广海报")
     private String poster;
 
-    @ApiModelProperty(value = "小的海报")
-    private String smallPoster;
+    @Convert(converter = StringArrayConverter.class)
+    @ApiModelProperty(value = "多图海报")
+    private List<String> smallPoster;
+
+    @ApiModelProperty(value = "分享文案")
+    private String share;
+
+    @ApiModelProperty(value = "活动流程")
+    @Column(columnDefinition = "TEXT")
+    private String workflow;
+
+    @ApiModelProperty(value = "注意事项")
+    private String note;
+
+    private boolean IDNo;
+
+    private boolean realName;
+
+    private boolean buyPhone;
 
     @Transient
     private String attractionsName;
 
     @Transient
     private String categoryName;
+
 }

+ 40 - 0
src/main/java/com/izouma/jiashanxia/domain/ShoppingCart.java

@@ -1,9 +1,49 @@
 package com.izouma.jiashanxia.domain;
 
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
 import java.math.BigDecimal;
+import java.time.LocalDate;
 
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
 public class ShoppingCart extends BaseEntity {
 
+    private Long userId;
+
+    @ApiModelProperty(value = "数量")
+    private Integer num;
+
+    @ApiModelProperty(value = "套餐")
+    private Long packageId;
 
+    @ApiModelProperty(value = "价钱")
     private BigDecimal price;
+
+    @ApiModelProperty(value = "分享此链接的用户")
+    private Long parentUserId;
+
+    @ApiModelProperty(value = "选择的规格Id")
+    private Long stockId;
+
+    @ApiModelProperty(value = "规格")
+    private String    specification;
+
+    @ApiModelProperty(value = "日期")
+    private LocalDate day;
+
+    @ApiModelProperty(value = "真实姓名")
+    private String realName;
+
+    @ApiModelProperty(value = "身份证")
+    private String IDNo;
+
+    @ApiModelProperty(value = "购买手机")
+    private String buyPhone;
 }

+ 2 - 0
src/main/java/com/izouma/jiashanxia/domain/Stock.java

@@ -28,4 +28,6 @@ public class Stock extends BaseEntity {
     @ApiModelProperty(value = "库存")
     private int        inventory;
     private BigDecimal price;
+    @ApiModelProperty(value = "原价")
+    private BigDecimal originalPrice;
 }

+ 9 - 1
src/main/java/com/izouma/jiashanxia/dto/CreateOrder.java

@@ -13,7 +13,6 @@ import lombok.NoArgsConstructor;
 @NoArgsConstructor
 @AllArgsConstructor
 public class CreateOrder {
-    private Long userId;
 
     @ApiModelProperty(value = "支付方式")
     private PayMethod payMethod;
@@ -31,4 +30,13 @@ public class CreateOrder {
 
     @ApiModelProperty(value = "选择的规格Id")
     private Long stockId;
+
+    @ApiModelProperty(value = "真实姓名")
+    private String realName;
+
+    @ApiModelProperty(value = "身份证")
+    private String IDNo;
+
+    @ApiModelProperty(value = "购买手机")
+    private String buyPhone;
 }

+ 13 - 5
src/main/java/com/izouma/jiashanxia/service/OrderInfoService.java

@@ -67,9 +67,14 @@ public class OrderInfoService {
             if (StrUtil.isNotEmpty(pageQuery.getSearch())) {
                 withdrawService.getNickname(pageQuery.getSearch(), and, root, criteriaBuilder);
             }
-            if (CollUtil.isNotEmpty(finalPackageIds)) {
-                and.add(root.get("packageId").in(finalPackageIds));
+            if (attractionsId > 0) {
+                if (CollUtil.isNotEmpty(finalPackageIds)) {
+                    and.add(root.get("packageId").in(finalPackageIds));
+                } else {
+                    and.add(criteriaBuilder.equal(root.get("id"), 0));
+                }
             }
+
             return criteriaBuilder.and(and.toArray(new Predicate[0]));
         }), JpaUtils.toPageRequest(pageQuery));
     }
@@ -115,6 +120,9 @@ public class OrderInfoService {
                 .name(aPackage.getName())
                 .repeatedly(aPackage.isRepeatedly())
                 .num(createOrder.getNum())
+                .realName(createOrder.getRealName())
+                .buyPhone(createOrder.getBuyPhone())
+                .IDNo(createOrder.getIDNo())
                 .build();
         if (ObjectUtil.isNotEmpty(createOrder.getStockId())) {
             // 保存规格
@@ -218,9 +226,9 @@ public class OrderInfoService {
         // 上级分销
         this.distribution2(order);
         User user = order.getUser();
-        if (ObjectUtil.isNotNull(user.getPhone())){
-            smsService.sendNotification(user.getPhone(),order.getName(),order.getOrderNumber());
-        }
+//        if (ObjectUtil.isNotNull(user.getPhone())) {
+//            smsService.sendNotification(user.getPhone(), order.getName(), order.getOrderNumber());
+//        }
 
 //        orderDelayService.remove(order.getId(), order.getCreatedAt());
     }

+ 2 - 1
src/main/java/com/izouma/jiashanxia/service/sms/AliSmsService.java

@@ -96,7 +96,8 @@ public class AliSmsService implements SmsService {
         request.putQueryParameter("PhoneNumbers", phone);
         request.putQueryParameter("SignName", Constants.SMS_SIGN_NAME);
         request.putQueryParameter("TemplateCode", Constants.SMS_TEMPLATE_CODE_NOTIFICATION);
-        request.putQueryParameter("TemplateParam", "[{\"name\":\"天游佳处\"},{\"goods\":" + goods + "},{\"order\":" + transactionId + "}]");
+        String str = "{\"goods\":" + "\"" + goods + "\"" + ",\"order\":" + "\"" + transactionId + "\"" + '}';
+        request.putQueryParameter("TemplateParam", str);
         try {
             CommonResponse response = client.getCommonResponse(request);
             if (response.getHttpStatus() != 200) {

+ 4 - 3
src/main/vue/src/components/PackageEdit.vue

@@ -194,7 +194,7 @@
                 </el-select>
             </el-form-item>
             <el-form-item label="分享海报" prop="poster">
-                <poster-upload
+                <!-- <poster-upload
                     v-model="formData.poster"
                     :width="80"
                     :height="160"
@@ -203,8 +203,9 @@
                     key="22"
                     name="poster"
                 >
-                    <!-- <div slot="tips" class="tips">尺寸120x240px</div> -->
-                </poster-upload>
+                    <div slot="tips" class="tips">尺寸120x240px</div>
+                </poster-upload> -->
+                <crop-upload v-model="formData.poster"></crop-upload>
             </el-form-item>
             <el-form-item label="小程序海报" prop="smallPoster">
                 <crop-upload v-model="formData.smallPoster"></crop-upload>

+ 1 - 1
src/main/vue/src/mixins/pageableTable.js

@@ -94,7 +94,7 @@ export default {
             this.$router
                 .replace({
                     query: {
-                        ...this.$router.query,
+                        ...this.$route.query,
                         page: e
                     }
                 })

+ 5 - 1
src/main/vue/src/views/UserEdit.vue

@@ -279,7 +279,11 @@ export default {
             let data = this.formData.authorities;
             this.display = false;
             for (let item in data) {
-                if (data[item].name === 'ROLE_WRITER' || data[item].name === 'ROLE_BRAND') {
+                if (
+                    data[item].name === 'ROLE_WRITER' ||
+                    data[item].name === 'ROLE_ATTRACTIONS' ||
+                    data[item].name === 'ROLE_BRAND'
+                ) {
                     this.display = true;
                     break;
                 }

+ 18 - 5
src/main/vue/src/views/attractions/OrderInfoList2.vue

@@ -125,19 +125,25 @@ export default {
             status: [],
             packageId: '',
             packages: [],
-            dateRange: []
+            dateRange: [],
+            attractionsId: 1
         };
     },
     computed: {
         selection() {
             return this.$refs.table.selection.map(i => i.id);
-        }
+        },
+        ...mapState(['userInfo'])
     },
     mounted() {
         this.$http
-            .get('/package/allList')
+            .post(
+                '/package/all',
+                { size: 1000, query: { del: false, attractionsId: this.attractionsId } },
+                { body: 'json' }
+            )
             .then(res => {
-                this.packages = res;
+                this.packages = res.content;
             })
             .catch(e => {
                 console.log(e);
@@ -174,7 +180,14 @@ export default {
                 data.query.packageId = this.packageId;
             }
             if (this.$route.query.id) {
-                data.query.attractionsId = Number(this.$route.query.id);
+                this.attractionsId = Number(this.$route.query.id);
+                data.query.attractionsId = this.attractionsId;
+            } else {
+                let attractionsId = this.userInfo.attractionsId;
+                if (attractionsId !== undefined) {
+                    this.attractionsId = attractionsId;
+                }
+                data.query.attractionsId = this.attractionsId;
             }
             return data;
         },

+ 0 - 1
src/test/java/com/izouma/jiashanxia/service/OrderInfoServiceTest.java

@@ -55,7 +55,6 @@ public class OrderInfoServiceTest {
                 .num(1)
                 .packageId(17L)
                 .stockId(1009L)
-                .userId(916L)
                 .payMethod(PayMethod.WEIXIN)
                 .build();
         System.out.println(orderInfoService.createOrder1(build, 916L));

+ 9 - 0
src/test/java/com/izouma/jiashanxia/service/sms/SmsServiceTest.java

@@ -18,4 +18,13 @@ public class SmsServiceTest extends ApplicationTests {
     public void verify() throws SmsService.SmsVerifyException {
         smsService.verify("15077886171", "5274");
     }
+
+    @Test
+    public void notification() {
+        smsService.sendNotification("18205083565", "测试套餐", "123456");
+//        String goods = "abc";
+//        String transactionId = "123";
+//        String str = "{\"goods\":" + "\"" + goods + "\"" + ",\"order\":" + "\"" + transactionId + "\"" + '}';
+//        System.out.println(str);
+    }
 }