Your Name 4 년 전
부모
커밋
cfab95f5be
24개의 변경된 파일465개의 추가작업 그리고 14개의 파일을 삭제
  1. 119
    0
      src/main/java/com/yunzhi/niucai/controller/TaOrderController.java
  2. 5
    1
      src/main/java/com/yunzhi/niucai/entity/SysRecommendShop.java
  3. 12
    0
      src/main/java/com/yunzhi/niucai/entity/TaBettingPlan.java
  4. 5
    2
      src/main/java/com/yunzhi/niucai/entity/TaBettingPlanItem.java
  5. 1
    1
      src/main/java/com/yunzhi/niucai/entity/TaBettingPlanSportDetail.java
  6. 1
    1
      src/main/java/com/yunzhi/niucai/entity/TaCustomerBetting.java
  7. 1
    1
      src/main/java/com/yunzhi/niucai/entity/TaCustomerBettingSport.java
  8. 1
    1
      src/main/java/com/yunzhi/niucai/entity/TaMatchWay.java
  9. 61
    0
      src/main/java/com/yunzhi/niucai/entity/TaOrder.java
  10. 3
    0
      src/main/java/com/yunzhi/niucai/entity/TdLottery.java
  11. 1
    1
      src/main/java/com/yunzhi/niucai/entity/TdLotteryPrize.java
  12. 3
    0
      src/main/java/com/yunzhi/niucai/entity/TdPlayWay.java
  13. 1
    1
      src/main/java/com/yunzhi/niucai/entity/TdSportOnSale.java
  14. 3
    0
      src/main/java/com/yunzhi/niucai/entity/TdSportPass.java
  15. 3
    0
      src/main/java/com/yunzhi/niucai/entity/TdSportRules.java
  16. 0
    2
      src/main/java/com/yunzhi/niucai/enums/AdTypeEnum.java
  17. 13
    0
      src/main/java/com/yunzhi/niucai/enums/OrderTypeEnum.java
  18. 21
    0
      src/main/java/com/yunzhi/niucai/mapper/TaOrderMapper.java
  19. 2
    0
      src/main/java/com/yunzhi/niucai/service/ITaCustomerBettingService.java
  20. 19
    0
      src/main/java/com/yunzhi/niucai/service/ITaOrderService.java
  21. 56
    2
      src/main/java/com/yunzhi/niucai/service/impl/TaBettingPlanServiceImpl.java
  22. 58
    1
      src/main/java/com/yunzhi/niucai/service/impl/TaCustomerBettingServiceImpl.java
  23. 71
    0
      src/main/java/com/yunzhi/niucai/service/impl/TaOrderServiceImpl.java
  24. 5
    0
      src/main/resources/mapper/TaOrderMapper.xml

+ 119
- 0
src/main/java/com/yunzhi/niucai/controller/TaOrderController.java 파일 보기

@@ -0,0 +1,119 @@
1
+package com.yunzhi.niucai.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.yunzhi.niucai.common.BaseController;
7
+import com.yunzhi.niucai.common.ResponseBean;
8
+import io.swagger.annotations.Api;
9
+import io.swagger.annotations.ApiOperation;
10
+import io.swagger.annotations.ApiParam;
11
+import org.slf4j.Logger;
12
+import org.slf4j.LoggerFactory;
13
+import org.springframework.beans.factory.annotation.Autowired;
14
+import org.springframework.web.bind.annotation.PathVariable;
15
+import org.springframework.web.bind.annotation.RequestBody;
16
+import org.springframework.web.bind.annotation.RequestMapping;
17
+import org.springframework.web.bind.annotation.RequestMethod;
18
+import org.springframework.web.bind.annotation.RequestParam;
19
+import com.yunzhi.niucai.service.ITaOrderService;
20
+import com.yunzhi.niucai.entity.TaOrder;
21
+import org.springframework.web.bind.annotation.RestController;
22
+
23
+/**
24
+ * <p>
25
+    * 订单主表  前端控制器
26
+    * </p>
27
+ *
28
+ * @author yansen
29
+ * @since 2020-09-09
30
+ */
31
+
32
+@Api(tags = "订单主表 ")
33
+@RestController
34
+@RequestMapping("/")
35
+public class TaOrderController extends BaseController {
36
+
37
+    private final Logger logger = LoggerFactory.getLogger(TaOrderController.class);
38
+
39
+    @Autowired
40
+    public ITaOrderService iTaOrderService;
41
+
42
+//
43
+//    /**
44
+//     * 分页查询列表
45
+//     * @param pageNum
46
+//     * @param pageSize
47
+//     * @return
48
+//     */
49
+//    @RequestMapping(value="/taOrder",method= RequestMethod.GET)
50
+//    @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
51
+//    public ResponseBean taOrderList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
+//									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
53
+//
54
+//		    IPage<TaOrder> pg = new Page<>(pageNum, pageSize);
55
+//            QueryWrapper<TaOrder> queryWrapper = new QueryWrapper<>();
56
+//            queryWrapper.orderByDesc("create_date");
57
+//
58
+//            IPage<TaOrder> result = iTaOrderService.page(pg, queryWrapper);
59
+//            return ResponseBean.success(result);
60
+//    }
61
+//
62
+//    /**
63
+//     * 保存对象
64
+//     * @param taOrder 实体对象
65
+//     * @return
66
+//     */
67
+//    @RequestMapping(value="/taOrder",method= RequestMethod.POST)
68
+//    @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
69
+//    public ResponseBean taOrderAdd(@ApiParam("保存内容") @RequestBody TaOrder taOrder) throws Exception{
70
+//
71
+//        if (iTaOrderService.save(taOrder)){
72
+//            return ResponseBean.success(taOrder);
73
+//        }else {
74
+//            return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
75
+//        }
76
+//    }
77
+//
78
+//    /**
79
+//     * 根据id删除对象
80
+//     * @param id  实体ID
81
+//     */
82
+//    @RequestMapping(value="/taOrder/{id}", method= RequestMethod.DELETE)
83
+//    @ApiOperation(value="删除", notes = "删除", httpMethod = "DELETE", response = ResponseBean.class)
84
+//    public ResponseBean taOrderDelete(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
85
+//        if(iTaOrderService.removeById(id)){
86
+//            return ResponseBean.success("success");
87
+//        }else {
88
+//            return ResponseBean.error("删除失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
89
+//        }
90
+//    }
91
+//
92
+//    /**
93
+//     * 修改对象
94
+//     * @param id  实体ID
95
+//     * @param taOrder 实体对象
96
+//     * @return
97
+//     */
98
+//    @RequestMapping(value="/taOrder/{id}",method= RequestMethod.PUT)
99
+//    @ApiOperation(value="更新", notes = "更新", httpMethod = "PUT", response = ResponseBean.class)
100
+//    public ResponseBean taOrderUpdate(@ApiParam("对象ID") @PathVariable Integer id,
101
+//                                        @ApiParam("更新内容") @RequestBody TaOrder taOrder) throws Exception{
102
+//
103
+//        if (iTaOrderService.updateById(taOrder)){
104
+//            return ResponseBean.success(iTaOrderService.getById(id));
105
+//        }else {
106
+//            return ResponseBean.error("修改失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
107
+//        }
108
+//    }
109
+//
110
+//    /**
111
+//     * 根据id查询对象
112
+//     * @param id  实体ID
113
+//     */
114
+//    @RequestMapping(value="/taOrder/{id}",method= RequestMethod.GET)
115
+//    @ApiOperation(value="详情", notes = "详情", httpMethod = "GET", response = ResponseBean.class)
116
+//    public ResponseBean taOrderGet(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
117
+//        return ResponseBean.success(iTaOrderService.getById(id));
118
+//    }
119
+}

+ 5
- 1
src/main/java/com/yunzhi/niucai/entity/SysRecommendShop.java 파일 보기

@@ -2,6 +2,9 @@ package com.yunzhi.niucai.entity;
2 2
 
3 3
 import java.time.LocalDateTime;
4 4
 import java.io.Serializable;
5
+
6
+import com.baomidou.mybatisplus.annotation.IdType;
7
+import com.baomidou.mybatisplus.annotation.TableId;
5 8
 import lombok.Data;
6 9
 import lombok.EqualsAndHashCode;
7 10
 import lombok.experimental.Accessors;
@@ -24,6 +27,7 @@ public class SysRecommendShop implements Serializable {
24 27
     /**
25 28
      * 店铺ID
26 29
      */
30
+    @TableId(value = "shop_id", type = IdType.INPUT)
27 31
     private Integer shopId;
28 32
 
29 33
     /**
@@ -39,7 +43,7 @@ public class SysRecommendShop implements Serializable {
39 43
     /**
40 44
      * 状态
41 45
      */
42
-    private Boolean status;
46
+    private Integer status;
43 47
 
44 48
 
45 49
 }

+ 12
- 0
src/main/java/com/yunzhi/niucai/entity/TaBettingPlan.java 파일 보기

@@ -74,10 +74,18 @@ public class TaBettingPlan implements Serializable {
74 74
     @TableField(exist = false)
75 75
     private Integer notesNum;
76 76
 
77
+    @ApiModelProperty("是否追加")
78
+    @TableField(exist = false)
79
+    private Boolean isAdd;
80
+
77 81
     @ApiModelProperty("投注金额: 单位分")
78 82
     @TableField(exist = false)
79 83
     private Integer totalPrice;
80 84
 
85
+    @ApiModelProperty("预期收益: 单位分")
86
+    @TableField(exist = false)
87
+    private String expectedEarning;
88
+
81 89
     @ApiModelProperty("投注店铺")
82 90
     @TableField(exist = false)
83 91
     private Integer shopId;
@@ -90,6 +98,10 @@ public class TaBettingPlan implements Serializable {
90 98
     @TableField(exist = false)
91 99
     private String issueNo;
92 100
 
101
+    @ApiModelProperty("投注人名称")
102
+    @TableField(exist = false)
103
+    private String customerName;
104
+
93 105
     @ApiModelProperty("方案明细")
94 106
     @TableField(exist = false)
95 107
     private List<TaBettingPlanItem> itemList;

+ 5
- 2
src/main/java/com/yunzhi/niucai/entity/TaBettingPlanItem.java 파일 보기

@@ -4,7 +4,9 @@ import java.time.LocalDateTime;
4 4
 import java.io.Serializable;
5 5
 import java.util.List;
6 6
 
7
+import com.baomidou.mybatisplus.annotation.IdType;
7 8
 import com.baomidou.mybatisplus.annotation.TableField;
9
+import com.baomidou.mybatisplus.annotation.TableId;
8 10
 import io.swagger.annotations.ApiModel;
9 11
 import io.swagger.annotations.ApiModelProperty;
10 12
 import lombok.Data;
@@ -28,10 +30,11 @@ public class TaBettingPlanItem implements Serializable {
28 30
     private static final long serialVersionUID = 1L;
29 31
 
30 32
     @ApiModelProperty(value = "条目ID")
31
-    private String itemNo;
33
+    @TableId(value = "item_no", type = IdType.AUTO)
34
+    private Integer itemNo;
32 35
 
33 36
     @ApiModelProperty(value = "方案ID")
34
-    private String planId;
37
+    private Integer planId;
35 38
 
36 39
     @ApiModelProperty(value = "方案简介")
37 40
     private String summary;

+ 1
- 1
src/main/java/com/yunzhi/niucai/entity/TaBettingPlanSportDetail.java 파일 보기

@@ -55,7 +55,7 @@ public class TaBettingPlanSportDetail implements Serializable {
55 55
     private LocalDateTime createDate;
56 56
 
57 57
     @ApiModelProperty(value = "状态")
58
-    private Boolean status;
58
+    private Integer status;
59 59
 
60 60
 
61 61
 }

+ 1
- 1
src/main/java/com/yunzhi/niucai/entity/TaCustomerBetting.java 파일 보기

@@ -94,7 +94,7 @@ public class TaCustomerBetting implements Serializable {
94 94
     private LocalDateTime createDate;
95 95
 
96 96
     @ApiModelProperty(value = "状态")
97
-    private Boolean status;
97
+    private Integer status;
98 98
 
99 99
 
100 100
 }

+ 1
- 1
src/main/java/com/yunzhi/niucai/entity/TaCustomerBettingSport.java 파일 보기

@@ -55,7 +55,7 @@ public class TaCustomerBettingSport implements Serializable {
55 55
     private LocalDateTime createDate;
56 56
 
57 57
     @ApiModelProperty(value = "状态")
58
-    private Boolean status;
58
+    private Integer status;
59 59
 
60 60
 
61 61
 }

+ 1
- 1
src/main/java/com/yunzhi/niucai/entity/TaMatchWay.java 파일 보기

@@ -67,7 +67,7 @@ public class TaMatchWay implements Serializable {
67 67
     /**
68 68
      * 状态
69 69
      */
70
-    private Boolean status;
70
+    private Integer status;
71 71
 
72 72
 
73 73
 }

+ 61
- 0
src/main/java/com/yunzhi/niucai/entity/TaOrder.java 파일 보기

@@ -0,0 +1,61 @@
1
+package com.yunzhi.niucai.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import java.time.LocalDateTime;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import java.io.Serializable;
7
+import io.swagger.annotations.ApiModel;
8
+import io.swagger.annotations.ApiModelProperty;
9
+import lombok.Data;
10
+import lombok.EqualsAndHashCode;
11
+import lombok.experimental.Accessors;
12
+
13
+/**
14
+ * <p>
15
+ * 订单主表 
16
+ * </p>
17
+ *
18
+ * @author yansen
19
+ * @since 2020-09-09
20
+ */
21
+@Data
22
+@EqualsAndHashCode(callSuper = false)
23
+@Accessors(chain = true)
24
+@ApiModel(value="TaOrder对象", description="订单主表 ")
25
+public class TaOrder implements Serializable {
26
+
27
+    private static final long serialVersionUID = 1L;
28
+
29
+    @ApiModelProperty(value = "订单ID")
30
+    @TableId(value = "order_id", type = IdType.INPUT)
31
+    private String orderId;
32
+
33
+    @ApiModelProperty(value = "订单类型 充值,购彩等")
34
+    private String orderType;
35
+
36
+    @ApiModelProperty(value = "数量 购彩则使用倍数")
37
+    private Integer amount;
38
+
39
+    @ApiModelProperty(value = "金额 单位分")
40
+    private Integer charge;
41
+
42
+    @ApiModelProperty(value = "店铺ID")
43
+    private Integer shopId;
44
+
45
+    @ApiModelProperty(value = "下单人")
46
+    private Integer customerId;
47
+
48
+    @ApiModelProperty(value = "对应投注")
49
+    private Integer bettingId;
50
+
51
+    @ApiModelProperty(value = "是否支付")
52
+    private Boolean isPayed;
53
+
54
+    @ApiModelProperty(value = "创建时间")
55
+    private LocalDateTime createDate;
56
+
57
+    @ApiModelProperty(value = "状态 1有效,0无效")
58
+    private Integer status;
59
+
60
+
61
+}

+ 3
- 0
src/main/java/com/yunzhi/niucai/entity/TdLottery.java 파일 보기

@@ -4,7 +4,9 @@ import java.time.LocalDateTime;
4 4
 import java.io.Serializable;
5 5
 import java.util.List;
6 6
 
7
+import com.baomidou.mybatisplus.annotation.IdType;
7 8
 import com.baomidou.mybatisplus.annotation.TableField;
9
+import com.baomidou.mybatisplus.annotation.TableId;
8 10
 import lombok.Data;
9 11
 import lombok.EqualsAndHashCode;
10 12
 import lombok.experimental.Accessors;
@@ -27,6 +29,7 @@ public class TdLottery implements Serializable {
27 29
     /**
28 30
      * 彩种ID
29 31
      */
32
+    @TableId(value = "lottery_id", type = IdType.INPUT)
30 33
     private String lotteryId;
31 34
 
32 35
     /**

+ 1
- 1
src/main/java/com/yunzhi/niucai/entity/TdLotteryPrize.java 파일 보기

@@ -63,7 +63,7 @@ public class TdLotteryPrize implements Serializable {
63 63
     private Integer maxAddPrice;
64 64
 
65 65
     @ApiModelProperty(value = "状态")
66
-    private Boolean status;
66
+    private Integer status;
67 67
 
68 68
 
69 69
 }

+ 3
- 0
src/main/java/com/yunzhi/niucai/entity/TdPlayWay.java 파일 보기

@@ -4,7 +4,9 @@ import java.time.LocalDateTime;
4 4
 import java.io.Serializable;
5 5
 import java.util.List;
6 6
 
7
+import com.baomidou.mybatisplus.annotation.IdType;
7 8
 import com.baomidou.mybatisplus.annotation.TableField;
9
+import com.baomidou.mybatisplus.annotation.TableId;
8 10
 import io.swagger.annotations.ApiModel;
9 11
 import io.swagger.annotations.ApiModelProperty;
10 12
 import lombok.Data;
@@ -31,6 +33,7 @@ public class TdPlayWay implements Serializable {
31 33
      * 玩法编码 硬编码,不能修改
32 34
      */
33 35
     @ApiModelProperty("玩法编码")
36
+    @TableId(value = "way_code", type = IdType.INPUT)
34 37
     private String wayCode;
35 38
 
36 39
     /**

+ 1
- 1
src/main/java/com/yunzhi/niucai/entity/TdSportOnSale.java 파일 보기

@@ -40,7 +40,7 @@ public class TdSportOnSale implements Serializable {
40 40
     private LocalDateTime createDate;
41 41
 
42 42
     @ApiModelProperty(value = "状态")
43
-    private Boolean status;
43
+    private Integer status;
44 44
 
45 45
 
46 46
 }

+ 3
- 0
src/main/java/com/yunzhi/niucai/entity/TdSportPass.java 파일 보기

@@ -3,7 +3,9 @@ package com.yunzhi.niucai.entity;
3 3
 import java.time.LocalDateTime;
4 4
 import java.io.Serializable;
5 5
 
6
+import com.baomidou.mybatisplus.annotation.IdType;
6 7
 import com.baomidou.mybatisplus.annotation.TableField;
8
+import com.baomidou.mybatisplus.annotation.TableId;
7 9
 import io.swagger.annotations.ApiModel;
8 10
 import io.swagger.annotations.ApiModelProperty;
9 11
 import lombok.Data;
@@ -30,6 +32,7 @@ public class TdSportPass implements Serializable {
30 32
      * 过关 m*n格式
31 33
      */
32 34
     @ApiModelProperty("过关 m*n格式")
35
+    @TableId(value = "pass_code", type = IdType.INPUT)
33 36
     private String passCode;
34 37
 
35 38
     /**

+ 3
- 0
src/main/java/com/yunzhi/niucai/entity/TdSportRules.java 파일 보기

@@ -3,6 +3,8 @@ package com.yunzhi.niucai.entity;
3 3
 import java.time.LocalDateTime;
4 4
 import java.io.Serializable;
5 5
 
6
+import com.baomidou.mybatisplus.annotation.IdType;
7
+import com.baomidou.mybatisplus.annotation.TableId;
6 8
 import io.swagger.annotations.ApiModel;
7 9
 import io.swagger.annotations.ApiModelProperty;
8 10
 import lombok.Data;
@@ -29,6 +31,7 @@ public class TdSportRules implements Serializable {
29 31
      * 编码
30 32
      */
31 33
     @ApiModelProperty("编码")
34
+    @TableId(value = "rule_code", type = IdType.INPUT)
32 35
     private String ruleCode;
33 36
 
34 37
     /**

+ 0
- 2
src/main/java/com/yunzhi/niucai/enums/AdTypeEnum.java 파일 보기

@@ -1,7 +1,5 @@
1 1
 package com.yunzhi.niucai.enums;
2 2
 
3
-import io.swagger.annotations.ApiModel;
4
-import io.swagger.annotations.ApiModelProperty;
5 3
 import lombok.AllArgsConstructor;
6 4
 import lombok.Getter;
7 5
 

+ 13
- 0
src/main/java/com/yunzhi/niucai/enums/OrderTypeEnum.java 파일 보기

@@ -0,0 +1,13 @@
1
+package com.yunzhi.niucai.enums;
2
+
3
+import lombok.AllArgsConstructor;
4
+import lombok.Getter;
5
+
6
+@Getter
7
+@AllArgsConstructor
8
+public enum OrderTypeEnum {
9
+    BUY_LOTTERY("buy-lottery", "购彩");
10
+
11
+    private String code;
12
+    private String desc;
13
+}

+ 21
- 0
src/main/java/com/yunzhi/niucai/mapper/TaOrderMapper.java 파일 보기

@@ -0,0 +1,21 @@
1
+package com.yunzhi.niucai.mapper;
2
+
3
+import com.yunzhi.niucai.entity.TaOrder;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+import org.apache.ibatis.annotations.Select;
7
+
8
+/**
9
+ * <p>
10
+ * 订单主表  Mapper 接口
11
+ * </p>
12
+ *
13
+ * @author yansen
14
+ * @since 2020-09-09
15
+ */
16
+@Mapper
17
+public interface TaOrderMapper extends BaseMapper<TaOrder> {
18
+
19
+    @Select("select val from sys_nextval where seq_key = #{seqKey}")
20
+    Integer nextval(String seqKey) throws Exception;
21
+}

+ 2
- 0
src/main/java/com/yunzhi/niucai/service/ITaCustomerBettingService.java 파일 보기

@@ -1,5 +1,6 @@
1 1
 package com.yunzhi.niucai.service;
2 2
 
3
+import com.yunzhi.niucai.entity.TaBettingPlan;
3 4
 import com.yunzhi.niucai.entity.TaCustomerBetting;
4 5
 import com.baomidou.mybatisplus.extension.service.IService;
5 6
 
@@ -13,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 14
  */
14 15
 public interface ITaCustomerBettingService extends IService<TaCustomerBetting> {
15 16
 
17
+    TaCustomerBetting saveByBetting(TaBettingPlan taBettingPlan) throws Exception;
16 18
 }

+ 19
- 0
src/main/java/com/yunzhi/niucai/service/ITaOrderService.java 파일 보기

@@ -0,0 +1,19 @@
1
+package com.yunzhi.niucai.service;
2
+
3
+import com.yunzhi.niucai.entity.TaBettingPlan;
4
+import com.yunzhi.niucai.entity.TaCustomerBetting;
5
+import com.yunzhi.niucai.entity.TaOrder;
6
+import com.baomidou.mybatisplus.extension.service.IService;
7
+
8
+/**
9
+ * <p>
10
+ * 订单主表  服务类
11
+ * </p>
12
+ *
13
+ * @author yansen
14
+ * @since 2020-09-09
15
+ */
16
+public interface ITaOrderService extends IService<TaOrder> {
17
+
18
+    TaOrder placeOrderBy(TaBettingPlan taBettingPlan, TaCustomerBetting taCustomerBetting) throws Exception;
19
+}

+ 56
- 2
src/main/java/com/yunzhi/niucai/service/impl/TaBettingPlanServiceImpl.java 파일 보기

@@ -5,11 +5,14 @@ import com.yunzhi.niucai.common.StringUtils;
5 5
 import com.yunzhi.niucai.entity.*;
6 6
 import com.yunzhi.niucai.enums.SportStatusEnum;
7 7
 import com.yunzhi.niucai.enums.StatusEnum;
8
+import com.yunzhi.niucai.mapper.TaBettingPlanItemMapper;
8 9
 import com.yunzhi.niucai.mapper.TaBettingPlanMapper;
10
+import com.yunzhi.niucai.mapper.TaBettingPlanSportDetailMapper;
9 11
 import com.yunzhi.niucai.service.*;
10 12
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
11 13
 import org.springframework.beans.factory.annotation.Autowired;
12 14
 import org.springframework.stereotype.Service;
15
+import org.springframework.transaction.annotation.Transactional;
13 16
 
14 17
 import java.util.ArrayList;
15 18
 import java.util.List;
@@ -44,19 +47,46 @@ public class TaBettingPlanServiceImpl extends ServiceImpl<TaBettingPlanMapper, T
44 47
     @Autowired
45 48
     ITaShopService iTaShopService;
46 49
 
50
+    @Autowired
51
+    ITaCustomerBettingService iTaCustomerBettingService;
52
+
53
+    @Autowired
54
+    ITaOrderService iTaOrderService;
55
+
56
+    @Autowired
57
+    TaBettingPlanItemMapper taBettingPlanItemMapper;
58
+
59
+    @Autowired
60
+    TaBettingPlanSportDetailMapper taBettingPlanSportDetailMapper;
61
+
47 62
     @Override
63
+    @Transactional(rollbackFor = Exception.class)
48 64
     public boolean betting(TaBettingPlan taBettingPlan, TaCustomer customer) throws Exception {
49 65
         //
50 66
         validateBetting(taBettingPlan);
51 67
 
52 68
         taBettingPlan.setCustomerId(customer.getCustomerId());
69
+        taBettingPlan.setCustomerName(customer.getName());
53 70
         taBettingPlan.setStatus(StatusEnum.READY.getCode());
54 71
 
72
+        if (StringUtils.isEmpty(taBettingPlan.getAliaTitle())) {
73
+            String aliaTitle = taBettingPlan.getIsSport()
74
+                ? String.format("%s %s", taBettingPlan.getLotteryName(), taBettingPlan.getPassName())
75
+                    : String.format("%s", taBettingPlan.getLotteryName());
76
+            taBettingPlan.setAliaTitle(aliaTitle);
77
+        }
78
+
55 79
         // 入库
80
+        saveBettingPlan(taBettingPlan);
56 81
 
57
-        // 我的
82
+        // 生成我的下单
83
+        TaCustomerBetting taCustomerBetting = iTaCustomerBettingService.saveByBetting(taBettingPlan);
58 84
 
59 85
         // 下单
86
+        TaOrder order = iTaOrderService.placeOrderBy(taBettingPlan, taCustomerBetting);
87
+
88
+        // 支付接口
89
+
60 90
         return true;
61 91
     }
62 92
 
@@ -171,7 +201,7 @@ public class TaBettingPlanServiceImpl extends ServiceImpl<TaBettingPlanMapper, T
171 201
 
172 202
             // 不能超过限额
173 203
             Integer maxPrice = tdLottery.getMaxPrice();
174
-            if (tdLottery.getIsAdd()) {
204
+            if (null != taBettingPlan.getIsAdd() && taBettingPlan.getIsAdd()) {
175 205
                 maxPrice = tdLottery.getMaxAddPrice();
176 206
             }
177 207
             if (maxPrice < totalCharges) {
@@ -287,4 +317,28 @@ public class TaBettingPlanServiceImpl extends ServiceImpl<TaBettingPlanMapper, T
287 317
 
288 318
         return;
289 319
     }
320
+
321
+    private void saveBettingPlan(TaBettingPlan taBettingPlan) throws Exception {
322
+        if (!save(taBettingPlan)) {
323
+            throw new Exception("生成投注方案出错");
324
+        }
325
+
326
+        for (TaBettingPlanItem item: taBettingPlan.getItemList()) {
327
+            item.setPlanId(taBettingPlan.getPlanId());
328
+
329
+            int effectRows = taBettingPlanItemMapper.insert(item);
330
+            if (effectRows < 1) {
331
+                throw new Exception("生成投注方案明细出错");
332
+            }
333
+
334
+            if (null != item.getDetailList() && item.getDetailList().size() > 0) {
335
+                for(TaBettingPlanSportDetail detail: item.getDetailList()) {
336
+                    detail.setItemNo(item.getItemNo());
337
+                    if (taBettingPlanSportDetailMapper.insert(detail) < 1) {
338
+                        throw new Exception("生成投注方案玩法明细出错");
339
+                    }
340
+                }
341
+            }
342
+        }
343
+    }
290 344
 }

+ 58
- 1
src/main/java/com/yunzhi/niucai/service/impl/TaCustomerBettingServiceImpl.java 파일 보기

@@ -1,10 +1,14 @@
1 1
 package com.yunzhi.niucai.service.impl;
2 2
 
3
-import com.yunzhi.niucai.entity.TaCustomerBetting;
3
+import com.yunzhi.niucai.entity.*;
4
+import com.yunzhi.niucai.enums.StatusEnum;
4 5
 import com.yunzhi.niucai.mapper.TaCustomerBettingMapper;
6
+import com.yunzhi.niucai.mapper.TaCustomerBettingSportMapper;
5 7
 import com.yunzhi.niucai.service.ITaCustomerBettingService;
6 8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9
+import org.springframework.beans.factory.annotation.Autowired;
7 10
 import org.springframework.stereotype.Service;
11
+import org.springframework.transaction.annotation.Transactional;
8 12
 
9 13
 /**
10 14
  * <p>
@@ -17,4 +21,57 @@ import org.springframework.stereotype.Service;
17 21
 @Service
18 22
 public class TaCustomerBettingServiceImpl extends ServiceImpl<TaCustomerBettingMapper, TaCustomerBetting> implements ITaCustomerBettingService {
19 23
 
24
+    @Autowired
25
+    TaCustomerBettingSportMapper taCustomerBettingSportMapper;
26
+
27
+    @Override
28
+    @Transactional(rollbackFor = Exception.class)
29
+    public TaCustomerBetting saveByBetting(TaBettingPlan plan) throws Exception {
30
+        TaCustomerBetting taCustomerBetting = new TaCustomerBetting();
31
+        taCustomerBetting.setCustomerId(plan.getCustomerId());
32
+        taCustomerBetting.setCustomerName(plan.getCustomerName());
33
+        taCustomerBetting.setShopId(plan.getShopId());
34
+        taCustomerBetting.setShopName(plan.getShopName());
35
+        taCustomerBetting.setPlanId(plan.getPlanId());
36
+        taCustomerBetting.setPlanName(plan.getAliaTitle());
37
+        taCustomerBetting.setLotteryId(plan.getLotteryId());
38
+        taCustomerBetting.setLotteryName(plan.getLotteryName());
39
+        taCustomerBetting.setIssueNo(plan.getIssueNo());
40
+        taCustomerBetting.setBettingTimes(plan.getTimes());
41
+        taCustomerBetting.setIsAdd(plan.getIsAdd());
42
+        taCustomerBetting.setNotesNum(plan.getNotesNum());
43
+        taCustomerBetting.setTotalPrice(plan.getTotalPrice());
44
+        taCustomerBetting.setExpectedEarning(plan.getExpectedEarning());
45
+        taCustomerBetting.setIsPrinted(false);
46
+        taCustomerBetting.setIsOpen(false);
47
+        taCustomerBetting.setIsWinning(false);
48
+        taCustomerBetting.setStatus(StatusEnum.READY.getCode());
49
+
50
+        if (!save(taCustomerBetting)) {
51
+            throw new Exception("生成我的投注失败");
52
+        }
53
+
54
+        if (null != plan.getItemList()) {
55
+            for (TaBettingPlanItem item: plan.getItemList()) {
56
+                if (null != item.getDetailList()) {
57
+                    for (TaBettingPlanSportDetail detail: item.getDetailList()) {
58
+                        TaCustomerBettingSport bettingSport = new TaCustomerBettingSport();
59
+                        bettingSport.setBettingId(taCustomerBetting.getBettingId());
60
+                        bettingSport.setItemNo(item.getItemNo());
61
+                        bettingSport.setDetailNo(detail.getSerialNo());
62
+                        bettingSport.setMatchId(item.getMatchId());
63
+                        bettingSport.setRuleCode(detail.getRuleCode());
64
+                        bettingSport.setOddsOrdered(detail.getOdds());
65
+                        bettingSport.setStatus(StatusEnum.NORMAL.getCode());
66
+
67
+                        if (taCustomerBettingSportMapper.insert(bettingSport) < 1) {
68
+                            throw new Exception("生成我的投注明细失败");
69
+                        }
70
+                    }
71
+                }
72
+            }
73
+        }
74
+
75
+        return taCustomerBetting;
76
+    }
20 77
 }

+ 71
- 0
src/main/java/com/yunzhi/niucai/service/impl/TaOrderServiceImpl.java 파일 보기

@@ -0,0 +1,71 @@
1
+package com.yunzhi.niucai.service.impl;
2
+
3
+import com.yunzhi.niucai.common.DateUtils;
4
+import com.yunzhi.niucai.common.StringUtils;
5
+import com.yunzhi.niucai.entity.TaBettingPlan;
6
+import com.yunzhi.niucai.entity.TaCustomerBetting;
7
+import com.yunzhi.niucai.entity.TaOrder;
8
+import com.yunzhi.niucai.enums.OrderTypeEnum;
9
+import com.yunzhi.niucai.enums.StatusEnum;
10
+import com.yunzhi.niucai.mapper.TaOrderMapper;
11
+import com.yunzhi.niucai.service.ITaOrderService;
12
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
13
+import org.springframework.stereotype.Service;
14
+import org.springframework.transaction.annotation.Transactional;
15
+
16
+import java.util.ArrayList;
17
+import java.util.List;
18
+
19
+/**
20
+ * <p>
21
+ * 订单主表  服务实现类
22
+ * </p>
23
+ *
24
+ * @author yansen
25
+ * @since 2020-09-09
26
+ */
27
+@Service
28
+public class TaOrderServiceImpl extends ServiceImpl<TaOrderMapper, TaOrder> implements ITaOrderService {
29
+
30
+    @Override
31
+    @Transactional(rollbackFor = Exception.class)
32
+    public TaOrder placeOrderBy(TaBettingPlan taBettingPlan, TaCustomerBetting taCustomerBetting) throws Exception {
33
+        TaOrder order = new TaOrder();
34
+        order.setOrderId(nextOrderNo("BL", 16, true));
35
+        order.setOrderType(OrderTypeEnum.BUY_LOTTERY.getCode());
36
+        order.setAmount(taCustomerBetting.getBettingTimes());
37
+        order.setCharge(taCustomerBetting.getTotalPrice());
38
+        order.setShopId(taCustomerBetting.getShopId());
39
+        order.setCustomerId(taCustomerBetting.getCustomerId());
40
+        order.setBettingId(taCustomerBetting.getBettingId());
41
+        order.setIsPayed(false);    // 未支付
42
+        order.setStatus(StatusEnum.NORMAL.getCode());
43
+
44
+        if (!save(order)) {
45
+            throw new Exception("生成购彩订单失败");
46
+        }
47
+
48
+        return order;
49
+    }
50
+
51
+    private String nextOrderNo(String prefix, int length, boolean padDate) {
52
+        List<String> parts = new ArrayList<>();
53
+        parts.add(prefix);
54
+
55
+        String dtStr = null;
56
+        if (padDate) {
57
+            dtStr = DateUtils.todayCompact();
58
+            parts.add(dtStr);
59
+        }
60
+
61
+        int fillLength = length - prefix.length();
62
+        if (padDate) {
63
+            fillLength -= dtStr.length();
64
+        }
65
+
66
+        String zeros = StringUtils.repeat("0", fillLength);
67
+        parts.add(zeros);
68
+
69
+        return String.join("-", parts);
70
+    }
71
+}

+ 5
- 0
src/main/resources/mapper/TaOrderMapper.xml 파일 보기

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.yunzhi.niucai.mapper.TaOrderMapper">
4
+
5
+</mapper>