dingxin 6 years ago
parent
commit
1dc5f52852

+ 10
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/BuildingOwnerInfoController.java View File

151
         ResponseBean allApprove=iBuildingOwnerInfoService.selectUserApprove(paramets);
151
         ResponseBean allApprove=iBuildingOwnerInfoService.selectUserApprove(paramets);
152
         return allApprove;
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 View File

45
     
45
     
46
     int batchUpdate(List<TaUser> updataTaUserList);
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 View File

1
 package com.community.huiju.dao;
1
 package com.community.huiju.dao;
2
 
2
 
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.community.huiju.model.TpBuildingOwnerInfo;
6
 import com.community.huiju.model.TpBuildingOwnerInfo;
6
 import org.apache.ibatis.annotations.Mapper;
7
 import org.apache.ibatis.annotations.Mapper;
23
      * @param
24
      * @param
24
      * @return
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
     int batchInsert(List<TpBuildingOwnerInfo> list);
29
     int batchInsert(List<TpBuildingOwnerInfo> list);
29
     
30
     

+ 1
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/model/TaUser.java View File

23
 
23
 
24
     private static final long serialVersionUID = 1L;
24
     private static final long serialVersionUID = 1L;
25
 
25
 
26
+    private Integer Id;
26
     /**
27
     /**
27
      * 小区id
28
      * 小区id
28
      */
29
      */

+ 7
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/IBuildingOwnerInfoService.java View File

69
      * @return
69
      * @return
70
      */
70
      */
71
     ResponseBean submitExcelData(MultipartFile file, UserElement userElement);
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 View File

18
 import com.community.huiju.dao.TpBuildingOwnerInfoMapper;
18
 import com.community.huiju.dao.TpBuildingOwnerInfoMapper;
19
 import com.community.huiju.model.TpBuildingOwnerInfo;
19
 import com.community.huiju.model.TpBuildingOwnerInfo;
20
 
20
 
21
+import com.community.huiju.model.User;
21
 import com.community.huiju.service.IBuildingOwnerInfoService;
22
 import com.community.huiju.service.IBuildingOwnerInfoService;
22
 import com.google.common.collect.Maps;
23
 import com.google.common.collect.Maps;
23
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
24
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
259
         responseBean.addSuccess("success");
260
         responseBean.addSuccess("success");
260
         return responseBean;
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
      * 根据excel获取相关信息
293
      * 根据excel获取相关信息
265
      *
294
      *
362
         page.setSize(pageSize == null ? 10 : pageSize);
391
         page.setSize(pageSize == null ? 10 : pageSize);
363
         page.setCurrent(pageNum == null ? 1 : pageNum);
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
         return responseBean;
404
         return responseBean;
369
     }
405
     }

+ 9
- 0
CODE/smart-community/property-api/src/main/resources/mapper/TaUserMapper.xml View File

318
       where id = ${item.id}
318
       where id = ${item.id}
319
     </foreach>
319
     </foreach>
320
   </update>
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
 </mapper>
331
 </mapper>

+ 2
- 0
CODE/smart-community/property-api/src/main/resources/mapper/TpBuildingOwnerInfoMapper.xml View File

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

+ 25
- 0
VUECODE/smart-property-manage/src/api/buildingOwnerInfo.js View File

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 View File

1
-import { buildingAddress, buildingList } from '@/api/buildingOwnerInfo'
1
+import { buildingAddress, buildingList, userPassCertification, updataPassCertification } from '@/api/buildingOwnerInfo'
2
 
2
 
3
 const buildingOwnerInfo = {
3
 const buildingOwnerInfo = {
4
   state: {
4
   state: {
30
           reject(error)
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 View File

2
 <template>
2
 <template>
3
   <div class="root">
3
   <div class="root">
4
     <el-form :inline="true" :model="listQuery" class="form-listQuery">
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
       </el-form-item>
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
       </el-form-item>
10
       </el-form-item>
11
       <el-form-item>
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
       </el-form-item>
14
       </el-form-item>
15
     </el-form>
15
     </el-form>
16
     <el-table
16
     <el-table
17
+      v-loading="listLoading"
17
       ref="multipleTable"
18
       ref="multipleTable"
18
-      :data="tableData3"
19
+      :data="userPassCertification"
19
       border
20
       border
20
       tooltip-effect="dark"
21
       tooltip-effect="dark"
21
       style="width: 100%; margin-top: 20px;"
22
       style="width: 100%; margin-top: 20px;"
22
       @selection-change="handleSelectionChange">
23
       @selection-change="handleSelectionChange">
23
       <el-table-column
24
       <el-table-column
24
         label="选择"
25
         label="选择"
25
-        type="index" 
26
+        type="index"
26
         width="70"/>
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
       </el-table-column>
42
       </el-table-column>
35
-      <el-table-column prop="name" label="认证状态" width="120" />
36
-      <el-table-column prop="address" label="操作" show-overflow-tooltip />
37
     </el-table>
43
     </el-table>
38
     <div class="block">
44
     <div class="block">
39
       <el-pagination
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
         layout="total, sizes, prev, pager, next, jumper"
50
         layout="total, sizes, prev, pager, next, jumper"
45
         @size-change="handleSizeChange"
51
         @size-change="handleSizeChange"
46
         @current-change="handleCurrentChange"/>
52
         @current-change="handleCurrentChange"/>
49
 </template>
55
 </template>
50
 
56
 
51
 <script>
57
 <script>
58
+import { mapActions } from 'vuex'
59
+
52
 export default {
60
 export default {
53
   data() {
61
   data() {
54
     return {
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
   methods: {
90
   methods: {
91
+    ...mapActions('buildingOwnerInfo', [
92
+      'BserPassCertification'
93
+    ]),
69
     handleSizeChange(val) {
94
     handleSizeChange(val) {
70
       console.log(`每页 ${val} 条`)
95
       console.log(`每页 ${val} 条`)
96
+      this.pageNum = 1
97
+      this.listQuery.pageSize = val
98
+      this.dataQuery();
71
     },
99
     },
72
     handleCurrentChange(val) {
100
     handleCurrentChange(val) {
73
       console.log(`当前页: ${val}`)
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
   display: flex;
191
   display: flex;
99
   justify-content: flex-end;
192
   justify-content: flex-end;
100
   margin-top: 10px;
193
   margin-top: 10px;
101
-}
194
+}  
102
 </style>
195
 </style>
103
 
196