Browse Source

新增用户PV值接口

Lawliet Knight 1 year ago
parent
commit
f5f741ce9d

+ 89 - 0
commons-pojo/src/main/java/com/bjtdba/entity/userCenter/UserAddress.java

@@ -75,6 +75,34 @@ public class UserAddress implements Serializable {
75 75
      * 地址id(regions)
76 76
      */
77 77
     private String codeList;
78
+    /**
79
+     * 订单id
80
+     */
81
+    private Long orderId;
82
+    /**
83
+     * pv值
84
+     */
85
+    private Long pv;
86
+    /**
87
+     * pv状态
88
+     */
89
+    private Integer status;
90
+    /**
91
+     * pv值获得来源备注
92
+     */
93
+    private String mark;
94
+    /**
95
+     * 订单类型
96
+     */
97
+    private String orderType;
98
+    /**
99
+     * pv值(还是订单?)结算时间
100
+     */
101
+    private Date settlenmentTime;
102
+    /**
103
+     * pv值(?)添加时间
104
+     */
105
+    private Integer addtime;
78 106
 
79 107
 
80 108
     public Integer getAddressId() {
@@ -205,5 +233,66 @@ public class UserAddress implements Serializable {
205 233
         this.codeList = codeList;
206 234
     }
207 235
 
236
+    public Long getOrderId() {
237
+        return orderId;
238
+    }
239
+
240
+    public void setOrderId(Long orderId) {
241
+        this.orderId = orderId;
242
+    }
243
+
244
+    public Long getPv() {
245
+        return pv;
246
+    }
247
+
248
+    public void setPv(Long pv) {
249
+        this.pv = pv;
250
+    }
251
+
252
+
253
+    public Integer getStatus() {
254
+        return status;
255
+    }
256
+
257
+    public void setStatus(Integer status) {
258
+        this.status = status;
259
+    }
260
+
261
+    public String getMark() {
262
+        return mark;
263
+    }
264
+
265
+    public void setMark(String mark) {
266
+        this.mark = mark;
267
+    }
268
+
269
+    public String getOrderType() {
270
+        return orderType;
271
+    }
272
+
273
+    public void setOrderType(String orderType) {
274
+        this.orderType = orderType;
275
+    }
276
+
277
+
278
+    public Date getSettlenmentTime() {
279
+        return settlenmentTime;
280
+    }
281
+
282
+    public void setSettlenmentTime(Date settlenmentTime) {
283
+        this.settlenmentTime = settlenmentTime;
284
+    }
285
+
286
+    public Integer getAddtime() {
287
+        return addtime;
288
+    }
289
+
290
+    public void setAddtime(Integer addtime) {
291
+        this.addtime = addtime;
292
+    }
293
+
294
+
295
+
296
+
208 297
 }
209 298
 

+ 12 - 0
userCenter_service/src/main/java/com/bjtdba/userCenter/controller/UserController.java

@@ -7,6 +7,10 @@ import com.bjtdba.entity.userCenter.UserBill;
7 7
 import com.bjtdba.entity.userCenter.UserCertification;
8 8
 import com.bjtdba.userCenter.dto.request.*;
9 9
 import com.bjtdba.userCenter.dto.response.UserContributeModifyResponse;
10
+import com.bjtdba.userCenter.dto.request.GetUserListRequest;
11
+import com.bjtdba.userCenter.dto.request.ModifyPVRequest;
12
+import com.bjtdba.userCenter.dto.request.UserScoreModifyRequest;
13
+import com.bjtdba.userCenter.dto.response.ModifyPVResponse;
10 14
 import com.bjtdba.userCenter.dto.response.UserScoreModifyResponse;
11 15
 import com.bjtdba.userCenter.dto.response.common.ApiResponse;
12 16
 import com.bjtdba.userCenter.dto.response.common.PageResult;
@@ -627,4 +631,12 @@ public class UserController {
627 631
     public ApiResponse<UserContributeModifyResponse> modifyUserContribute(@Validated @RequestBody UserContributeModifyRequest request) {
628 632
         return ApiResponse.success(userService.modifyUserContribute(request));
629 633
     }
634
+
635
+    @PostMapping("/modifyPV")
636
+    public ApiResponse<ModifyPVResponse> modifyUserPV(
637
+            @Validated @RequestBody ModifyPVRequest request) {
638
+        return ApiResponse.success(userService.modifyUserPV(request));
639
+}
640
+
641
+
630 642
 }

+ 11 - 0
userCenter_service/src/main/java/com/bjtdba/userCenter/dao/UserPvLogDao.java

@@ -0,0 +1,11 @@
1
+package com.bjtdba.userCenter.dao;
2
+import com.bjtdba.userCenter.entity.UserPvLogEntity;
3
+import org.apache.ibatis.annotations.Mapper;
4
+import org.springframework.stereotype.Repository;
5
+
6
+@Repository
7
+@Mapper
8
+public interface UserPvLogDao {
9
+     int insertByEntity(UserPvLogEntity entity);
10
+
11
+}

+ 1 - 0
userCenter_service/src/main/java/com/bjtdba/userCenter/dao/UserSignScoreDao.java

@@ -93,5 +93,6 @@ public interface UserSignScoreDao {
93 93
 
94 94
     int insertByEntity(UserSignScoreEntity record);
95 95
 
96
+
96 97
 }
97 98
 

+ 29 - 0
userCenter_service/src/main/java/com/bjtdba/userCenter/dto/request/ModifyPVRequest.java

@@ -0,0 +1,29 @@
1
+package com.bjtdba.userCenter.dto.request;
2
+
3
+import lombok.Data;
4
+import javax.validation.constraints.*;
5
+import java.math.BigDecimal;
6
+
7
+@Data
8
+public class ModifyPVRequest {
9
+    private Integer uid;
10
+
11
+    @NotNull(message = "pv值不能为空")
12
+    @DecimalMin(value = "0.00", message = "pv值不能为负数")
13
+    private BigDecimal pv;
14
+
15
+    @Min(value = -1, message = "状态值错误")
16
+    @Max(value = 1,message = "状态值错误")
17
+    private Integer status; // pv状态1-有效 0-失效 -1待确认
18
+
19
+    private String mark;
20
+
21
+    @NotBlank(message = "订单ID不能为空")
22
+    @Size(max = 255, message = "订单ID长度超限")
23
+    private String orderId;
24
+
25
+    @NotBlank(message = "订单类型不能为空")
26
+    @Size(max = 255, message = "订单类型长度超限")
27
+    private String orderType;
28
+
29
+}

+ 20 - 0
userCenter_service/src/main/java/com/bjtdba/userCenter/dto/response/ModifyPVResponse.java

@@ -0,0 +1,20 @@
1
+package com.bjtdba.userCenter.dto.response;
2
+
3
+import lombok.Builder;
4
+import lombok.Data;
5
+
6
+import java.math.BigDecimal;
7
+import java.sql.Timestamp;
8
+
9
+@Data
10
+@Builder
11
+public class ModifyPVResponse {
12
+    private Integer id;
13
+    private Integer uid;
14
+    private BigDecimal pv;
15
+    private Integer status;
16
+    private String mark;
17
+    private String orderId;
18
+    private String orderType;
19
+    private Timestamp settlementTime;
20
+}

+ 20 - 0
userCenter_service/src/main/java/com/bjtdba/userCenter/entity/UserPvLogEntity.java

@@ -0,0 +1,20 @@
1
+package com.bjtdba.userCenter.entity;
2
+
3
+import lombok.Data;
4
+
5
+import java.math.BigDecimal;
6
+import java.sql.Timestamp;
7
+
8
+@Data
9
+public class UserPvLogEntity {
10
+    private Integer id;
11
+    private Integer uid;
12
+    private BigDecimal pv;
13
+    private Integer status;
14
+    private String mark;
15
+    private String orderId;
16
+    private String orderType;
17
+    private Timestamp settlementTime;
18
+    private Long addtime;
19
+}
20
+

+ 1 - 1
userCenter_service/src/main/java/com/bjtdba/userCenter/service/UserAddressService.java

@@ -28,6 +28,7 @@ public interface UserAddressService {
28 28
      */
29 29
 //    Page<UserAddress> queryByPage(UserAddress userAddress, PageRequest pageRequest);
30 30
     public List<UserAddress> queryListByObj(UserAddress userAddress);
31
+
31 32
     /**
32 33
      * 新增数据
33 34
      *
@@ -51,5 +52,4 @@ public interface UserAddressService {
51 52
      * @return 是否成功
52 53
      */
53 54
     boolean deleteById(Integer addressId);
54
-
55 55
 }

+ 6 - 0
userCenter_service/src/main/java/com/bjtdba/userCenter/service/UserService.java

@@ -2,6 +2,10 @@ package com.bjtdba.userCenter.service;
2 2
 
3 3
 import com.bjtdba.entity.order.User;
4 4
 import com.bjtdba.entity.userCenter.UserBill;
5
+import com.bjtdba.userCenter.dto.request.GetUserListRequest;
6
+import com.bjtdba.userCenter.dto.request.ModifyPVRequest;
7
+import com.bjtdba.userCenter.dto.request.UserScoreModifyRequest;
8
+import com.bjtdba.userCenter.dto.response.ModifyPVResponse;
5 9
 import com.bjtdba.userCenter.dto.request.*;
6 10
 import com.bjtdba.userCenter.dto.response.UserContributeModifyResponse;
7 11
 import com.bjtdba.userCenter.dto.response.UserScoreModifyResponse;
@@ -45,6 +49,8 @@ public interface UserService {
45 49
 
46 50
     UserScoreModifyResponse modifyUserScore(UserScoreModifyRequest request);
47 51
 
52
+    ModifyPVResponse modifyUserPV(ModifyPVRequest request);
53
+
48 54
     UserContributeModifyResponse modifyUserContribute(UserContributeModifyRequest request);
49 55
 
50 56
     UserDTO createUserInfo(CreateUserInfoRequest request);

+ 13 - 0
userCenter_service/src/main/java/com/bjtdba/userCenter/service/impl/UserAddressServiceImpl.java

@@ -80,4 +80,17 @@ public class UserAddressServiceImpl implements UserAddressService {
80 80
     public boolean deleteById(Integer addressId) {
81 81
         return this.userAddressDao.deleteById(addressId) > 0;
82 82
     }
83
+
84
+    /**
85
+     * 插入pv记录
86
+     *
87
+     * @param userAddress 包含pv记录的实体对象
88
+     * @return 是否成功
89
+     */
90
+    @Override
91
+    public boolean insertPvLog(UserAddress userAddress) {
92
+        return userAddressDao.insertPvLog(userAddress) > 0;
93
+    }
94
+
95
+
83 96
 }

+ 40 - 0
userCenter_service/src/main/java/com/bjtdba/userCenter/service/impl/UserServiceImpl.java

@@ -5,10 +5,15 @@ import com.bjtdba.entity.userCenter.UserBill;
5 5
 import com.bjtdba.userCenter.dao.*;
6 6
 import com.bjtdba.userCenter.dto.request.*;
7 7
 import com.bjtdba.userCenter.dto.response.UserContributeModifyResponse;
8
+import com.bjtdba.userCenter.dto.request.GetUserListRequest;
9
+import com.bjtdba.userCenter.dto.request.ModifyPVRequest;
10
+import com.bjtdba.userCenter.dto.request.UserScoreModifyRequest;
11
+import com.bjtdba.userCenter.dto.response.ModifyPVResponse;
8 12
 import com.bjtdba.userCenter.dto.response.UserScoreModifyResponse;
9 13
 import com.bjtdba.userCenter.dto.response.common.PageResult;
10 14
 import com.bjtdba.userCenter.dto.response.UserDTO;
11 15
 import com.bjtdba.userCenter.entity.UserEntity;
16
+import com.bjtdba.userCenter.entity.UserPvLogEntity;
12 17
 import com.bjtdba.userCenter.entity.UserSignGongxianEntity;
13 18
 import com.bjtdba.userCenter.entity.UserSignScoreEntity;
14 19
 import com.bjtdba.userCenter.exception.BusinessException;
@@ -21,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional;
21 26
 import org.springframework.util.CollectionUtils;
22 27
 
23 28
 import javax.servlet.http.HttpServletRequest;
29
+import javax.annotation.Resource;
24 30
 import java.math.BigDecimal;
25 31
 import java.sql.Timestamp;
26 32
 import java.time.LocalDateTime;
@@ -41,6 +47,8 @@ public class UserServiceImpl  implements UserService {
41 47
     @Autowired
42 48
     private UserDao userDao;
43 49
     @Autowired
50
+    private UserPvLogDao userPvLogDao;
51
+    @Autowired
44 52
     private UserSignScoreDao userSignScoreDao;
45 53
     @Autowired
46 54
     private UserSignGongxianDao userSignGongxianDao;
@@ -48,6 +56,7 @@ public class UserServiceImpl  implements UserService {
48 56
     private HttpServletRequest httpServletRequest;
49 57
 
50 58
 
59
+
51 60
     public User queryByid(Integer uid){
52 61
         return  userInfoDao.queryByid(uid);
53 62
     }
@@ -360,4 +369,35 @@ public class UserServiceImpl  implements UserService {
360 369
         }
361 370
         return convertToUserDTO(userEntity);
362 371
     }
372
+
373
+    @Override
374
+    public ModifyPVResponse modifyUserPV(ModifyPVRequest request) {
375
+        UserPvLogEntity record = buildModifyPVRecord(request);
376
+        record.setAddtime(LocalDateTime.now().toEpochSecond(ZoneOffset.UTC));
377
+        userPvLogDao.insertByEntity(record);
378
+
379
+        return ModifyPVResponse.builder()
380
+                .id(record.getId())
381
+                .uid(record.getUid())
382
+                .orderId(record.getOrderId())
383
+                .pv(record.getPv())
384
+                .status(record.getStatus())
385
+                .mark(record.getMark())
386
+                .orderType(record.getOrderType())
387
+                .settlementTime(record.getSettlementTime())
388
+                .build();
389
+    }
390
+        private UserPvLogEntity buildModifyPVRecord(ModifyPVRequest request) {
391
+            UserPvLogEntity record = new UserPvLogEntity();
392
+            record.setUid(request.getUid());
393
+            record.setPv(request.getPv());
394
+            record.setStatus(request.getStatus());
395
+            record.setMark(request.getMark());
396
+            record.setOrderId(request.getOrderId());
397
+            record.setOrderType(request.getOrderType());
398
+            if (request.getStatus() == 1) {
399
+                record.setSettlementTime(Timestamp.valueOf(LocalDateTime.now()));
400
+            }
401
+            return record;
402
+    }
363 403
 }

+ 33 - 0
userCenter_service/src/main/resources/mapper/UserPvLogMapper.xml

@@ -0,0 +1,33 @@
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.bjtdba.userCenter.dao.UserPvLogDao">
4
+
5
+    <insert id="insertByEntity"
6
+            parameterType="com.bjtdba.userCenter.entity.UserPvLogEntity"
7
+            useGeneratedKeys="true"
8
+            keyProperty="id">
9
+
10
+
11
+    INSERT INTO rrx_user_pv_log
12
+    <trim prefix="(" suffix=")" suffixOverrides=",">
13
+        <if test="uid != null">uid,</if>
14
+        <if test="pv != null">pv,</if>
15
+        <if test="status != null">status,</if>
16
+        <if test="mark != null">mark,</if>
17
+        <if test="orderId != null">order_id,</if>
18
+        <if test="orderType != null">order_type,</if>
19
+        <if test="settlementTime != null">settlement_time,</if>
20
+        <if test="addtime != null">addtime,</if>
21
+    </trim>
22
+    <trim prefix="VALUES (" suffix=")" suffixOverrides=",">
23
+        <if test="uid != null">#{uid},</if>
24
+        <if test="pv != null">#{pv},</if>
25
+        <if test="status != null">#{status},</if>
26
+        <if test="mark != null">#{mark},</if>
27
+        <if test="orderId != null">#{orderId},</if>
28
+        <if test="orderType != null">#{orderType},</if>
29
+        <if test="settlementTime != null">#{settlementTime},</if>
30
+        <if test="addtime != null">#{addtime},</if>
31
+    </trim>
32
+    </insert>
33
+</mapper>