Преглед изворни кода

对外开放接口 用户操作完成

魏熙美 пре 6 година
родитељ
комит
174e60cf68

+ 67
- 2
CODE/foreign-service/src/main/java/com/community/huiju/controller/TaUserController.java Прегледај датотеку

@@ -2,8 +2,14 @@ package com.community.huiju.controller;
2 2
 
3 3
 
4 4
 import com.community.huiju.common.base.BaseController;
5
-import org.springframework.web.bind.annotation.RequestMapping;
6
-import org.springframework.web.bind.annotation.RestController;
5
+import com.community.huiju.common.base.ResponseBean;
6
+import com.community.huiju.service.ITaUserService;
7
+import io.swagger.annotations.Api;
8
+import io.swagger.annotations.ApiImplicitParam;
9
+import io.swagger.annotations.ApiImplicitParams;
10
+import io.swagger.annotations.ApiOperation;
11
+import org.springframework.beans.factory.annotation.Autowired;
12
+import org.springframework.web.bind.annotation.*;
7 13
 
8 14
 /**
9 15
  * <p>
@@ -15,6 +21,65 @@ import org.springframework.web.bind.annotation.RestController;
15 21
  */
16 22
 @RestController
17 23
 @RequestMapping("/")
24
+@Api(value = "用户操作 API")
18 25
 public class TaUserController extends BaseController {
19 26
 
27
+    @Autowired
28
+    private ITaUserService iTaUserService;
29
+
30
+
31
+    @RequestMapping(value = "/user", method = RequestMethod.POST)
32
+    @ApiOperation(value = "添加用户", notes = "添加用户")
33
+    @ApiImplicitParams({
34
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "userName", value = "用户名"),
35
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "idCard", value = "身份证"),
36
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "gender", value = "性别 1:男   2:女"),
37
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "phone", value = "手机号"),
38
+    })
39
+    public ResponseBean addUser(@RequestParam(value = "userName") String userName,
40
+                                @RequestParam(value = "idCard") String idCard,
41
+                                @RequestParam(value = "gender") String gender,
42
+                                @RequestParam(value = "phone") String phone){
43
+        ResponseBean responseBean = iTaUserService.addTaUser(userName, idCard, gender, phone);
44
+        return responseBean;
45
+    }
46
+
47
+    @RequestMapping(value = "/user/{userId}", method = RequestMethod.PUT)
48
+    @ApiOperation(value = "修改用户", notes = "修改用户")
49
+    @ApiImplicitParams({
50
+            @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "path", name = "userId", value = "用户id"),
51
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "userName", value = "用户名"),
52
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "idCard", value = "身份证"),
53
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "gender", value = "性别 1:男   2:女"),
54
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "form", name = "phone", value = "手机号"),
55
+    })
56
+    public ResponseBean updateUser(@PathVariable(value = "userId") Integer userId,
57
+                                @RequestParam(value = "userName", required = false) String userName,
58
+                                @RequestParam(value = "idCard", required = false) String idCard,
59
+                                @RequestParam(value = "gender", required = false) String gender,
60
+                                @RequestParam(value = "phone", required = false) String phone){
61
+        ResponseBean responseBean = iTaUserService.updateTaUser(userId,userName, idCard, gender, phone);
62
+        return responseBean;
63
+    }
64
+
65
+    @RequestMapping(value = "/user/{userId}", method = RequestMethod.GET)
66
+    @ApiOperation(value = "根据用户ID查询", notes = "根据用户ID查询")
67
+    @ApiImplicitParams({
68
+            @ApiImplicitParam(dataTypeClass = Integer.class, paramType = "path", name = "userId", value = "用户id")
69
+    })
70
+    public ResponseBean updateUser(@PathVariable(value = "userId") Integer userId){
71
+        ResponseBean responseBean = iTaUserService.getTaUser(userId);
72
+        return responseBean;
73
+    }
74
+
75
+    @RequestMapping(value = "/user", method = RequestMethod.GET)
76
+    @ApiOperation(value = "根据用户ID查询", notes = "根据用户ID查询")
77
+    @ApiImplicitParams({
78
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "query", name = "phone", value = "手机号")
79
+    })
80
+    public ResponseBean updateUser(@RequestParam(value = "phone") String phone){
81
+        ResponseBean responseBean = iTaUserService.getTaUserByPhone(phone);
82
+        return responseBean;
83
+    }
84
+
20 85
 }

+ 4
- 0
CODE/foreign-service/src/main/java/com/community/huiju/enums/ResponseErrorsMessages.java Прегледај датотеку

@@ -9,6 +9,10 @@ public enum ResponseErrorsMessages {
9 9
     SYSTEM_ERRORS (500, "服务断网了!"),
10 10
     NOT_PHONE(1000, "请输入正确的手机号!"),
11 11
     NOT_USER_NAME(1001, "用户名不能为空!"),
12
+    NOT_ID_CARD(1002, "身份证不能为空!"),
13
+    NOT_GENDER(1003, "性别不能为空!"),
14
+    EXISTING_GENDER(1004, "手机号已存在!"),
15
+    NOT_USER(1004, "用户不存在!"),
12 16
     ;
13 17
 
14 18
 

+ 21
- 0
CODE/foreign-service/src/main/java/com/community/huiju/service/ITaUserService.java Прегледај датотеку

@@ -43,5 +43,26 @@ public interface ITaUserService extends IService<TaUser> {
43 43
      */
44 44
     ResponseBean addTaUser(String userName, String idCard, String gender, String phone);
45 45
 
46
+    /**
47
+     * 修改用户
48
+     * @param userName
49
+     * @param idCard
50
+     * @param gender
51
+     * @return
52
+     */
53
+    ResponseBean updateTaUser(Integer userId, String userName, String idCard, String gender, String phone);
54
+
55
+    /**
56
+     * 查询用户
57
+     * @param userId
58
+     * @return
59
+     */
60
+    ResponseBean getTaUser(Integer userId);
46 61
 
62
+    /**
63
+     * 查询用户
64
+     * @param phone
65
+     * @return
66
+     */
67
+    ResponseBean getTaUserByPhone(String phone);
47 68
 }

+ 99
- 0
CODE/foreign-service/src/main/java/com/community/huiju/service/impl/TaUserServiceImpl.java Прегледај датотеку

@@ -1,11 +1,19 @@
1 1
 package com.community.huiju.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
3 5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 6
 import com.community.huiju.common.base.ResponseBean;
7
+import com.community.huiju.enums.ResponseErrorsMessages;
5 8
 import com.community.huiju.model.TaUser;
6 9
 import com.community.huiju.dao.TaUserMapper;
7 10
 import com.community.huiju.service.ITaUserService;
11
+import org.apache.commons.lang3.StringUtils;
12
+import org.springframework.beans.factory.annotation.Autowired;
8 13
 import org.springframework.stereotype.Service;
14
+import org.springframework.transaction.annotation.Transactional;
15
+
16
+import java.time.LocalDateTime;
9 17
 
10 18
 /**
11 19
  * <p>
@@ -18,22 +26,113 @@ import org.springframework.stereotype.Service;
18 26
 @Service
19 27
 public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> implements ITaUserService {
20 28
 
29
+    @Autowired
30
+    private TaUserMapper taUserMapper;
31
+
21 32
     @Override
33
+    @Transactional(rollbackFor = Exception.class)
22 34
     public ResponseBean addTaUser(String userName, String idCard, String gender, String phone) {
23 35
         ResponseBean responseBean = new ResponseBean();
24 36
 
25 37
         // 校验手机号 -> 是否重复
26 38
         checkPhone(phone);
27 39
 
40
+        if (StringUtils.isBlank(userName)) {
41
+            responseBean.addError(ResponseErrorsMessages.NOT_USER_NAME.getCode(), ResponseErrorsMessages.NOT_USER_NAME.getMsg());
42
+            return responseBean;
43
+        }
44
+        if (StringUtils.isBlank(idCard)) {
45
+            responseBean.addError(ResponseErrorsMessages.NOT_ID_CARD.getCode(), ResponseErrorsMessages.NOT_ID_CARD.getMsg());
46
+            return responseBean;
47
+        }
48
+        if (StringUtils.isBlank(gender)) {
49
+            responseBean.addError(ResponseErrorsMessages.NOT_GENDER.getCode(), ResponseErrorsMessages.NOT_GENDER.getMsg());
50
+            return responseBean;
51
+        }
52
+
53
+        TaUser one = getByPhone(phone);
54
+        if (null != one) {
55
+            responseBean.addError(ResponseErrorsMessages.EXISTING_GENDER.getCode(), ResponseErrorsMessages.EXISTING_GENDER.getMsg());
56
+            return responseBean;
57
+        }
58
+
28 59
         TaUser taUser = new TaUser();
29 60
         taUser.setUserName(userName);
30 61
         taUser.setIdCard(idCard);
31 62
         taUser.setLoginName(phone);
63
+        taUser.setCreateDate(LocalDateTime.now());
32 64
 
33 65
         boolean saveBool = this.save(taUser);
34 66
         if (saveBool) {
67
+            taUser.setCreateUser(taUser.getUserId());
68
+            this.updateById(taUser);
35 69
             responseBean.addSuccess(taUser);
36 70
         }
37 71
         return responseBean;
38 72
     }
73
+
74
+    private TaUser getByPhone(String phone) {
75
+        QueryWrapper<TaUser> queryWrapper = new QueryWrapper<>();
76
+        queryWrapper.eq("login_name", phone);
77
+        TaUser one = this.getOne(queryWrapper);
78
+       return one;
79
+    }
80
+
81
+    @Override
82
+    @Transactional(rollbackFor = Exception.class)
83
+    public ResponseBean updateTaUser(Integer userId, String userName, String idCard, String gender, String phone) {
84
+        ResponseBean responseBean = new ResponseBean();
85
+        TaUser user = this.getById(userId);
86
+        if (null == user) {
87
+            responseBean.addError(ResponseErrorsMessages.NOT_USER.getCode(), ResponseErrorsMessages.NOT_USER.getMsg());
88
+            return responseBean;
89
+        }
90
+
91
+        TaUser one = getByPhone(phone);
92
+        if (null != one) {
93
+            responseBean.addError(ResponseErrorsMessages.EXISTING_GENDER.getCode(), ResponseErrorsMessages.EXISTING_GENDER.getMsg());
94
+            return responseBean;
95
+        }
96
+
97
+        UpdateWrapper<TaUser> userUpdateWrapper = new UpdateWrapper<>();
98
+        userUpdateWrapper.eq("id", userId);
99
+        userUpdateWrapper.set(StringUtils.isNotBlank(userName), "user_name", userName);
100
+        userUpdateWrapper.set(StringUtils.isNotBlank(idCard), "id_card", idCard);
101
+        userUpdateWrapper.set(StringUtils.isNotBlank(gender), "gender", gender);
102
+        userUpdateWrapper.set(StringUtils.isNotBlank(phone), "login_name", phone);
103
+        userUpdateWrapper.set("update_user", userId);
104
+        userUpdateWrapper.set("update_date", LocalDateTime.now());
105
+
106
+        this.update(userUpdateWrapper);
107
+        user = this.getById(userId);
108
+        responseBean.addSuccess(user);
109
+        return responseBean;
110
+    }
111
+
112
+    @Override
113
+    public ResponseBean getTaUser(Integer userId) {
114
+        ResponseBean responseBean = new ResponseBean();
115
+        TaUser user = this.getById(userId);
116
+        if (null == user) {
117
+            responseBean.addError(ResponseErrorsMessages.NOT_USER.getCode(), ResponseErrorsMessages.NOT_USER.getMsg());
118
+            return responseBean;
119
+        }
120
+
121
+        responseBean.addSuccess(user);
122
+        return responseBean;
123
+    }
124
+
125
+    @Override
126
+    public ResponseBean getTaUserByPhone(String phone) {
127
+        ResponseBean responseBean = new ResponseBean();
128
+        checkPhone(phone);
129
+        TaUser user = getByPhone(phone);
130
+        if (null == user) {
131
+            responseBean.addError(ResponseErrorsMessages.NOT_USER.getCode(), ResponseErrorsMessages.NOT_USER.getMsg());
132
+            return responseBean;
133
+        }
134
+
135
+        responseBean.addSuccess(user);
136
+        return responseBean;
137
+    }
39 138
 }

+ 3
- 0
CODE/foreign-service/src/main/resources/application.yml Прегледај датотеку

@@ -13,6 +13,9 @@ spring:
13 13
 mybatis-plus:
14 14
   type-aliases-package: com.community.huiju.model
15 15
   mapper-locations: classpath:mapper/*.xml
16
+  configuration:
17
+    call-setters-on-nulls: true
18
+
16 19
 # 打印sql
17 20
 logging:
18 21
   level: