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 查看文件

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
 
2
 
3
 import java.time.LocalDateTime;
3
 import java.time.LocalDateTime;
4
 import java.io.Serializable;
4
 import java.io.Serializable;
5
+
6
+import com.baomidou.mybatisplus.annotation.IdType;
7
+import com.baomidou.mybatisplus.annotation.TableId;
5
 import lombok.Data;
8
 import lombok.Data;
6
 import lombok.EqualsAndHashCode;
9
 import lombok.EqualsAndHashCode;
7
 import lombok.experimental.Accessors;
10
 import lombok.experimental.Accessors;
24
     /**
27
     /**
25
      * 店铺ID
28
      * 店铺ID
26
      */
29
      */
30
+    @TableId(value = "shop_id", type = IdType.INPUT)
27
     private Integer shopId;
31
     private Integer shopId;
28
 
32
 
29
     /**
33
     /**
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
     @TableField(exist = false)
74
     @TableField(exist = false)
75
     private Integer notesNum;
75
     private Integer notesNum;
76
 
76
 
77
+    @ApiModelProperty("是否追加")
78
+    @TableField(exist = false)
79
+    private Boolean isAdd;
80
+
77
     @ApiModelProperty("投注金额: 单位分")
81
     @ApiModelProperty("投注金额: 单位分")
78
     @TableField(exist = false)
82
     @TableField(exist = false)
79
     private Integer totalPrice;
83
     private Integer totalPrice;
80
 
84
 
85
+    @ApiModelProperty("预期收益: 单位分")
86
+    @TableField(exist = false)
87
+    private String expectedEarning;
88
+
81
     @ApiModelProperty("投注店铺")
89
     @ApiModelProperty("投注店铺")
82
     @TableField(exist = false)
90
     @TableField(exist = false)
83
     private Integer shopId;
91
     private Integer shopId;
90
     @TableField(exist = false)
98
     @TableField(exist = false)
91
     private String issueNo;
99
     private String issueNo;
92
 
100
 
101
+    @ApiModelProperty("投注人名称")
102
+    @TableField(exist = false)
103
+    private String customerName;
104
+
93
     @ApiModelProperty("方案明细")
105
     @ApiModelProperty("方案明细")
94
     @TableField(exist = false)
106
     @TableField(exist = false)
95
     private List<TaBettingPlanItem> itemList;
107
     private List<TaBettingPlanItem> itemList;

+ 5
- 2
src/main/java/com/yunzhi/niucai/entity/TaBettingPlanItem.java 查看文件

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

+ 1
- 1
src/main/java/com/yunzhi/niucai/entity/TaBettingPlanSportDetail.java 查看文件

55
     private LocalDateTime createDate;
55
     private LocalDateTime createDate;
56
 
56
 
57
     @ApiModelProperty(value = "状态")
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
     private LocalDateTime createDate;
94
     private LocalDateTime createDate;
95
 
95
 
96
     @ApiModelProperty(value = "状态")
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
     private LocalDateTime createDate;
55
     private LocalDateTime createDate;
56
 
56
 
57
     @ApiModelProperty(value = "状态")
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
     /**
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 查看文件

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

+ 1
- 1
src/main/java/com/yunzhi/niucai/entity/TdLotteryPrize.java 查看文件

63
     private Integer maxAddPrice;
63
     private Integer maxAddPrice;
64
 
64
 
65
     @ApiModelProperty(value = "状态")
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
 import java.io.Serializable;
4
 import java.io.Serializable;
5
 import java.util.List;
5
 import java.util.List;
6
 
6
 
7
+import com.baomidou.mybatisplus.annotation.IdType;
7
 import com.baomidou.mybatisplus.annotation.TableField;
8
 import com.baomidou.mybatisplus.annotation.TableField;
9
+import com.baomidou.mybatisplus.annotation.TableId;
8
 import io.swagger.annotations.ApiModel;
10
 import io.swagger.annotations.ApiModel;
9
 import io.swagger.annotations.ApiModelProperty;
11
 import io.swagger.annotations.ApiModelProperty;
10
 import lombok.Data;
12
 import lombok.Data;
31
      * 玩法编码 硬编码,不能修改
33
      * 玩法编码 硬编码,不能修改
32
      */
34
      */
33
     @ApiModelProperty("玩法编码")
35
     @ApiModelProperty("玩法编码")
36
+    @TableId(value = "way_code", type = IdType.INPUT)
34
     private String wayCode;
37
     private String wayCode;
35
 
38
 
36
     /**
39
     /**

+ 1
- 1
src/main/java/com/yunzhi/niucai/entity/TdSportOnSale.java 查看文件

40
     private LocalDateTime createDate;
40
     private LocalDateTime createDate;
41
 
41
 
42
     @ApiModelProperty(value = "状态")
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
 import java.time.LocalDateTime;
3
 import java.time.LocalDateTime;
4
 import java.io.Serializable;
4
 import java.io.Serializable;
5
 
5
 
6
+import com.baomidou.mybatisplus.annotation.IdType;
6
 import com.baomidou.mybatisplus.annotation.TableField;
7
 import com.baomidou.mybatisplus.annotation.TableField;
8
+import com.baomidou.mybatisplus.annotation.TableId;
7
 import io.swagger.annotations.ApiModel;
9
 import io.swagger.annotations.ApiModel;
8
 import io.swagger.annotations.ApiModelProperty;
10
 import io.swagger.annotations.ApiModelProperty;
9
 import lombok.Data;
11
 import lombok.Data;
30
      * 过关 m*n格式
32
      * 过关 m*n格式
31
      */
33
      */
32
     @ApiModelProperty("过关 m*n格式")
34
     @ApiModelProperty("过关 m*n格式")
35
+    @TableId(value = "pass_code", type = IdType.INPUT)
33
     private String passCode;
36
     private String passCode;
34
 
37
 
35
     /**
38
     /**

+ 3
- 0
src/main/java/com/yunzhi/niucai/entity/TdSportRules.java 查看文件

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

+ 0
- 2
src/main/java/com/yunzhi/niucai/enums/AdTypeEnum.java 查看文件

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

+ 13
- 0
src/main/java/com/yunzhi/niucai/enums/OrderTypeEnum.java 查看文件

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 查看文件

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
 package com.yunzhi.niucai.service;
1
 package com.yunzhi.niucai.service;
2
 
2
 
3
+import com.yunzhi.niucai.entity.TaBettingPlan;
3
 import com.yunzhi.niucai.entity.TaCustomerBetting;
4
 import com.yunzhi.niucai.entity.TaCustomerBetting;
4
 import com.baomidou.mybatisplus.extension.service.IService;
5
 import com.baomidou.mybatisplus.extension.service.IService;
5
 
6
 
13
  */
14
  */
14
 public interface ITaCustomerBettingService extends IService<TaCustomerBetting> {
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 查看文件

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
 import com.yunzhi.niucai.entity.*;
5
 import com.yunzhi.niucai.entity.*;
6
 import com.yunzhi.niucai.enums.SportStatusEnum;
6
 import com.yunzhi.niucai.enums.SportStatusEnum;
7
 import com.yunzhi.niucai.enums.StatusEnum;
7
 import com.yunzhi.niucai.enums.StatusEnum;
8
+import com.yunzhi.niucai.mapper.TaBettingPlanItemMapper;
8
 import com.yunzhi.niucai.mapper.TaBettingPlanMapper;
9
 import com.yunzhi.niucai.mapper.TaBettingPlanMapper;
10
+import com.yunzhi.niucai.mapper.TaBettingPlanSportDetailMapper;
9
 import com.yunzhi.niucai.service.*;
11
 import com.yunzhi.niucai.service.*;
10
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
12
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
11
 import org.springframework.beans.factory.annotation.Autowired;
13
 import org.springframework.beans.factory.annotation.Autowired;
12
 import org.springframework.stereotype.Service;
14
 import org.springframework.stereotype.Service;
15
+import org.springframework.transaction.annotation.Transactional;
13
 
16
 
14
 import java.util.ArrayList;
17
 import java.util.ArrayList;
15
 import java.util.List;
18
 import java.util.List;
44
     @Autowired
47
     @Autowired
45
     ITaShopService iTaShopService;
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
     @Override
62
     @Override
63
+    @Transactional(rollbackFor = Exception.class)
48
     public boolean betting(TaBettingPlan taBettingPlan, TaCustomer customer) throws Exception {
64
     public boolean betting(TaBettingPlan taBettingPlan, TaCustomer customer) throws Exception {
49
         //
65
         //
50
         validateBetting(taBettingPlan);
66
         validateBetting(taBettingPlan);
51
 
67
 
52
         taBettingPlan.setCustomerId(customer.getCustomerId());
68
         taBettingPlan.setCustomerId(customer.getCustomerId());
69
+        taBettingPlan.setCustomerName(customer.getName());
53
         taBettingPlan.setStatus(StatusEnum.READY.getCode());
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
         return true;
90
         return true;
61
     }
91
     }
62
 
92
 
171
 
201
 
172
             // 不能超过限额
202
             // 不能超过限额
173
             Integer maxPrice = tdLottery.getMaxPrice();
203
             Integer maxPrice = tdLottery.getMaxPrice();
174
-            if (tdLottery.getIsAdd()) {
204
+            if (null != taBettingPlan.getIsAdd() && taBettingPlan.getIsAdd()) {
175
                 maxPrice = tdLottery.getMaxAddPrice();
205
                 maxPrice = tdLottery.getMaxAddPrice();
176
             }
206
             }
177
             if (maxPrice < totalCharges) {
207
             if (maxPrice < totalCharges) {
287
 
317
 
288
         return;
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
 package com.yunzhi.niucai.service.impl;
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
 import com.yunzhi.niucai.mapper.TaCustomerBettingMapper;
5
 import com.yunzhi.niucai.mapper.TaCustomerBettingMapper;
6
+import com.yunzhi.niucai.mapper.TaCustomerBettingSportMapper;
5
 import com.yunzhi.niucai.service.ITaCustomerBettingService;
7
 import com.yunzhi.niucai.service.ITaCustomerBettingService;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9
+import org.springframework.beans.factory.annotation.Autowired;
7
 import org.springframework.stereotype.Service;
10
 import org.springframework.stereotype.Service;
11
+import org.springframework.transaction.annotation.Transactional;
8
 
12
 
9
 /**
13
 /**
10
  * <p>
14
  * <p>
17
 @Service
21
 @Service
18
 public class TaCustomerBettingServiceImpl extends ServiceImpl<TaCustomerBettingMapper, TaCustomerBetting> implements ITaCustomerBettingService {
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 查看文件

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 查看文件

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>