dingxin преди 6 години
родител
ревизия
1dc5f52852

+ 10
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/BuildingOwnerInfoController.java Целия файл

@@ -151,4 +151,14 @@ public class BuildingOwnerInfoController extends BaseController {
151 151
         ResponseBean allApprove=iBuildingOwnerInfoService.selectUserApprove(paramets);
152 152
         return allApprove;
153 153
     }
154
+
155
+    @ApiOperation(value = "修改用户当前认证状态",nickname ="修改用户当前认证状态")
156
+    @ApiImplicitParams({
157
+            @ApiImplicitParam(paramType = "body", dataType = "String", name = "paramets", value ="ownerTel:手机号,verifyStatus:当前状态")})
158
+
159
+    @RequestMapping(value="/updataPassCertification",method = RequestMethod.POST)
160
+    public ResponseBean updataPassCertification(@RequestBody String paramets){
161
+        ResponseBean userParent=iBuildingOwnerInfoService.updataApprove(paramets);
162
+        return userParent;
163
+    }
154 164
 }

+ 13
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/TaUserMapper.java Целия файл

@@ -45,4 +45,17 @@ public interface TaUserMapper extends BaseMapper<TaUser> {
45 45
     
46 46
     int batchUpdate(List<TaUser> updataTaUserList);
47 47
 
48
+    /**
49
+     * 根据手机得到用户ID
50
+     * @param ownerTel
51
+     * @return
52
+     */
53
+    Integer getUserID(@Param("ownerTel") String ownerTel);
54
+
55
+    /**
56
+     * 查询是否有关联的租客或则家属
57
+     * @param userId
58
+     * @return
59
+     */
60
+    List<TaUser> selectUser(@Param("id")Integer userId);
48 61
 }

+ 2
- 1
CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/TpBuildingOwnerInfoMapper.java Целия файл

@@ -1,6 +1,7 @@
1 1
 package com.community.huiju.dao;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
4 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5 6
 import com.community.huiju.model.TpBuildingOwnerInfo;
6 7
 import org.apache.ibatis.annotations.Mapper;
@@ -23,7 +24,7 @@ public interface TpBuildingOwnerInfoMapper extends BaseMapper<TpBuildingOwnerInf
23 24
      * @param
24 25
      * @return
25 26
      */
26
-    List<TpBuildingOwnerInfo> selectUserApprove(@Param("ownerName") String r , @Param("ownerTel") String ownerTel , Page page);
27
+    IPage<TpBuildingOwnerInfo> selectUserApprove(Page page ,@Param("ownerName") String r , @Param("ownerTel") String ownerTel);
27 28
     
28 29
     int batchInsert(List<TpBuildingOwnerInfo> list);
29 30
     

+ 1
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/model/TaUser.java Целия файл

@@ -23,6 +23,7 @@ public class TaUser implements Serializable {
23 23
 
24 24
     private static final long serialVersionUID = 1L;
25 25
 
26
+    private Integer Id;
26 27
     /**
27 28
      * 小区id
28 29
      */

+ 7
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/IBuildingOwnerInfoService.java Целия файл

@@ -69,4 +69,11 @@ public interface IBuildingOwnerInfoService extends IService<TpBuildingOwnerInfo>
69 69
      * @return
70 70
      */
71 71
     ResponseBean submitExcelData(MultipartFile file, UserElement userElement);
72
+
73
+    /**
74
+     * 认证用户是否停用
75
+     * @param paramets
76
+     * @return
77
+     */
78
+    ResponseBean updataApprove(String paramets);
72 79
 }

+ 39
- 3
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/BuildingOwnerInfoServiceImpl.java Целия файл

@@ -18,6 +18,7 @@ import com.community.huiju.model.TaUser;
18 18
 import com.community.huiju.dao.TpBuildingOwnerInfoMapper;
19 19
 import com.community.huiju.model.TpBuildingOwnerInfo;
20 20
 
21
+import com.community.huiju.model.User;
21 22
 import com.community.huiju.service.IBuildingOwnerInfoService;
22 23
 import com.google.common.collect.Maps;
23 24
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -259,7 +260,35 @@ public class BuildingOwnerInfoServiceImpl extends ServiceImpl<TpBuildingOwnerInf
259 260
         responseBean.addSuccess("success");
260 261
         return responseBean;
261 262
     }
262
-    
263
+
264
+    @Override
265
+    public ResponseBean updataApprove(String paramets) {
266
+        ResponseBean response = new ResponseBean();
267
+        JSONObject jsonobject = JSONObject.parseObject(paramets);
268
+        String ownerTel=jsonobject.getString("ownerTel");
269
+        String verifyStatus=jsonobject.getString("verifyStatus");
270
+        TaUser user = new TaUser();
271
+        //用手机号去查当前用户id
272
+        Integer userId = taUserMapper.getUserID(ownerTel);
273
+        user.setId(userId);
274
+        if ("1".equals(verifyStatus)) {
275
+            //停用当前业主认证状态,业主和家属将租客将无法使用
276
+            user.setVerifyStatus("2");
277
+        }else {
278
+        //启动当前业主,判断业主下是否有关联业主或则家属,如果也关联家属返回有关联的用户,如果没有将可以修改认证状态
279
+        List<TaUser> userParent=taUserMapper.selectUser(userId);
280
+        for(TaUser users:userParent){
281
+            if(null !=users.getParentId()&&userId.equals(users.getParentId())){
282
+                response.addError("有关联的用户");
283
+                return response;
284
+            }
285
+        }
286
+            user.setVerifyStatus("1");
287
+        }
288
+        taUserMapper.updateByPrimaryKeySelective(user);
289
+        return response;
290
+    }
291
+
263 292
     /**
264 293
      * 根据excel获取相关信息
265 294
      *
@@ -362,8 +391,15 @@ public class BuildingOwnerInfoServiceImpl extends ServiceImpl<TpBuildingOwnerInf
362 391
         page.setSize(pageSize == null ? 10 : pageSize);
363 392
         page.setCurrent(pageNum == null ? 1 : pageNum);
364 393
 
365
-        List<TpBuildingOwnerInfo> mapList = tpBuildingOwnerInfoMapper.selectUserApprove(tpBuildingOwnerInfo.getOwnerName(),tpBuildingOwnerInfo.getOwnerTel(), page);
366
-        responseBean.addSuccess(mapList);
394
+        IPage<TpBuildingOwnerInfo> ownerInfoIPage = tpBuildingOwnerInfoMapper.selectUserApprove(page, tpBuildingOwnerInfo.getOwnerName(),tpBuildingOwnerInfo.getOwnerTel());
395
+
396
+        Map<String, Object> map = Maps.newHashMap();
397
+        map.put("list", ownerInfoIPage.getRecords());
398
+        map.put("total", ownerInfoIPage.getTotal());
399
+        map.put("pageNum", ownerInfoIPage.getCurrent());
400
+        map.put("pageSize", ownerInfoIPage.getSize());
401
+
402
+        responseBean.addSuccess(map);
367 403
 
368 404
         return responseBean;
369 405
     }

+ 9
- 0
CODE/smart-community/property-api/src/main/resources/mapper/TaUserMapper.xml Целия файл

@@ -318,5 +318,14 @@
318 318
       where id = ${item.id}
319 319
     </foreach>
320 320
   </update>
321
+  <select id="getUserID" parameterType="map" resultType="integer">
322
+    select id from ta_user where login_name=#{ownerTel,jdbcType=VARCHAR};
323
+  </select>
324
+  <select id="selectUser" parameterType="integer" resultType="com.community.huiju.model.TaUser">
325
+    select
326
+    <include refid="Base_Column_List" />
327
+    from ta_user
328
+    where parent_id=#{id,jdbcType=INTEGER};
329
+  </select>
321 330
 
322 331
 </mapper>

+ 2
- 0
CODE/smart-community/property-api/src/main/resources/mapper/TpBuildingOwnerInfoMapper.xml Целия файл

@@ -3,8 +3,10 @@
3 3
 <mapper namespace="com.community.huiju.dao.TpBuildingOwnerInfoMapper">
4 4
     <select id="selectUserApprove" parameterType="map" resultType="com.community.huiju.model.TpBuildingOwnerInfo" >
5 5
         SELECT
6
+        id,
6 7
         owner_name,
7 8
         owner_tel,
9
+        building,
8 10
         gender,
9 11
         id_card,
10 12
         unit,

+ 25
- 0
VUECODE/smart-property-manage/src/api/buildingOwnerInfo.js Целия файл

@@ -31,4 +31,29 @@ export function buildingList(data) {
31 31
     }
32 32
   })
33 33
 }
34
+// 认证通过业主信息
35
+export function userPassCertification(data) {
36
+  return request({
37
+    url: 'userPassCertification',
38
+    method: 'post',
39
+    data: {
40
+      ownerName: data.ownerName,
41
+      ownerTel: data.ownerTel,
42
+      pageNum: data.pageNum,
43
+      pageSize: data.pageSize
44
+    }
45
+  })
46
+}
47
+// 修改停用或启用
48
+export function updataPassCertification(data) {
49
+  console.log('api: ', data)
50
+  return request({
51
+    url: '/updataPassCertification',
52
+    method: 'post',
53
+    data: {
54
+      ownerTel: data.ownerTel,
55
+      verifyStatus: data.verifyStatus
56
+    }
57
+  })
58
+}
34 59
 

+ 19
- 1
VUECODE/smart-property-manage/src/store/modules/buildingOwnerInfo.js Целия файл

@@ -1,4 +1,4 @@
1
-import { buildingAddress, buildingList } from '@/api/buildingOwnerInfo'
1
+import { buildingAddress, buildingList, userPassCertification, updataPassCertification } from '@/api/buildingOwnerInfo'
2 2
 
3 3
 const buildingOwnerInfo = {
4 4
   state: {
@@ -30,6 +30,24 @@ const buildingOwnerInfo = {
30 30
           reject(error)
31 31
         })
32 32
       })
33
+    },
34
+    UserPassCertification({ commit }, data) { // 查询已认证的
35
+      return new Promise((resolve, reject) => {
36
+        userPassCertification(data).then(response => {
37
+          resolve(response)
38
+        }).catch(error => {
39
+          reject(error)
40
+        })
41
+      })
42
+    },
43
+    UpdataPassCertification({ commit }, data) { // 查询已认证的
44
+      return new Promise((resolve, reject) => {
45
+        updataPassCertification(data).then(response => {
46
+          resolve(response)
47
+        }).catch(error => {
48
+          reject(error)
49
+        })
50
+      })
33 51
     }
34 52
   }
35 53
 }

+ 128
- 35
VUECODE/smart-property-manage/src/views/owner/index.vue Целия файл

@@ -2,45 +2,51 @@
2 2
 <template>
3 3
   <div class="root">
4 4
     <el-form :inline="true" :model="listQuery" class="form-listQuery">
5
-      <el-form-item label="手机号">
6
-        <el-input placeholder="手机号" />
5
+      <el-form-item class="filter-item" label="手机号">
6
+        <el-input v-model="listQuery.ownerName" placeholder="手机号" />
7 7
       </el-form-item>
8
-      <el-form-item label="姓名">
9
-        <el-input placeholder="姓名" />
8
+      <el-form-item class="filter-item" label="姓名" >
9
+        <el-input v-model="listQuery.ownerTel" placeholder="姓名" />
10 10
       </el-form-item>
11 11
       <el-form-item>
12
-        <el-button type="info">清空</el-button>
13
-        <el-button type="primary">查询</el-button>
12
+        <el-button type="info" class="filter-item" @click="handleFilter">清空</el-button>
13
+        <el-button type="primary" @click="dataQuery">查询</el-button>
14 14
       </el-form-item>
15 15
     </el-form>
16 16
     <el-table
17
+      v-loading="listLoading"
17 18
       ref="multipleTable"
18
-      :data="tableData3"
19
+      :data="userPassCertification"
19 20
       border
20 21
       tooltip-effect="dark"
21 22
       style="width: 100%; margin-top: 20px;"
22 23
       @selection-change="handleSelectionChange">
23 24
       <el-table-column
24 25
         label="选择"
25
-        type="index" 
26
+        type="index"
26 27
         width="70"/>
27
-      <el-table-column prop="name" label="姓名" width="180" />
28
-      <el-table-column prop="name" label="手机号" width="200" />
29
-      <el-table-column prop="name" label="性别" width="120" />
30
-      <el-table-column prop="name" label="身份证号" width="320" />
31
-      <el-table-column prop="name" label="所在户" width="180" />
32
-      <el-table-column label="创建时间" width="250">
33
-        <template slot-scope="scope">{{ scope.row.date }}</template>
28
+      <el-table-column prop="ownerName" label="姓名" width="180" />
29
+      <el-table-column prop="ownerTel" label="手机号" width="200" />
30
+      <el-table-column prop="gender" label="性别" width="120" />
31
+      <el-table-column prop="idCard" label="身份证号" width="320" />
32
+      <!-- <el-table-column prop="name" label="所在户" width="180" /> -->
33
+      <el-table-column label="所在户" width="250">
34
+         <template slot-scope="scope">{{ scope.row.building + scope.row.unit + scope.row.level + scope.row.roomNo }}</template>
35
+      </el-table-column>
36
+      <el-table-column prop="createDate" label="创建时间" width="180" />
37
+      <el-table-column label="认证状态" width="250">
38
+        <template slot-scope="scope">{{ scope.row.verifyStatus === '1' ? '已认证通过':'已停用' }}</template>
39
+      </el-table-column>
40
+      <el-table-column label="操作" width="250">
41
+        <template slot-scope="scope"><a><span @click="open3(scope.row.ownerTel, scope.row.verifyStatus)" style="text-decoration: underline; color: blue ">{{ scope.row.verifyStatus === '1' ? '停用':'启用' }}</span></a></template>
34 42
       </el-table-column>
35
-      <el-table-column prop="name" label="认证状态" width="120" />
36
-      <el-table-column prop="address" label="操作" show-overflow-tooltip />
37 43
     </el-table>
38 44
     <div class="block">
39 45
       <el-pagination
40
-        :current-page="currentPage4"
41
-        :page-sizes="[100, 200, 300, 400]"
42
-        :page-size="100"
43
-        :total="400"
46
+        :current-page="listQuery.pageNum"
47
+        :page-sizes="[10, 20, 50, 100]"
48
+        :page-size="listQuery.pageSize"
49
+        :total="total"
44 50
         layout="total, sizes, prev, pager, next, jumper"
45 51
         @size-change="handleSizeChange"
46 52
         @current-change="handleCurrentChange"/>
@@ -49,31 +55,118 @@
49 55
 </template>
50 56
 
51 57
 <script>
58
+import { mapActions } from 'vuex'
59
+
52 60
 export default {
53 61
   data() {
54 62
     return {
55
-      listQuery: {},
56
-      tableData3: [{
57
-        date: '2016-05-03',
58
-        name: '王小虎',
59
-        address: '上海市普陀区金沙江路 1518 弄'
60
-      }, {
61
-        date: '2016-05-02',
62
-        name: '王小虎',
63
-        address: '上海市普陀区金沙江路 1518 弄'
64
-      }],
65
-      currentPage4: 4
63
+      listQuery: {
64
+        building: '',
65
+        unit: '',
66
+        ownerTel: '',
67
+        idCard: '',
68
+        gender: '',
69
+        level: '',
70
+        roomNo: '',
71
+        ownerName: '',
72
+        createDate: '',
73
+        verifyStatus: '',
74
+        pageNum: 1,
75
+        pageSize: 10,
76
+      },
77
+      total: 0, // 数据总数
78
+      userPassCertification: [],
79
+      buildingList: [],
80
+      unitList: [],
81
+      levelList: [],
82
+      roomNoList: [],
83
+      listLoading: true // 加载圈
66 84
     }
67 85
   },
86
+  mounted() {
87
+    // 获取数据
88
+    this.dataQuery()
89
+  },
68 90
   methods: {
91
+    ...mapActions('buildingOwnerInfo', [
92
+      'BserPassCertification'
93
+    ]),
69 94
     handleSizeChange(val) {
70 95
       console.log(`每页 ${val} 条`)
96
+      this.pageNum = 1
97
+      this.listQuery.pageSize = val
98
+      this.dataQuery();
71 99
     },
72 100
     handleCurrentChange(val) {
73 101
       console.log(`当前页: ${val}`)
102
+      this.listQuery.pageNum = val
103
+      this.dataQuery()
104
+    
105
+    },
106
+    dataQuery() { // 查询数据
107
+      this.listLoading = true
108
+      this.$store.dispatch('UserPassCertification', this.listQuery).then((res) => {
109
+        const resData = res.data
110
+        this.userPassCertification = resData.list
111
+        this.listQuery.pageNum = resData.pageNum
112
+        this.listQuery.pageSize = resData.pageSize
113
+        this.total = resData.total
114
+        this.listLoading = false
115
+      }).catch(() => {
116
+        this.listLoading = false
117
+        console.log('error BuildingInfoList')
118
+      })
119
+    },
120
+    handleSelectionChange(data) {
121
+
74 122
     },
75
-    dialogBatchImport() {
76
-      this.$router.push({ name: 'batch-import' })
123
+    handleFilter() {
124
+      this.listQuery.pageNum = 1
125
+      this.listQuery.pageSize = 10
126
+      this.listQuery.ownerName = ''
127
+      this.listQuery.ownerTel = ''
128
+      this.dataQuery()
129
+    },
130
+    newsDetail(){
131
+
132
+    },
133
+    open3(ownerTel, verifyStatus) {
134
+        this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
135
+          confirmButtonText: '确定',
136
+          cancelButtonText: '取消',
137
+          type: 'warning'
138
+        }).then(() => {
139
+          this.$message({
140
+            type: 'success',
141
+            message: '启用成功!'
142
+          })
143
+          this.update(ownerTel, verifyStatus)
144
+        }).catch(() => {
145
+          this.$message({
146
+            type: 'info',
147
+            message: '已取消'
148
+          });          
149
+        });
150
+      },
151
+    update(ownerTel, verifyStatus) { // 查询数据
152
+      
153
+      this.listQuery.ownerTel = ownerTel
154
+      this.listQuery.verifyStatus = verifyStatus
155
+
156
+      console.log(this.listQuery.ownerTel, ' -- ', this.listQuery.verifyStatus)
157
+
158
+      this.listLoading = true
159
+      this.$store.dispatch('UpdataPassCertification', this.listQuery).then((res) => {
160
+        const resData = res.data
161
+        this.updataPassCertification = resData.list
162
+        this.listQuery.pageNum = resData.pageNum
163
+        this.listQuery.pageSize = resData.pageSize
164
+        this.total = resData.total
165
+        this.listLoading = false
166
+      }).catch(() => {
167
+        this.listLoading = false
168
+        console.log('error UpdataPassCertification')
169
+      })
77 170
     }
78 171
   }
79 172
 }
@@ -98,6 +191,6 @@ export default {
98 191
   display: flex;
99 192
   justify-content: flex-end;
100 193
   margin-top: 10px;
101
-}
194
+}  
102 195
 </style>
103 196