Browse Source

解除绑定关系

igl 7 months ago
parent
commit
4a3184fd11

+ 3 - 0
vehicle-client/src/main/java/com/chelvc/cloud/vehicle/client/UserInviteClient.java

@@ -18,6 +18,9 @@ public interface UserInviteClient {
     @PostMapping("/userInvite/bindInvite")
     void bindInvite(@RequestBody UserInviteParams params);
 
+    @PostMapping("/invite/unbind")
+    void unbind(@RequestParam("id") Long id);
+
     @GetMapping(value = "/userInvite/teamList", consumes = MediaType.APPLICATION_JSON_VALUE)
     TeamDTO teamList(@SpringQueryMap TeamInvitePageParam param, @RequestParam("userId") Long userId);
 

+ 9 - 0
vehicle-client/src/main/java/com/chelvc/cloud/vehicle/client/dto/TeamDetailsDTO.java

@@ -17,6 +17,10 @@ public class TeamDetailsDTO implements Serializable {
 
     private static final long serialVersionUID = -7589217012828810404L;
 
+    /**
+     * 主键
+     */
+    private Long id;
     /**
      * 用户标识
      */
@@ -56,6 +60,11 @@ public class TeamDetailsDTO implements Serializable {
      */
     private String mobile;
 
+    /**
+     * 绑定状态:0-正常;1-解除绑定
+     */
+    private Integer status;
+
     /**
      * 邀请时间
      */

+ 5 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/controller/UserInviteController.java

@@ -24,6 +24,11 @@ public class UserInviteController {
         userInviteService.bindInvite(params);
     }
 
+    @PostMapping("/invite/unbind")
+    public void unbind(@RequestParam("id") Long id) {
+        userInviteService.unbind(id);
+    }
+
     @GetMapping("/userInvite/teamList")
     public TeamDTO teamList(@SpringQueryMap TeamInvitePageParam param, @RequestParam("userId") Long userId) {
         return userInviteService.teamList(param, userId);

+ 5 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/UserInvite.java

@@ -44,6 +44,11 @@ public class UserInvite implements Serializable {
      */
     private Integer type;
 
+    /**
+     * 绑定状态:0-正常;1-解除绑定
+     */
+    private Integer status;
+
     /**
      * 绑定时间
      */

+ 6 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/UserInviteService.java

@@ -23,4 +23,10 @@ public interface UserInviteService {
      * @return
      */
     TeamDTO inviteList(TeamInvitePageParam param);
+
+    /**
+     * 解除绑定关系
+     * @param id
+     */
+    void unbind(Long id);
 }

+ 11 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/UserInviteServiceImpl.java

@@ -208,6 +208,7 @@ public class UserInviteServiceImpl extends ServiceImpl<UserInviteMapper, UserInv
         LambdaQueryWrapper<UserInvite> inviteWrapper = Wrappers.lambdaQuery();
         inviteWrapper.eq(UserInvite::getTargetId, userId);
         inviteWrapper.eq(UserInvite::getType, type);
+        inviteWrapper.eq(UserInvite::getStatus, 0);
         UserInvite userInvite = baseMapper.selectOne(inviteWrapper);
         return userInvite == null ? null : userInvite.getUserId();
     }
@@ -271,4 +272,14 @@ public class UserInviteServiceImpl extends ServiceImpl<UserInviteMapper, UserInv
         dto.setRecords(records);
         return dto;
     }
+
+    @Override
+    public void unbind(Long id) {
+        UserInvite userInvite = baseMapper.selectById(id);
+        if(userInvite == null){
+            return;
+        }
+        userInvite.setStatus(1);
+        baseMapper.updateById(userInvite);
+    }
 }

+ 8 - 3
vehicle-server/src/main/resources/mapper/UserInviteMapper.xml

@@ -4,10 +4,12 @@
 
     <select id="teamList" resultType="com.chelvc.cloud.vehicle.client.dto.TeamDetailsDTO">
         SELECT
+            i.id,
             i.user_id,
             target_id AS inviteUserId,
             SUM( r.reality_amount ) amount,
             i.type sourceType,
+            i.status,
             i.create_time AS inviteTime
         FROM
             user_invite i
@@ -42,7 +44,8 @@
         AND r.type = 0
         AND i.type = r.source_type
         WHERE
-        i.user_id = #{userId}
+        i.status = 0
+        and i.user_id = #{userId}
         <if test="type != null">
             and i.type = #{type}
         </if>
@@ -50,6 +53,7 @@
 
     <select id="inviteList" resultType="com.chelvc.cloud.vehicle.client.dto.TeamDetailsDTO">
         SELECT
+        i.id,
         i.user_id,
         target_id AS inviteUserId,
         SUM( r.reality_amount ) amount,
@@ -61,7 +65,8 @@
         AND i.target_id = r.source_id
         AND r.type = 0
         AND i.type = r.source_type
-        WHERE 1=1
+        WHERE
+        i.status = 0
         <if test="type != null">
             and i.type = #{type}
         </if>
@@ -83,7 +88,7 @@
         AND r.type = 0
         AND i.type = r.source_type
         WHERE
-        1=1
+        i.status = 0
         <if test="type != null">
             and i.type = #{type}
         </if>