Browse Source

暂存所有

dingxin 6 years ago
parent
commit
fbcc78eeb0
49 changed files with 991 additions and 184 deletions
  1. 19
    0
      CODE/smart-community/app-api/pom.xml
  2. 30
    0
      CODE/smart-community/app-api/src/main/assembly/assembly.xml
  3. 86
    0
      CODE/smart-community/app-api/src/main/assembly/bin/start.sh
  4. 35
    1
      CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKOpenApi.java
  5. 4
    2
      CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/SocialController.java
  6. 1
    1
      CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/UserController.java
  7. 1
    1
      CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/VistorController.java
  8. 66
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/exception/ExceptionHandleAdice.java
  9. 17
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/exception/WisdomException.java
  10. 10
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/model/TpMessage.java
  11. 6
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/MessageServiceImpl.java
  12. 37
    7
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TaUserServiceImpl.java
  13. 2
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TaVistorServiceImpl.java
  14. 4
    2
      CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TicketServiceImpl.java
  15. 6
    0
      CODE/smart-community/app-api/src/main/java/com/community/huiju/vo/TpTicketVO.java
  16. 3
    1
      CODE/smart-community/app-api/src/main/resources/mapper/TpMessageMapper.xml
  17. 2
    1
      CODE/smart-community/app-api/src/main/resources/mapper/TpTicketRecordMapper.xml
  18. 8
    0
      CODE/smart-community/community-common/src/main/java/com/community/commom/constant/Constant.java
  19. 19
    1
      CODE/smart-community/mq-message/pom.xml
  20. 30
    0
      CODE/smart-community/mq-message/src/main/assembly/assembly.xml
  21. 86
    0
      CODE/smart-community/mq-message/src/main/assembly/bin/start.sh
  22. 3
    2
      CODE/smart-community/mq-message/src/main/java/com/community/huiju/runner/MqRunner.java
  23. 1
    2
      CODE/smart-community/mq-message/src/main/resources/bootstrap.yml
  24. 19
    0
      CODE/smart-community/operate-api/pom.xml
  25. 30
    0
      CODE/smart-community/operate-api/src/main/assembly/assembly.xml
  26. 86
    0
      CODE/smart-community/operate-api/src/main/assembly/bin/start.sh
  27. 3
    4
      CODE/smart-community/operate-api/src/main/java/com/community/huiju/controller/CodeController.java
  28. 1
    1
      CODE/smart-community/operate-api/src/main/java/com/community/huiju/dao/SysNationMapper.java
  29. 2
    2
      CODE/smart-community/operate-api/src/main/java/com/community/huiju/model/ToBanner.java
  30. 2
    2
      CODE/smart-community/operate-api/src/main/java/com/community/huiju/model/ToCommunities.java
  31. 9
    0
      CODE/smart-community/operate-api/src/main/java/com/community/huiju/service/impl/CommonServiceImpl.java
  32. 19
    0
      CODE/smart-community/property-api/pom.xml
  33. 30
    0
      CODE/smart-community/property-api/src/main/assembly/assembly.xml
  34. 86
    0
      CODE/smart-community/property-api/src/main/assembly/bin/start.sh
  35. 3
    3
      CODE/smart-community/zuul/src/main/resources/bootstrap.yml
  36. 1
    1
      VUECODE/smart-operate-manage/build/webpack.dev.conf.js
  37. 1
    1
      VUECODE/smart-operate-manage/build/webpack.prod.conf.js
  38. 0
    3
      VUECODE/smart-operate-manage/src/router/index.js
  39. 1
    1
      VUECODE/smart-operate-manage/src/utils/validate.js
  40. 12
    12
      VUECODE/smart-operate-manage/src/views/banner/addBanner/index.vue
  41. 3
    2
      VUECODE/smart-operate-manage/src/views/banner/ediBanner/index.vue
  42. 29
    13
      VUECODE/smart-operate-manage/src/views/banner/index.vue
  43. 5
    0
      VUECODE/smart-operate-manage/src/views/banner/infoBanner/index.vue
  44. 40
    31
      VUECODE/smart-operate-manage/src/views/community/communityTable.vue
  45. 2
    2
      VUECODE/smart-operate-manage/src/views/layout/components/Navbar.vue
  46. 31
    7
      VUECODE/smart-operate-manage/src/views/login/index.vue
  47. BIN
      VUECODE/smart-operate-manage/zhihui.jpg
  48. 50
    39
      文档/MYSQL/smartCommunity.pdb
  49. 50
    39
      文档/MYSQL/smartCommunity.pdm

+ 19
- 0
CODE/smart-community/app-api/pom.xml View File

@@ -218,6 +218,25 @@
218 218
 					</compilerArguments>
219 219
 				</configuration>
220 220
 			</plugin>
221
+			<!--服务化打包工具-->
222
+			<plugin>
223
+				<groupId>org.apache.maven.plugins</groupId>
224
+				<artifactId>maven-assembly-plugin</artifactId>
225
+				<configuration>
226
+					<descriptors>
227
+						<descriptor>src/main/assembly/assembly.xml</descriptor>
228
+					</descriptors>
229
+				</configuration>
230
+				<executions>
231
+					<execution>
232
+						<id>make-assembly</id>
233
+						<phase>package</phase>
234
+						<goals>
235
+							<goal>single</goal>
236
+						</goals>
237
+					</execution>
238
+				</executions>
239
+			</plugin>
221 240
 		</plugins>
222 241
 	</build>
223 242
 

+ 30
- 0
CODE/smart-community/app-api/src/main/assembly/assembly.xml View File

@@ -0,0 +1,30 @@
1
+<assembly>
2
+    <id>assembly</id>
3
+    <formats>
4
+        <format>tar.gz</format>
5
+    </formats>
6
+    <includeBaseDirectory>true</includeBaseDirectory>
7
+    <fileSets>
8
+        <fileSet>
9
+            <directory>src/main/assembly/bin</directory>
10
+            <outputDirectory>bin</outputDirectory>
11
+            <fileMode>0755</fileMode>
12
+        </fileSet>
13
+        <fileSet>
14
+            <directory>target/classes</directory>
15
+            <outputDirectory>conf</outputDirectory>
16
+            <includes>
17
+                <include>META-INF/**</include>
18
+                <include>*.yml</include>
19
+                <include>conf/**</include>
20
+            </includes>
21
+            <fileMode>0755</fileMode>
22
+        </fileSet>
23
+    </fileSets>
24
+    <dependencySets>
25
+        <dependencySet>
26
+            <useProjectArtifact>true</useProjectArtifact>
27
+            <outputDirectory>lib</outputDirectory>
28
+        </dependencySet>
29
+    </dependencySets>
30
+</assembly>

+ 86
- 0
CODE/smart-community/app-api/src/main/assembly/bin/start.sh View File

@@ -0,0 +1,86 @@
1
+#!/bin/bash
2
+
3
+SERVER_NAME='app-api'
4
+# jar名称
5
+JAR_NAME='app-api-0.0.1.jar'
6
+cd `dirname $0`
7
+BIN_DIR=`pwd`
8
+cd ..
9
+DEPLOY_DIR=`pwd`
10
+CONF_DIR=$DEPLOY_DIR/conf
11
+# 获取应用的端口号
12
+SERVER_PORT=`sed -nr '/port: [0-9]+/ s/.*port: +([0-9]+).*/\1/p' conf/bootstrap.yml`
13
+
14
+PIDS=`ps -f | grep java | grep "$CONF_DIR" |awk '{print $2}'`
15
+if [ "$1" = "status" ]; then
16
+    if [ -n "$PIDS" ]; then
17
+        echo "The $SERVER_NAME is running...!"
18
+        echo "PID: $PIDS"
19
+        exit 0
20
+    else
21
+        echo "The $SERVER_NAME is stopped"
22
+        exit 0
23
+    fi
24
+fi
25
+
26
+if [ -n "$PIDS" ]; then
27
+    echo "ERROR: The $SERVER_NAME already started!"
28
+    echo "PID: $PIDS"
29
+    exit 1
30
+fi
31
+
32
+if [ -n "$SERVER_PORT" ]; then
33
+    SERVER_PORT_COUNT=`netstat -tln | grep $SERVER_PORT | wc -l`
34
+    if [ $SERVER_PORT_COUNT -gt 0 ]; then
35
+        echo "ERROR: The $SERVER_NAME port $SERVER_PORT already used!"
36
+        exit 1
37
+    fi
38
+fi
39
+
40
+LOGS_DIR=$DEPLOY_DIR/logs
41
+if [ ! -d $LOGS_DIR ]; then
42
+    mkdir $LOGS_DIR
43
+fi
44
+STDOUT_FILE=$LOGS_DIR/stdout.log
45
+
46
+JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true "
47
+JAVA_DEBUG_OPTS=""
48
+if [ "$1" = "debug" ]; then
49
+    JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n "
50
+fi
51
+
52
+JAVA_JMX_OPTS=""
53
+if [ "$1" = "jmx" ]; then
54
+    JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
55
+fi
56
+
57
+JAVA_MEM_OPTS=""
58
+BITS=`java -version 2>&1 | grep -i 64-bit`
59
+if [ -n "$BITS" ]; then
60
+    JAVA_MEM_OPTS=" -server -Xmx512m -Xms512m -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
61
+else
62
+    JAVA_MEM_OPTS=" -server -Xms512m -Xmx512m -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC "
63
+fi
64
+
65
+CONFIG_FILES=" -Dspring.config.location=$CONF_DIR/ "
66
+echo -e "Starting the $SERVER_NAME ..."
67
+nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS $CONFIG_FILES -jar $DEPLOY_DIR/lib/$JAR_NAME > $STDOUT_FILE 2>&1 &
68
+
69
+COUNT=0
70
+while [ $COUNT -lt 1 ]; do
71
+    echo -e ".\c"
72
+    sleep 1
73
+    if [ -n "$SERVER_PORT" ]; then
74
+        COUNT=`netstat -an | grep $SERVER_PORT | wc -l`
75
+    else
76
+        COUNT=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}' | wc -l`
77
+    fi
78
+    if [ $COUNT -gt 0 ]; then
79
+        break
80
+    fi
81
+done
82
+
83
+echo "OK!"
84
+PIDS=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}'`
85
+echo "PID: $PIDS"
86
+echo "STDOUT: $STDOUT_FILE"

+ 35
- 1
CODE/smart-community/app-api/src/main/java/com/community/huiju/common/hk/HKOpenApi.java View File

@@ -441,7 +441,7 @@ public class HKOpenApi {
441 441
         //设置时间参数
442 442
         parMap.put("time", System.currentTimeMillis());
443 443
         parMap.put("opUserUuid",HKConstant.OP_USER_UUID);
444
-        parMap.put("deviceUuids","83dfab0eef52411d991d6e621296b60a,dfd80b22f00545b8b36fa981019df83c,6d4b9c4ad10b47bdbdccd8710c4d1d71,765532274ae84f9bb495d801444a7f1e");
444
+        parMap.put("deviceUuids","83dfab0eef52411d991d6e621296b60a,dfd80b22f00545b8b36fa981019df83c");
445 445
         parMap.put("personIds",personIds);
446 446
         parMap.put("type",1);
447 447
         String params =  JSON.toJSONString(parMap);
@@ -612,4 +612,38 @@ public class HKOpenApi {
612 612
     public static void main(String[] args) {
613 613
     }
614 614
 
615
+
616
+    /**
617
+     * 修改电话推送海康
618
+     * @param personId 人员ID
619
+     * @param personNo 人员编号
620
+     * @param personName 姓名
621
+     * @param phoneNo 电话
622
+     * @return
623
+     */
624
+    public static String HKpersonPhone(Integer personId,Integer personNo,String personName,String phoneNo) {
625
+
626
+        String url = HKConstant.OPENAPI_IP_PORT_HTTP + HKConstant.ITF_UPDATE_USER;
627
+        Map<String, Object> map = new HashMap<String, Object>();
628
+        map.put("appkey", HKConstant.APPKEY);
629
+        map.put("time", System.currentTimeMillis());
630
+        map.put("token", HKConstant.SECRET);
631
+        map.put("opUserUuid", HKConstant.OP_USER_UUID);
632
+        map.put("personId", personId);
633
+        map.put("personNo", personNo);
634
+        map.put("personName", personName);
635
+        map.put("phoneNo", phoneNo);
636
+        String params = JSON.toJSONString(map);
637
+        log.info("修改电话 请求参数:{}",params);
638
+        String data = null;
639
+        try {
640
+            data = HttpClientSSLUtils.doPost(url + "?token=" + Digests.buildToken(url + "?" + params, params, HKConstant.SECRET), params);
641
+            log.info("修改电话请求结果:{}",data);
642
+        } catch (Exception e) {
643
+            e.printStackTrace();
644
+            log.error("修改电话 请求失败:{}",e);
645
+            throw new RuntimeException("修改电话失败!");
646
+        }
647
+        return data;
648
+    }
615 649
 }

+ 4
- 2
CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/SocialController.java View File

@@ -1,5 +1,6 @@
1 1
 package com.community.huiju.controller;
2 2
 
3
+import com.alibaba.fastjson.JSONObject;
3 4
 import com.community.commom.constant.Constant;
4 5
 import com.community.commom.mode.ResponseBean;
5 6
 import com.community.commom.session.UserElement;
@@ -355,11 +356,11 @@ public class SocialController extends BaseController {
355 356
 
356 357
     @ApiOperation(value = "评价工单内容以及评分", notes = "评价工单内容以及评分")
357 358
     @ApiImplicitParams({@ApiImplicitParam(paramType = "path", dataType = "integer", name = "communityId", value = "小区Id"),
358
-            @ApiImplicitParam(name = "tpTicket", value = "报修", required = true, dataType = "TpTicket"),
359
+            @ApiImplicitParam(name = "parameter", value = "score 评分, comment 评语 ", required = true, dataType = "String"),
359 360
             @ApiImplicitParam(paramType = "query", dataType = "integer", name = "ticketId", value = "工单Id"),
360 361
             @ApiImplicitParam(paramType = "header",dataType = "String",name = "X-Auth-Token",value = "Token")})
361 362
     @RequestMapping(value = "/accessTicket/{communityId}", method = RequestMethod.POST)
362
-    public ResponseBean accessTicket(@PathVariable("communityId") Integer communityId, @RequestBody TpTicket tpTicket, @RequestParam("ticketId") String ticketId, HttpSession session) {
363
+    public ResponseBean accessTicket(@PathVariable("communityId") Integer communityId, @RequestBody String parameter, @RequestParam("ticketId") String ticketId, HttpSession session) {
363 364
         UserElement userElement = (UserElement) session.getAttribute(Constant.APP_USER_SESSION);
364 365
         Integer userId = userElement.getId();
365 366
         ResponseBean responseBean = new ResponseBean();
@@ -369,6 +370,7 @@ public class SocialController extends BaseController {
369 370
             return responseBean;
370 371
         }
371 372
 
373
+        TpTicket tpTicket = JSONObject.parseObject(parameter,TpTicket.class);
372 374
         socialServiceI.accessTicket(communityId, tpTicket, ticketId, userId);
373 375
         return responseBean;
374 376
     }

+ 1
- 1
CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/UserController.java View File

@@ -62,7 +62,7 @@ public class UserController extends BaseController {
62 62
     }
63 63
     @ApiOperation(value = "修改手机号", notes = "修改手机号")
64 64
     @ApiImplicitParams({
65
-            @ApiImplicitParam(paramType = "body",dataType = "String",name = "paramets",value = "phone:登陆(手机号),code:(手机验证码)"),
65
+            @ApiImplicitParam(paramType = "body",dataType = "String",name = "paramets",value = "phone:登陆(手机号),code:(手机验证码),otherUserId:(租客或者家属ID,空为业主本人)"),
66 66
             @ApiImplicitParam(paramType = "header",dataType = "String",name = "X-Auth-Token",value = "Token"),
67 67
     })
68 68
             @RequestMapping(value = "/user/phone",method = RequestMethod.PUT)

+ 1
- 1
CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/VistorController.java View File

@@ -38,7 +38,7 @@ public class VistorController extends BaseController {
38 38
             @ApiImplicitParam(paramType = "header",dataType = "String",name = "X-Auth-Token",value = "Token"),
39 39
             @ApiImplicitParam(paramType = "path", dataType = "integer", name = "communityId", value = "小区Id"),
40 40
             @ApiImplicitParam(paramType = "body", dataType = "String", name = "parameter", value = "carLicense:车牌(数组),drivingStatus:0 是不开车 1是开车," +
41
-                    "visitorName:访问人姓名,visitorNum:访问人数,visitorTel:访问人电话,visitorStartTime:访问人电话,visitorEndTime:访问人结束时间")})
41
+                    "visitorName:访问人姓名,visitorNum:访问人数,visitorTel:访问人电话,visitorStartTime:访问人开始时间,visitorEndTime:访问人结束时间")})
42 42
     public ResponseBean findVistorDetail(@PathVariable("communityId")Integer communityId, @RequestBody String parameter, HttpSession session) {
43 43
         ResponseBean responseBean = new ResponseBean();
44 44
 

+ 66
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/exception/ExceptionHandleAdice.java View File

@@ -0,0 +1,66 @@
1
+package com.community.huiju.exception;
2
+
3
+import com.community.commom.constant.Constant;
4
+import com.community.commom.mode.ResponseBean;
5
+import lombok.extern.slf4j.Slf4j;
6
+import org.springframework.validation.ObjectError;
7
+import org.springframework.web.bind.MethodArgumentNotValidException;
8
+import org.springframework.web.bind.annotation.ControllerAdvice;
9
+import org.springframework.web.bind.annotation.ExceptionHandler;
10
+import org.springframework.web.bind.annotation.ResponseBody;
11
+
12
+import java.util.List;
13
+
14
+/**
15
+ * 统一异常出口
16
+ * @author weiximei
17
+ */
18
+@ControllerAdvice
19
+@ResponseBody
20
+@Slf4j
21
+public class ExceptionHandleAdice {
22
+
23
+
24
+    @ExceptionHandler(Exception.class)
25
+    public ResponseBean handleException(Exception e){
26
+        log.error(e.getMessage(),e);
27
+        ResponseBean response = new ResponseBean();
28
+        response.addError(Constant.REQUEST_ERROR,"系统异常,请稍后重试!");
29
+        return response;
30
+    }
31
+
32
+    @ExceptionHandler(RuntimeException.class)
33
+    public ResponseBean handleException(RuntimeException e){
34
+        log.error(e.getMessage(),e);
35
+        ResponseBean response = new ResponseBean();
36
+        response.addError(e.getMessage());
37
+        return response;
38
+    }
39
+
40
+
41
+    @ExceptionHandler(WisdomException.class)
42
+    public ResponseBean handleException(WisdomException e) {
43
+        log.error(e.getMessage(),e);
44
+        ResponseBean response = new ResponseBean();
45
+        response.addError(e.getMessage());
46
+        return response;
47
+    }
48
+
49
+
50
+    @ExceptionHandler(MethodArgumentNotValidException.class)
51
+    public ResponseBean handlelllewgalParamException(MethodArgumentNotValidException e){
52
+        ResponseBean response = new ResponseBean();
53
+
54
+        List<ObjectError> errors  =e.getBindingResult().getAllErrors();
55
+        String message = "参数不合法";
56
+        if (errors.size() >0) {
57
+            message = errors.get(0).getDefaultMessage();
58
+        }
59
+
60
+        response.addError(message);
61
+
62
+        return response;
63
+    }
64
+
65
+
66
+}

+ 17
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/exception/WisdomException.java View File

@@ -0,0 +1,17 @@
1
+package com.community.huiju.exception;
2
+
3
+
4
+/**
5
+ * @author weiximei
6
+ */
7
+public class WisdomException extends RuntimeException {
8
+
9
+
10
+    public WisdomException(String msg, Throwable t) {
11
+        super(msg, t);
12
+    }
13
+
14
+    public WisdomException(String msg) {
15
+        super(msg);
16
+    }
17
+}

+ 10
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/model/TpMessage.java View File

@@ -63,6 +63,8 @@ public class TpMessage {
63 63
      * 消息详情url链接
64 64
      */
65 65
     private String messageDetailUrl;
66
+    
67
+    private String messageIconTitle;
66 68
 
67 69
     public Integer getId() {
68 70
         return id;
@@ -247,4 +249,12 @@ public class TpMessage {
247 249
     public void setMessageDetailUrl(String messageDetailUrl) {
248 250
         this.messageDetailUrl = messageDetailUrl;
249 251
     }
252
+    
253
+    public String getMessageIconTitle() {
254
+        return messageIconTitle;
255
+    }
256
+    
257
+    public void setMessageIconTitle(String messageIconTitle) {
258
+        this.messageIconTitle = messageIconTitle;
259
+    }
250 260
 }

+ 6
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/MessageServiceImpl.java View File

@@ -7,6 +7,7 @@ import com.github.pagehelper.Page;
7 7
 import com.github.pagehelper.PageHelper;
8 8
 import org.springframework.beans.factory.annotation.Autowired;
9 9
 import org.springframework.stereotype.Service;
10
+import org.springframework.util.StringUtils;
10 11
 
11 12
 import java.util.HashMap;
12 13
 import java.util.List;
@@ -46,6 +47,11 @@ public class MessageServiceImpl implements MessageServiceI {
46 47
 		Page page = PageHelper.startPage(pageNum, pageSize);
47 48
 		// 获取数据
48 49
 		List<TpMessage> messageList = tpMessageMapper.getMessages(userId,communityId, modelType);
50
+		messageList.stream().forEach(tpMessage -> {
51
+			if (!StringUtils.isEmpty(tpMessage.getMessageDetailUrl())){
52
+				tpMessage.setMessageDetailUrl(tpMessage.getMessageDetailUrl() + "&id=" + tpMessage.getTicketId());
53
+			}
54
+		});
49 55
 		Map<String,Object> map = new HashMap<>();
50 56
 		map.put("list",messageList);
51 57
 		map.put("total",page.getTotal());

+ 37
- 7
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TaUserServiceImpl.java View File

@@ -230,8 +230,21 @@ public class TaUserServiceImpl implements ITaUserService {
230 230
         JSONObject jsonObject = JSONObject.parseObject(paramets);
231 231
         String phone = (String) jsonObject.get("phone");
232 232
         String code = (String) jsonObject.get("code");
233
+        String otherUserId = (String) jsonObject.get("otherUserId");
233 234
 
234
-        TaUser user=taUserMapper.selectByPrimaryKey(id);
235
+        // 默认为当前用户
236
+        Integer userId = id;
237
+
238
+        if (StringUtils.isNotBlank(otherUserId)) {
239
+            /**校验otherUserId是否为当前登入用户的家属和业主**/
240
+            response=getTaFaceParentId( id, Integer.valueOf(otherUserId));
241
+            if ("1".equals(response.getCode())) {
242
+                return response;
243
+            }
244
+            userId = Integer.valueOf(otherUserId.trim());
245
+        }
246
+
247
+        TaUser user=taUserMapper.selectByPrimaryKey(userId);
235 248
         //系统验证码
236 249
         String  codes= (String) AppkeyCache.getCache(phone);
237 250
         //用户电话
@@ -243,24 +256,41 @@ public class TaUserServiceImpl implements ITaUserService {
243 256
         //当前小区下的电话校验
244 257
         TaUser loginName=taUserMapper.getByLoginName(user.getCommunityId(),phone);
245 258
         if (null!=loginName)  {
246
-            response.addError("号码重复");
259
+            response.addError("号码已占用");
247 260
             return response;
248 261
         }
249
-        if(null!=codes && codes.equals(code)){
262
+        String data=HKOpenApi.HKpersonPhone(user.getHkUserId(),user.getId(),user.getUserName(),phone);
263
+       try {
264
+             if (null == data) {
265
+            throw new RuntimeException("海康人脸推送失敗!");
266
+        }
267
+       }catch (Exception e){
268
+           e.printStackTrace();
269
+           log.error("海康修改电话失敗! {}",e);
270
+           throw new RuntimeException("海康修改电话失敗!");
271
+       }
272
+        if(null!=codes && codes.equals(code)){;
250 273
             TaUser taUser=new TaUser();
251 274
             taUser.setLoginName(phone);
252
-            taUser.setId(user.getId());
275
+            taUser.setId(userId);
253 276
             taUserMapper.updateLongName(taUser);
254
-             response.addSuccess("修改成功");
277
+            response.addSuccess("修改成功");
255 278
             AppkeyCache.setCache(user.getLoginName(),"null");
256 279
             return response;
257 280
         }else {
258 281
             response.addError("验证码错误或电话号码错误");
259 282
             return response;
260 283
         }
284
+    }
261 285
 
262
-
263
-
286
+    public ResponseBean getTaFaceParentId(Integer userId,Integer otherUserId){
287
+        ResponseBean  responseBean= new ResponseBean();
288
+        TaUser  users= taUserMapper.selectByPrimaryKey(otherUserId);
289
+        if (null == users || !userId.equals(users.getParentId())){
290
+            responseBean.addError("您输入的家属或租户ID有误");
291
+            return responseBean;
292
+        }
293
+        return responseBean;
264 294
     }
265 295
 
266 296
     @Override

+ 2
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TaVistorServiceImpl.java View File

@@ -111,6 +111,8 @@ public class TaVistorServiceImpl implements TaVistorServiceI {
111 111
             Map<String,Object> map = Maps.newHashMap();
112 112
             map.put("message","创建访问登记成功!");
113 113
             map.put("visitorCode",resultJSON.getJSONObject("data").getString("QRCode"));
114
+            map.put("visitorStartTime",visitor.getVisitorStartTime());
115
+            map.put("visitorEndTime",visitor.getVisitorEndTime());
114 116
 
115 117
             // 把访问码存入
116 118
             visitor.setVisitorCode(visitorCode);

+ 4
- 2
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TicketServiceImpl.java View File

@@ -140,8 +140,10 @@ public class TicketServiceImpl implements ITicketService {
140 140
                     "房屋质量":"2".equals(repairType)?
141 141
                     "户内设施":null;
142 142
             tpTicketVO.setRepairName(repairName);
143
-            tpTicketVO.setStatus(recordList.get(0).getStatus());
144
-            tpTicketVO.setTicketStatusName(recordList.get(0).getTicketStatusName());
143
+            tpTicketVO.setStatus(recordList.get(recordList.size()-1).getStatus());
144
+            tpTicketVO.setTicketStatusName(recordList.get(recordList.size()-1).getTicketStatusName());
145
+            tpTicketVO.setTicketRecordDate(recordList.get(recordList.size()-1).getCreateDate());
146
+            tpTicketVO.setTicketStatusContent(recordList.get(recordList.size()-1).getContent());
145 147
             if (null != comment) {
146 148
                 tpTicketVO.setCommentContent(comment.getContent());
147 149
                 tpTicketVO.setCommentCreateDate(comment.getCreateDate());

+ 6
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/vo/TpTicketVO.java View File

@@ -58,6 +58,12 @@ public class TpTicketVO {
58 58
     /** 流程状态名称 **/
59 59
     private String ticketStatusName;
60 60
 
61
+    /** 流程状态内容 **/
62
+    private String ticketStatusContent;
63
+
64
+    /** 流程状态时间 **/
65
+    private Date ticketRecordDate;
66
+
61 67
     /** 最新进展 **/
62 68
     private String commentContent;
63 69
 

+ 3
- 1
CODE/smart-community/app-api/src/main/resources/mapper/TpMessageMapper.xml View File

@@ -25,6 +25,7 @@
25 25
     <result column="read_message_icon" property="readMessageIcon" jdbcType="VARCHAR" />
26 26
     <result column="unread_message_icon" property="unreadMessageIcon" jdbcType="VARCHAR" />
27 27
     <result column="message_detail_url" property="messageDetailUrl" jdbcType="VARCHAR" />
28
+    <result column="message_icon_title" property="messageIconTitle" jdbcType="VARCHAR" />
28 29
   </resultMap>
29 30
   <sql id="Base_Column_List" >
30 31
     id, ticket_id,community_id, message_type, advice_type, model_type, uuid, uuid_type, source,
@@ -288,7 +289,8 @@
288 289
         d.name as ticket_status,
289 290
         i.read_message_icon,
290 291
 		i.unread_message_icon,
291
-		i.message_detail_url
292
+		i.message_detail_url,
293
+		i.message_icon_title
292 294
     FROM
293 295
         tp_message t
294 296
     LEFT JOIN tp_ticket k on t.ticket_id = k.id  AND k.community_id = #{communityId,jdbcType=INTEGER}

+ 2
- 1
CODE/smart-community/app-api/src/main/resources/mapper/TpTicketRecordMapper.xml View File

@@ -122,6 +122,7 @@
122 122
         t.status,
123 123
         t.ticket_id AS ticketId,
124 124
         t.community_id AS communityId,
125
+        t.content AS content,
125 126
         d.NAME AS ticketStatusName
126 127
     FROM
127 128
         tp_ticket_record t
@@ -130,6 +131,6 @@
130 131
     WHERE
131 132
         community_id = #{communityId,jdbcType=INTEGER}
132 133
         AND ticket_id = #{ticketId,jdbcType=INTEGER}
133
-    order by t.create_date
134
+    order by t.status
134 135
   </select>
135 136
 </mapper>

+ 8
- 0
CODE/smart-community/community-common/src/main/java/com/community/commom/constant/Constant.java View File

@@ -124,4 +124,12 @@ public class Constant {
124 124
 	public static final String ADMIN_IS_EXIST = "管理员账号已存在";
125 125
 	
126 126
     public static final String SUCCESS = "success";
127
+    
128
+	public static final Integer Beijing = 2;
129
+	
130
+	public static final Integer Tianjin = 19;
131
+	
132
+	public static final Integer Shanghai = 857;
133
+	
134
+	public static final Integer Chongqing = 2459;
127 135
 }

+ 19
- 1
CODE/smart-community/mq-message/pom.xml View File

@@ -268,8 +268,26 @@
268 268
 					</compilerArguments>
269 269
 				</configuration>
270 270
 			</plugin>
271
+			<!--服务化打包工具-->
272
+			<plugin>
273
+				<groupId>org.apache.maven.plugins</groupId>
274
+				<artifactId>maven-assembly-plugin</artifactId>
275
+				<configuration>
276
+					<descriptors>
277
+						<descriptor>src/main/assembly/assembly.xml</descriptor>
278
+					</descriptors>
279
+				</configuration>
280
+				<executions>
281
+					<execution>
282
+						<id>make-assembly</id>
283
+						<phase>package</phase>
284
+						<goals>
285
+							<goal>single</goal>
286
+						</goals>
287
+					</execution>
288
+				</executions>
289
+			</plugin>
271 290
 		</plugins>
272 291
 	</build>
273 292
 
274
-
275 293
 </project>

+ 30
- 0
CODE/smart-community/mq-message/src/main/assembly/assembly.xml View File

@@ -0,0 +1,30 @@
1
+<assembly>
2
+    <id>assembly</id>
3
+    <formats>
4
+        <format>tar.gz</format>
5
+    </formats>
6
+    <includeBaseDirectory>true</includeBaseDirectory>
7
+    <fileSets>
8
+        <fileSet>
9
+            <directory>src/main/assembly/bin</directory>
10
+            <outputDirectory>bin</outputDirectory>
11
+            <fileMode>0755</fileMode>
12
+        </fileSet>
13
+        <fileSet>
14
+            <directory>target/classes</directory>
15
+            <outputDirectory>conf</outputDirectory>
16
+            <includes>
17
+                <include>META-INF/**</include>
18
+                <include>*.yml</include>
19
+                <include>conf/**</include>
20
+            </includes>
21
+            <fileMode>0755</fileMode>
22
+        </fileSet>
23
+    </fileSets>
24
+    <dependencySets>
25
+        <dependencySet>
26
+            <useProjectArtifact>true</useProjectArtifact>
27
+            <outputDirectory>lib</outputDirectory>
28
+        </dependencySet>
29
+    </dependencySets>
30
+</assembly>

+ 86
- 0
CODE/smart-community/mq-message/src/main/assembly/bin/start.sh View File

@@ -0,0 +1,86 @@
1
+#!/bin/bash
2
+
3
+SERVER_NAME='mq-meaasge'
4
+# jar名称
5
+JAR_NAME='mq-message-0.0.1.jar'
6
+cd `dirname $0`
7
+BIN_DIR=`pwd`
8
+cd ..
9
+DEPLOY_DIR=`pwd`
10
+CONF_DIR=$DEPLOY_DIR/conf
11
+# 获取应用的端口号
12
+SERVER_PORT=`sed -nr '/port: [0-9]+/ s/.*port: +([0-9]+).*/\1/p' conf/bootstrap.yml`
13
+
14
+PIDS=`ps -f | grep java | grep "$CONF_DIR" |awk '{print $2}'`
15
+if [ "$1" = "status" ]; then
16
+    if [ -n "$PIDS" ]; then
17
+        echo "The $SERVER_NAME is running...!"
18
+        echo "PID: $PIDS"
19
+        exit 0
20
+    else
21
+        echo "The $SERVER_NAME is stopped"
22
+        exit 0
23
+    fi
24
+fi
25
+
26
+if [ -n "$PIDS" ]; then
27
+    echo "ERROR: The $SERVER_NAME already started!"
28
+    echo "PID: $PIDS"
29
+    exit 1
30
+fi
31
+
32
+if [ -n "$SERVER_PORT" ]; then
33
+    SERVER_PORT_COUNT=`netstat -tln | grep $SERVER_PORT | wc -l`
34
+    if [ $SERVER_PORT_COUNT -gt 0 ]; then
35
+        echo "ERROR: The $SERVER_NAME port $SERVER_PORT already used!"
36
+        exit 1
37
+    fi
38
+fi
39
+
40
+LOGS_DIR=$DEPLOY_DIR/logs
41
+if [ ! -d $LOGS_DIR ]; then
42
+    mkdir $LOGS_DIR
43
+fi
44
+STDOUT_FILE=$LOGS_DIR/stdout.log
45
+
46
+JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true "
47
+JAVA_DEBUG_OPTS=""
48
+if [ "$1" = "debug" ]; then
49
+    JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n "
50
+fi
51
+
52
+JAVA_JMX_OPTS=""
53
+if [ "$1" = "jmx" ]; then
54
+    JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
55
+fi
56
+
57
+JAVA_MEM_OPTS=""
58
+BITS=`java -version 2>&1 | grep -i 64-bit`
59
+if [ -n "$BITS" ]; then
60
+    JAVA_MEM_OPTS=" -server -Xmx512m -Xms512m -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
61
+else
62
+    JAVA_MEM_OPTS=" -server -Xms512m -Xmx512m -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC "
63
+fi
64
+
65
+CONFIG_FILES=" -Dspring.config.location=$CONF_DIR/ "
66
+echo -e "Starting the $SERVER_NAME ..."
67
+nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS $CONFIG_FILES -jar $DEPLOY_DIR/lib/$JAR_NAME > $STDOUT_FILE 2>&1 &
68
+
69
+COUNT=0
70
+while [ $COUNT -lt 1 ]; do
71
+    echo -e ".\c"
72
+    sleep 1
73
+    if [ -n "$SERVER_PORT" ]; then
74
+        COUNT=`netstat -an | grep $SERVER_PORT | wc -l`
75
+    else
76
+        COUNT=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}' | wc -l`
77
+    fi
78
+    if [ $COUNT -gt 0 ]; then
79
+        break
80
+    fi
81
+done
82
+
83
+echo "OK!"
84
+PIDS=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}'`
85
+echo "PID: $PIDS"
86
+echo "STDOUT: $STDOUT_FILE"

+ 3
- 2
CODE/smart-community/mq-message/src/main/java/com/community/huiju/runner/MqRunner.java View File

@@ -4,6 +4,7 @@ import com.community.huiju.common.hk.code.EventDis;
4 4
 import com.community.huiju.service.MqMessageServiceI;
5 5
 import org.apache.activemq.ActiveMQConnectionFactory;
6 6
 import org.springframework.beans.factory.annotation.Autowired;
7
+import org.springframework.beans.factory.annotation.Value;
7 8
 import org.springframework.boot.ApplicationArguments;
8 9
 import org.springframework.boot.ApplicationRunner;
9 10
 import org.springframework.stereotype.Component;
@@ -23,8 +24,8 @@ import javax.jms.Topic;
23 24
 @Component
24 25
 public class MqRunner implements ApplicationRunner {
25 26
 	
26
-	public static final String BROKER_URL = "failover:(tcp://192.168.0.122:61618)?timeout=2000";
27
-	//public static final String BROKER_URL = "failover:(tcp://localhost:8087)?timeout=2000";
27
+	@Value("${broker.url}")
28
+	private String BROKER_URL;
28 29
 	
29 30
 	public static final String TARGET = "openapi.acs.topic";
30 31
 	

+ 1
- 2
CODE/smart-community/mq-message/src/main/resources/bootstrap.yml View File

@@ -20,5 +20,4 @@ spring:
20 20
 eureka:
21 21
   client:
22 22
     service-url:
23
-      defaultZone: http://localhost:8080/eureka/
24
-
23
+      defaultZone: http://localhost:8080/eureka/

+ 19
- 0
CODE/smart-community/operate-api/pom.xml View File

@@ -162,6 +162,25 @@
162 162
 				<groupId>org.springframework.boot</groupId>
163 163
 				<artifactId>spring-boot-maven-plugin</artifactId>
164 164
 			</plugin>
165
+			<!--服务化打包工具-->
166
+			<plugin>
167
+				<groupId>org.apache.maven.plugins</groupId>
168
+				<artifactId>maven-assembly-plugin</artifactId>
169
+				<configuration>
170
+					<descriptors>
171
+						<descriptor>src/main/assembly/assembly.xml</descriptor>
172
+					</descriptors>
173
+				</configuration>
174
+				<executions>
175
+					<execution>
176
+						<id>make-assembly</id>
177
+						<phase>package</phase>
178
+						<goals>
179
+							<goal>single</goal>
180
+						</goals>
181
+					</execution>
182
+				</executions>
183
+			</plugin>
165 184
 		</plugins>
166 185
 	</build>
167 186
 

+ 30
- 0
CODE/smart-community/operate-api/src/main/assembly/assembly.xml View File

@@ -0,0 +1,30 @@
1
+<assembly>
2
+    <id>assembly</id>
3
+    <formats>
4
+        <format>tar.gz</format>
5
+    </formats>
6
+    <includeBaseDirectory>true</includeBaseDirectory>
7
+    <fileSets>
8
+        <fileSet>
9
+            <directory>src/main/assembly/bin</directory>
10
+            <outputDirectory>bin</outputDirectory>
11
+            <fileMode>0755</fileMode>
12
+        </fileSet>
13
+        <fileSet>
14
+            <directory>target/classes</directory>
15
+            <outputDirectory>conf</outputDirectory>
16
+            <includes>
17
+                <include>META-INF/**</include>
18
+                <include>*.yml</include>
19
+                <include>conf/**</include>
20
+            </includes>
21
+            <fileMode>0755</fileMode>
22
+        </fileSet>
23
+    </fileSets>
24
+    <dependencySets>
25
+        <dependencySet>
26
+            <useProjectArtifact>true</useProjectArtifact>
27
+            <outputDirectory>lib</outputDirectory>
28
+        </dependencySet>
29
+    </dependencySets>
30
+</assembly>

+ 86
- 0
CODE/smart-community/operate-api/src/main/assembly/bin/start.sh View File

@@ -0,0 +1,86 @@
1
+#!/bin/bash
2
+
3
+SERVER_NAME='operate-api'
4
+# jar名称
5
+JAR_NAME='operate-api-0.0.1.jar'
6
+cd `dirname $0`
7
+BIN_DIR=`pwd`
8
+cd ..
9
+DEPLOY_DIR=`pwd`
10
+CONF_DIR=$DEPLOY_DIR/conf
11
+# 获取应用的端口号
12
+SERVER_PORT=`sed -nr '/port: [0-9]+/ s/.*port: +([0-9]+).*/\1/p' conf/bootstrap.yml`
13
+
14
+PIDS=`ps -f | grep java | grep "$CONF_DIR" |awk '{print $2}'`
15
+if [ "$1" = "status" ]; then
16
+    if [ -n "$PIDS" ]; then
17
+        echo "The $SERVER_NAME is running...!"
18
+        echo "PID: $PIDS"
19
+        exit 0
20
+    else
21
+        echo "The $SERVER_NAME is stopped"
22
+        exit 0
23
+    fi
24
+fi
25
+
26
+if [ -n "$PIDS" ]; then
27
+    echo "ERROR: The $SERVER_NAME already started!"
28
+    echo "PID: $PIDS"
29
+    exit 1
30
+fi
31
+
32
+if [ -n "$SERVER_PORT" ]; then
33
+    SERVER_PORT_COUNT=`netstat -tln | grep $SERVER_PORT | wc -l`
34
+    if [ $SERVER_PORT_COUNT -gt 0 ]; then
35
+        echo "ERROR: The $SERVER_NAME port $SERVER_PORT already used!"
36
+        exit 1
37
+    fi
38
+fi
39
+
40
+LOGS_DIR=$DEPLOY_DIR/logs
41
+if [ ! -d $LOGS_DIR ]; then
42
+    mkdir $LOGS_DIR
43
+fi
44
+STDOUT_FILE=$LOGS_DIR/stdout.log
45
+
46
+JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true "
47
+JAVA_DEBUG_OPTS=""
48
+if [ "$1" = "debug" ]; then
49
+    JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n "
50
+fi
51
+
52
+JAVA_JMX_OPTS=""
53
+if [ "$1" = "jmx" ]; then
54
+    JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
55
+fi
56
+
57
+JAVA_MEM_OPTS=""
58
+BITS=`java -version 2>&1 | grep -i 64-bit`
59
+if [ -n "$BITS" ]; then
60
+    JAVA_MEM_OPTS=" -server -Xmx512m -Xms512m -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
61
+else
62
+    JAVA_MEM_OPTS=" -server -Xms512m -Xmx512m -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC "
63
+fi
64
+
65
+CONFIG_FILES=" -Dspring.config.location=$CONF_DIR/ "
66
+echo -e "Starting the $SERVER_NAME ..."
67
+nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS $CONFIG_FILES -jar $DEPLOY_DIR/lib/$JAR_NAME > $STDOUT_FILE 2>&1 &
68
+
69
+COUNT=0
70
+while [ $COUNT -lt 1 ]; do
71
+    echo -e ".\c"
72
+    sleep 1
73
+    if [ -n "$SERVER_PORT" ]; then
74
+        COUNT=`netstat -an | grep $SERVER_PORT | wc -l`
75
+    else
76
+        COUNT=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}' | wc -l`
77
+    fi
78
+    if [ $COUNT -gt 0 ]; then
79
+        break
80
+    fi
81
+done
82
+
83
+echo "OK!"
84
+PIDS=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}'`
85
+echo "PID: $PIDS"
86
+echo "STDOUT: $STDOUT_FILE"

+ 3
- 4
CODE/smart-community/operate-api/src/main/java/com/community/huiju/controller/CodeController.java View File

@@ -46,14 +46,13 @@ public class CodeController {
46 46
         }
47 47
 
48 48
         int code = (int) ((Math.random()*9+1)*1000);
49
-        //boolean result = iCode.sendCode(phone,String.valueOf(code));
50
-        boolean result = true;
49
+        boolean result = iCode.sendCode(phone,String.valueOf(code));
50
+        //boolean result = true;
51 51
         if (result) {
52 52
             log.info("{} 验证码: {}",phone,code);
53 53
             // 设置缓存
54 54
             AppkeyCache.setCache(phone,String.valueOf(code));
55
-            //session.setAttribute(Constant.SESSION_PHONE_CODE,String.valueOf(code));
56
-            response.addSuccess("发送成功!"+code);
55
+            response.addSuccess("发送成功!");
57 56
         } else {
58 57
             response.addError("发送失败!");
59 58
         }

+ 1
- 1
CODE/smart-community/operate-api/src/main/java/com/community/huiju/dao/SysNationMapper.java View File

@@ -14,7 +14,7 @@ public interface SysNationMapper {
14 14
 
15 15
     int insertSelective(SysNation record);
16 16
 
17
-    SysNation selectByPrimaryKey(Integer id);
17
+    SysNation selectByPrimaryKey(@Param("id") Integer id);
18 18
 
19 19
     int updateByPrimaryKeySelective(SysNation record);
20 20
 

+ 2
- 2
CODE/smart-community/operate-api/src/main/java/com/community/huiju/model/ToBanner.java View File

@@ -9,8 +9,8 @@ public class ToBanner {
9 9
     @NotBlank(message = "标题不能为空!")
10 10
     private String title;
11 11
 
12
-    @Min(value = 0,message = "请选择有效的区!")
13
-    @NotNull(message = "小区不能空!")
12
+    @Min(value = 0,message = "请选择有效的投放社区!")
13
+    @NotNull(message = "投放社区不能为空!")
14 14
     private Integer communityId;
15 15
 
16 16
     // @NotBlank(message = "跳转描述不能为空!")

+ 2
- 2
CODE/smart-community/operate-api/src/main/java/com/community/huiju/model/ToCommunities.java View File

@@ -21,10 +21,10 @@ public class ToCommunities {
21 21
     @NotNull(message = "所在区县乡不能为空!")
22 22
     private Integer districtId;
23 23
     
24
-    @NotBlank(message = "经纬度不能为空!")
24
+    @NotBlank(message = "高德坐标不能为空!")
25 25
     private String longitude;
26 26
     
27
-    @NotBlank(message = "经纬度不能为空!")
27
+    @NotBlank(message = "高德坐标不能为空!")
28 28
     private String latitude;
29 29
     
30 30
     @NotBlank(message = "管理员姓名不能为空!")

+ 9
- 0
CODE/smart-community/operate-api/src/main/java/com/community/huiju/service/impl/CommonServiceImpl.java View File

@@ -1,11 +1,13 @@
1 1
 package com.community.huiju.service.impl;
2 2
 
3
+import com.community.commom.constant.Constant;
3 4
 import com.community.huiju.dao.SysNationMapper;
4 5
 import com.community.huiju.model.SysNation;
5 6
 import com.community.huiju.service.CommonServiceI;
6 7
 import org.springframework.beans.factory.annotation.Autowired;
7 8
 import org.springframework.stereotype.Service;
8 9
 
10
+import java.util.ArrayList;
9 11
 import java.util.List;
10 12
 
11 13
 /**
@@ -36,6 +38,13 @@ public class CommonServiceImpl implements CommonServiceI {
36 38
 	 */
37 39
 	@Override
38 40
 	public List<SysNation> getCityList(Integer provinceId) {
41
+		//直辖市是自己本身
42
+		if(provinceId.equals(Constant.Beijing) || provinceId.equals(Constant.Shanghai) ||
43
+			provinceId.equals(Constant.Tianjin) || provinceId.equals(Constant.Chongqing)) {
44
+			List<SysNation> list = new ArrayList<>();
45
+			list.add(sysNationMapper.selectByPrimaryKey(provinceId));
46
+			return list;
47
+		}
39 48
 		return sysNationMapper.getNationList(provinceId);
40 49
 	}
41 50
 	

+ 19
- 0
CODE/smart-community/property-api/pom.xml View File

@@ -106,6 +106,25 @@
106 106
 				<groupId>org.springframework.boot</groupId>
107 107
 				<artifactId>spring-boot-maven-plugin</artifactId>
108 108
 			</plugin>
109
+			<!--服务化打包工具-->
110
+			<plugin>
111
+				<groupId>org.apache.maven.plugins</groupId>
112
+				<artifactId>maven-assembly-plugin</artifactId>
113
+				<configuration>
114
+					<descriptors>
115
+						<descriptor>src/main/assembly/assembly.xml</descriptor>
116
+					</descriptors>
117
+				</configuration>
118
+				<executions>
119
+					<execution>
120
+						<id>make-assembly</id>
121
+						<phase>package</phase>
122
+						<goals>
123
+							<goal>single</goal>
124
+						</goals>
125
+					</execution>
126
+				</executions>
127
+			</plugin>
109 128
 		</plugins>
110 129
 	</build>
111 130
 

+ 30
- 0
CODE/smart-community/property-api/src/main/assembly/assembly.xml View File

@@ -0,0 +1,30 @@
1
+<assembly>
2
+    <id>assembly</id>
3
+    <formats>
4
+        <format>tar.gz</format>
5
+    </formats>
6
+    <includeBaseDirectory>true</includeBaseDirectory>
7
+    <fileSets>
8
+        <fileSet>
9
+            <directory>src/main/assembly/bin</directory>
10
+            <outputDirectory>bin</outputDirectory>
11
+            <fileMode>0755</fileMode>
12
+        </fileSet>
13
+        <fileSet>
14
+            <directory>target/classes</directory>
15
+            <outputDirectory>conf</outputDirectory>
16
+            <includes>
17
+                <include>META-INF/**</include>
18
+                <include>*.yml</include>
19
+                <include>conf/**</include>
20
+            </includes>
21
+            <fileMode>0755</fileMode>
22
+        </fileSet>
23
+    </fileSets>
24
+    <dependencySets>
25
+        <dependencySet>
26
+            <useProjectArtifact>true</useProjectArtifact>
27
+            <outputDirectory>lib</outputDirectory>
28
+        </dependencySet>
29
+    </dependencySets>
30
+</assembly>

+ 86
- 0
CODE/smart-community/property-api/src/main/assembly/bin/start.sh View File

@@ -0,0 +1,86 @@
1
+#!/bin/bash
2
+
3
+SERVER_NAME='property-api'
4
+# jar名称
5
+JAR_NAME='property-api-0.0.1.jar'
6
+cd `dirname $0`
7
+BIN_DIR=`pwd`
8
+cd ..
9
+DEPLOY_DIR=`pwd`
10
+CONF_DIR=$DEPLOY_DIR/conf
11
+# 获取应用的端口号
12
+SERVER_PORT=`sed -nr '/port: [0-9]+/ s/.*port: +([0-9]+).*/\1/p' conf/bootstrap.yml`
13
+
14
+PIDS=`ps -f | grep java | grep "$CONF_DIR" |awk '{print $2}'`
15
+if [ "$1" = "status" ]; then
16
+    if [ -n "$PIDS" ]; then
17
+        echo "The $SERVER_NAME is running...!"
18
+        echo "PID: $PIDS"
19
+        exit 0
20
+    else
21
+        echo "The $SERVER_NAME is stopped"
22
+        exit 0
23
+    fi
24
+fi
25
+
26
+if [ -n "$PIDS" ]; then
27
+    echo "ERROR: The $SERVER_NAME already started!"
28
+    echo "PID: $PIDS"
29
+    exit 1
30
+fi
31
+
32
+if [ -n "$SERVER_PORT" ]; then
33
+    SERVER_PORT_COUNT=`netstat -tln | grep $SERVER_PORT | wc -l`
34
+    if [ $SERVER_PORT_COUNT -gt 0 ]; then
35
+        echo "ERROR: The $SERVER_NAME port $SERVER_PORT already used!"
36
+        exit 1
37
+    fi
38
+fi
39
+
40
+LOGS_DIR=$DEPLOY_DIR/logs
41
+if [ ! -d $LOGS_DIR ]; then
42
+    mkdir $LOGS_DIR
43
+fi
44
+STDOUT_FILE=$LOGS_DIR/stdout.log
45
+
46
+JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true "
47
+JAVA_DEBUG_OPTS=""
48
+if [ "$1" = "debug" ]; then
49
+    JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n "
50
+fi
51
+
52
+JAVA_JMX_OPTS=""
53
+if [ "$1" = "jmx" ]; then
54
+    JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
55
+fi
56
+
57
+JAVA_MEM_OPTS=""
58
+BITS=`java -version 2>&1 | grep -i 64-bit`
59
+if [ -n "$BITS" ]; then
60
+    JAVA_MEM_OPTS=" -server -Xmx512m -Xms512m -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
61
+else
62
+    JAVA_MEM_OPTS=" -server -Xms512m -Xmx512m -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC "
63
+fi
64
+
65
+CONFIG_FILES=" -Dspring.config.location=$CONF_DIR/ "
66
+echo -e "Starting the $SERVER_NAME ..."
67
+nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS $CONFIG_FILES -jar $DEPLOY_DIR/lib/$JAR_NAME > $STDOUT_FILE 2>&1 &
68
+
69
+COUNT=0
70
+while [ $COUNT -lt 1 ]; do
71
+    echo -e ".\c"
72
+    sleep 1
73
+    if [ -n "$SERVER_PORT" ]; then
74
+        COUNT=`netstat -an | grep $SERVER_PORT | wc -l`
75
+    else
76
+        COUNT=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}' | wc -l`
77
+    fi
78
+    if [ $COUNT -gt 0 ]; then
79
+        break
80
+    fi
81
+done
82
+
83
+echo "OK!"
84
+PIDS=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}'`
85
+echo "PID: $PIDS"
86
+echo "STDOUT: $STDOUT_FILE"

+ 3
- 3
CODE/smart-community/zuul/src/main/resources/bootstrap.yml View File

@@ -30,8 +30,8 @@ eureka:
30 30
 
31 31
 zuul:
32 32
   host:
33
-    connect-timeout-millis: 60000
34
-    socket-timeout-millis: 60000
33
+    connect-timeout-millis: 180000
34
+    socket-timeout-millis: 180000
35 35
 
36 36
 hystrix:
37 37
   command:
@@ -39,7 +39,7 @@ hystrix:
39 39
       execution:
40 40
         isolation:
41 41
           thread:
42
-            timeoutInMilliseconds: 60000
42
+            timeoutInMilliseconds: 180000
43 43
 
44 44
 
45 45
 ## Mybatis

+ 1
- 1
VUECODE/smart-operate-manage/build/webpack.dev.conf.js View File

@@ -56,7 +56,7 @@ const devWebpackConfig = merge(baseWebpackConfig, {
56 56
       filename: 'index.html',
57 57
       template: 'index.html',
58 58
       inject: true,
59
-      favicon: resolve('favicon.ico'),
59
+      favicon: resolve('zhihui.jpg'),
60 60
       title: '智慧社区运营平台'
61 61
     })
62 62
   ]

+ 1
- 1
VUECODE/smart-operate-manage/build/webpack.prod.conf.js View File

@@ -54,7 +54,7 @@ const webpackConfig = merge(baseWebpackConfig, {
54 54
       filename: config.build.index,
55 55
       template: 'index.html',
56 56
       inject: true,
57
-      favicon: resolve('favicon.ico'),
57
+      favicon: resolve('zhihui.jpg'),
58 58
       title: '智慧社区运营平台',
59 59
       minify: {
60 60
         removeComments: true,

+ 0
- 3
VUECODE/smart-operate-manage/src/router/index.js View File

@@ -24,7 +24,6 @@ import Layout from '../views/layout/Layout'
24 24
 export const constantRouterMap = [
25 25
   { path: '/login', component: () => import('@/views/login/index'), hidden: true },
26 26
   { path: '/404', component: () => import('@/views/404'), hidden: true },
27
-
28 27
   {
29 28
     path: '/dashboard',
30 29
     component: Layout,
@@ -41,8 +40,6 @@ export const constantRouterMap = [
41 40
     path: '/',
42 41
     component: Layout,
43 42
     redirect: '/index',
44
-    alwaysShow: true,
45
-    meta: { title: '首页', icon: 'zip' },
46 43
     children: [
47 44
       {
48 45
         path: '',

+ 1
- 1
VUECODE/smart-operate-manage/src/utils/validate.js View File

@@ -3,7 +3,7 @@
3 3
  */
4 4
 /* 手机号码*/
5 5
 export function isvalidUsername(str) {
6
-  const reg = /^1(3|4|5|7|8)\d{9}$/
6
+  const reg = /^1(3|4|5|7|8|9)\d{9}$/
7 7
   return reg.test(str)
8 8
 }
9 9
 

+ 12
- 12
VUECODE/smart-operate-manage/src/views/banner/addBanner/index.vue View File

@@ -1,28 +1,28 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <el-form ref="addForm" :model="addForm">
4
-      <el-form-item :label-width="formLabelWidth" label="标题">
4
+      <el-form-item :label-width="formLabelWidth" label="标题 *">
5 5
         <el-input v-model="addForm.title"/>
6 6
       </el-form-item>
7
-      <el-form-item :label-width="formLabelWidth" label="权重">
7
+      <el-form-item :label-width="formLabelWidth" label="权重 *">
8 8
         <el-input v-model="addForm.sort"/>
9 9
       </el-form-item>
10
-       <el-form-item :label-width="formLabelWidth" label="生效时间">
10
+       <el-form-item :label-width="formLabelWidth" label="生效时间 *">
11 11
         <el-date-picker
12 12
           v-model="addForm.effTime"
13 13
           type="date"
14 14
           placeholder="选择日期时间"/>
15 15
       </el-form-item>
16
-      <el-form-item :label-width="formLabelWidth" label="失效时间">
16
+      <el-form-item :label-width="formLabelWidth" label="失效时间 *">
17 17
         <el-date-picker
18 18
           v-model="addForm.expTime"
19 19
           type="date"
20 20
           placeholder="选择日期时间"/>
21 21
       </el-form-item>
22
-      <el-form-item :label-width="formLabelWidth" label="banner图">
22
+      <el-form-item :label-width="formLabelWidth" label="banner图 *">
23 23
         <el-upload
24 24
           class="avatar-uploader"
25
-          action="http://localhost:8085/operate-api/uploadimage"
25
+          action="http://101.132.102.231:8085/operate-api/uploadimage"
26 26
           name="uploadFiles"
27 27
           :show-file-list="false"
28 28
           :on-success="handleAvatarSuccess">
@@ -30,7 +30,7 @@
30 30
           <i v-else class="el-icon-plus avatar-uploader-icon"></i>
31 31
         </el-upload>
32 32
       </el-form-item>
33
-      <el-form-item :label-width="formLabelWidth" label="banner位">
33
+      <el-form-item :label-width="formLabelWidth" label="banner位 *">
34 34
         <el-select v-model="addForm.bannerPosition" placeholder="请选择位置">
35 35
           <!-- <el-option label="请选择位置" value="-1"/> -->
36 36
           <el-option
@@ -42,7 +42,7 @@
42 42
           <!-- <el-option v-for="item in bannerPositionArr" label="item.value" value="item.id"/> -->
43 43
         </el-select>
44 44
       </el-form-item>
45
-      <el-form-item :label-width="formLabelWidth" label="投放社区">
45
+      <el-form-item :label-width="formLabelWidth" label="投放社区 *">
46 46
         <el-select v-model="addForm.communityId" placeholder="请选择社区">
47 47
           <!-- <el-option label="请选择社区" value="-1"/> -->
48 48
           <el-option v-for="item in communityList" :key="item.id" :value="item.id" :label="item.communityName"/>
@@ -56,18 +56,18 @@
56 56
           type="textarea"
57 57
           placeholder="请输入跳转描述"/>
58 58
       </el-form-item> -->
59
-      <el-form-item :label-width="formLabelWidth" label="banner跳转">
59
+      <el-form-item :label-width="formLabelWidth" label="banner跳转 *">
60 60
         <el-radio v-model="addForm.bannerType" label="1" @change="showContent">外部超链接</el-radio>
61 61
         <el-radio v-model="addForm.bannerType" label="2" @change="showContent">自写文章</el-radio>
62 62
       </el-form-item>
63
-      <el-form-item v-if="showURLVisible" :label-width="formLabelWidth" label="跳转链接">
63
+      <el-form-item v-if="showURLVisible" :label-width="formLabelWidth" label="跳转链接 *">
64 64
         <el-input v-model="addForm.externalLink" placeholder="跳转链接"/>
65 65
       </el-form-item>
66 66
       <div v-if="showContentVisible">
67
-        <el-form-item :label-width="formLabelWidth" label="内容标题">
67
+        <el-form-item :label-width="formLabelWidth" label="内容标题 *">
68 68
           <el-input v-model="addForm.bannerTitle" placeholder="内容标题"/>
69 69
         </el-form-item>
70
-        <el-form-item :label-width="formLabelWidth" label="内容详情">
70
+        <el-form-item :label-width="formLabelWidth" label="内容详情 *">
71 71
           <!-- <el-input v-model="addForm.bannerContent" placeholder="内容详情"/> -->
72 72
           <div id="father">
73 73
             <wangeditor v-on:wangeditorEvent="wangeditorValue"></wangeditor>

+ 3
- 2
VUECODE/smart-operate-manage/src/views/banner/ediBanner/index.vue View File

@@ -22,7 +22,7 @@
22 22
       <el-form-item :label-width="formLabelWidth" label="banner图">
23 23
         <el-upload
24 24
           class="avatar-uploader"
25
-          action="http://localhost:8085/operate-api/uploadimage"
25
+          action="http://101.132.102.231:8085/operate-api/uploadimage"
26 26
           name="uploadFiles"
27 27
           :show-file-list="false"
28 28
           :on-success="handleAvatarSuccess">
@@ -129,6 +129,7 @@ export default {
129 129
       calendarTypeOptions,
130 130
       listQuery: [],
131 131
       form: {
132
+        id: '',
132 133
         title: '',
133 134
         sort: '1',
134 135
         bannerCover: '',
@@ -174,7 +175,7 @@ export default {
174 175
     ]),
175 176
     handleAvatarSuccess(res, file) { // 上传成功回调
176 177
       this.imageUrl = URL.createObjectURL(file.raw)
177
-      this.addForm.bannerCover = res.data[0]
178
+      this.form.bannerCover = res.data[0]
178 179
     },
179 180
     dialogAddForm() {
180 181
       this.dialogFormVisible = true

+ 29
- 13
VUECODE/smart-operate-manage/src/views/banner/index.vue View File

@@ -5,16 +5,16 @@
5 5
       <el-input v-model="listQuery.title" placeholder="请输入标题" style="width: 200px;" class="filter-item" @keyup.enter.native="handleFilter"/>
6 6
       <!-- <label>跳转概述</label>
7 7
       <el-input v-model="listQuery.bannerDescription" placeholder="请输入跳转概述" style="width: 200px;" class="filter-item" @keyup.enter.native="handleFilter"/> -->
8
-      <label>选择小区</label>
9
-      <el-select v-model="listQuery.communityId" placeholder="选择小区" clearable style="width: 200px" class="filter-item">
8
+      <label>适用社区</label>
9
+      <el-select v-model="listQuery.communityId" placeholder="适用社区" clearable style="width: 200px" class="filter-item">
10 10
         <el-option v-for="item in communityList" :key="item.id" :value="item.id" :label="item.communityName"/>
11 11
       </el-select>
12
-      <label>位置</label>
12
+      <label>banner位置</label>
13 13
       <el-select v-model="listQuery.bannerPosition" placeholder="banner位置" clearable class="filter-item" style="width: 200px">
14 14
         <el-option v-for="item in bannerPositionArr" :key="item.id" :value="item.id" :label="item.value"/>
15 15
       </el-select>
16
-      <el-button v-waves class="filter-item" type="info" icon="el-icon-warning" @click="handleFilter">清空</el-button>
17 16
       <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button>
17
+      <el-button v-waves class="filter-item" type="info" icon="el-icon-warning" @click="handleFilter">清空</el-button>
18 18
     </div>
19 19
 
20 20
     <el-row style="margin-top: 20px; margin-bottom: 20px;">
@@ -34,15 +34,10 @@
34 34
       @selection-change="handleSelectionChange">
35 35
       <el-table-column label="选择" type="selection" sortable="custom" align="center" >
36 36
       </el-table-column>
37
-      <el-table-column label="编号" align="center" min-width="30px">
38
-        <template slot-scope="scope">
39
-          <span>{{ scope.row.id }}</span>
40
-        </template>
41
-      </el-table-column>
42 37
       <el-table-column label="标题" align="center" min-width="250px">
43 38
         <template slot-scope="scope">
44 39
           <!-- <span class="link-type" @click="handleUpdate(scope.row)">{{ scope.row.title }}</span> -->
45
-          <span class="link-type" @click="infoBanner(scope.row.id)">{{ scope.row.title }}</span>
40
+          <span class="link-type title-span" @click="infoBanner(scope.row.id)">{{ scope.row.title }}</span>
46 41
         </template>
47 42
       </el-table-column>
48 43
       <el-table-column label="适用社区" align="center">
@@ -91,7 +86,7 @@
91 86
     <el-pagination
92 87
       :total="total"
93 88
       :current-page="listQuery.pageNum"
94
-      :page-sizes="[5, 10, 20, 30]"
89
+      :page-sizes="[10, 20, 30]"
95 90
       :page-size="listQuery.pageSize"
96 91
       layout="total, sizes, prev, pager, next, jumper"
97 92
       @size-change="handleSizeChange"
@@ -140,12 +135,16 @@ export default {
140 135
       listLoading: true,
141 136
       listQuery: {
142 137
         pageNum: 1,
143
-        pageSize: 5,
138
+        pageSize: 10,
144 139
         title: undefined,
145 140
         bannerPosition: undefined,
146 141
         bannerDescription: undefined,
147 142
         communityId: undefined
148 143
       },
144
+      communityQuery: {
145
+        pageNum: 1,
146
+        pageSize: 200,
147
+      },
149 148
       importanceOptions: [1, 2, 3],
150 149
       calendarTypeOptions,
151 150
       addForm: {
@@ -267,7 +266,7 @@ export default {
267 266
     },
268 267
     getCommuniryList() {
269 268
       this.listLoading = true
270
-      this.FetchCommunityList().then(() => {
269
+      this.FetchCommunityList(this.communityQuery).then(() => {
271 270
         this.listLoading = false
272 271
       }).catch(() => {
273 272
         this.loading = false
@@ -303,3 +302,20 @@ export default {
303 302
   }
304 303
 }
305 304
 </script>
305
+
306
+<style scoped>
307
+.title-span {
308
+  background-color: rgba(64,158,255,.1);
309
+  padding: 0 10px;
310
+  height: 32px;
311
+  line-height: 30px;
312
+  font-size: 12px;
313
+  color: #409EFF;
314
+  border-radius: 4px;
315
+  -webkit-box-sizing: border-box;
316
+  box-sizing: border-box;
317
+  border: 1px solid rgba(64,158,255,.2);
318
+  white-space: nowrap;
319
+}
320
+</style>
321
+

+ 5
- 0
VUECODE/smart-operate-manage/src/views/banner/infoBanner/index.vue View File

@@ -50,6 +50,7 @@
50 50
       </div>
51 51
     </el-form>
52 52
     <div slot="footer" class="dialog-footer">
53
+      <el-button @click="updateBanner" type="primary">修 改</el-button>
53 54
       <el-button @click="dialogForm('0')">返 回</el-button>
54 55
     </div>
55 56
   </div>
@@ -100,6 +101,7 @@ export default {
100 101
       calendarTypeOptions,
101 102
       listQuery: [],
102 103
       form: {
104
+        id: '',
103 105
         title: '',
104 106
         sort: '1',
105 107
         bannerCover: '',
@@ -184,6 +186,9 @@ export default {
184 186
         this.showURLVisible = false
185 187
       }
186 188
     },
189
+    updateBanner() {
190
+      this.$router.push({ name: 'banner-edi', params: { id: this.form.id, listQuery: this.listQuery }})
191
+    },
187 192
     updateData() {
188 193
       this.$refs['form'].validate((valid) => {
189 194
         if (valid) {

+ 40
- 31
VUECODE/smart-operate-manage/src/views/community/communityTable.vue View File

@@ -12,9 +12,9 @@
12 12
       <el-select v-model="listQuery.districtId" placeholder="区县乡" clearable class="filter-item" style="width: 130px">
13 13
         <el-option v-for="item in districtList" :key="item.id" :label="item.district" :value="item.id"/>
14 14
       </el-select>
15
-      <el-button v-waves class="filter-item" type="info" icon="el-icon-warning" @click="clearListQuery">清空</el-button>
16 15
       <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleFilter">查询</el-button>
17 16
       <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-circle-plus" @click="handleCreate">添加</el-button>
17
+      <el-button v-waves class="filter-item" type="info" icon="el-icon-warning" @click="clearListQuery">清空</el-button>
18 18
     </div>
19 19
 
20 20
     <el-table
@@ -105,13 +105,13 @@
105 105
 
106 106
     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
107 107
       <el-form ref="dataForm" :rules="rules" :model="detail" label-position="left" label-width="100px" style="margin-left:50px;">
108
-        <el-form-item label="社区名称">
108
+        <el-form-item label="社区名称*">
109 109
           <el-input v-model="detail.communityName"/>
110 110
         </el-form-item>
111 111
         <el-form-item label="社区别名">
112 112
           <el-input v-model="detail.communityAlias"/>
113 113
         </el-form-item>
114
-        <el-form-item label="所在区县">
114
+        <el-form-item label="所在区县*">
115 115
           <el-select v-model="detail.provinceId" placeholder="省" clearable style="width: 90px" class="filter-item" @change="getEditCityList">
116 116
             <el-option v-for="item in provinceList" :key="item.id" :label="item.province" :value="item.id"/>
117 117
           </el-select>
@@ -122,7 +122,7 @@
122 122
             <el-option v-for="item in editDistrictList" :key="item.id" :label="item.district" :value="item.id"/>
123 123
           </el-select>
124 124
         </el-form-item>
125
-        <el-form-item label="高德坐标">
125
+        <el-form-item label="高德坐标*">
126 126
           <el-input
127 127
             v-model="detail.longitude"
128 128
             placeholder="经度"/>
@@ -136,12 +136,12 @@
136 136
             <el-amap-marker v-for="(item,index) in markers" :key="index" :position="item" />
137 137
           </el-amap>
138 138
         </div>
139
-        <el-form-item label="管理员姓名">
139
+        <el-form-item label="管理员姓名*">
140 140
           <el-input
141 141
             v-model="detail.userName"
142 142
             placeholder="建议先填写运营人员姓名"/>
143 143
         </el-form-item>
144
-        <el-form-item label="管理员账号">
144
+        <el-form-item label="管理员账号*">
145 145
           <el-input
146 146
             v-model="detail.loginName"
147 147
             placeholder="建议先填写运营人员手机号"/>
@@ -153,32 +153,20 @@
153 153
       </div>
154 154
     </el-dialog>
155 155
 
156
-    <el-dialog :title="查看" :visible.sync="dialogLookFormVisible">
156
+    <el-dialog :title="'查看'" :visible.sync="dialogLookFormVisible">
157 157
       <el-form ref="dataForm" :rules="rules" :model="detail" label-position="left" label-width="100px" style="margin-left:50px;">
158 158
         <el-form-item label="社区名称">
159
-          <el-input v-model="detail.communityName"/>
159
+          <span>{{ detail.communityName }}</span>
160 160
         </el-form-item>
161 161
         <el-form-item label="社区别名">
162
-          <el-input v-model="detail.communityAlias"/>
162
+          <span>{{ detail.communityAlias }}</span>
163 163
         </el-form-item>
164 164
         <el-form-item label="所在区县">
165
-          <el-select v-model="detail.provinceId" placeholder="省" clearable style="width: 90px" class="filter-item" @change="getEditCityList">
166
-            <el-option v-for="item in provinceList" :key="item.id" :label="item.province" :value="item.id"/>
167
-          </el-select>
168
-          <el-select v-model="detail.cityId" placeholder="市" clearable class="filter-item" style="width: 130px" @change="getEditDistrictList">
169
-            <el-option v-for="item in editCityList" :key="item.id" :label="item.city" :value="item.id"/>
170
-          </el-select>
171
-          <el-select v-model="detail.districtId" placeholder="区县乡" clearable class="filter-item" style="width: 130px">
172
-            <el-option v-for="item in editDistrictList" :key="item.id" :label="item.district" :value="item.id"/>
173
-          </el-select>
165
+          <span>{{ getProvinceName(detail.provinceId) + getCityName(detail.cityId) + getDistrictName(detail.districtId) }}</span>
174 166
         </el-form-item>
175 167
         <el-form-item label="高德坐标">
176
-          <el-input
177
-            v-model="detail.longitude"
178
-            placeholder="经度"/>
179
-          <el-input
180
-            v-model="detail.latitude"
181
-            placeholder="纬度"/>
168
+          <span>{{ '经度: ' + detail.longitude }}</span>
169
+          <span>{{ '纬度: ' + detail.latitude }}</span>
182 170
         </el-form-item>
183 171
         <!-- <el-amap-search-box class="search-box" :search-option="searchOption" :on-search-result="onSearchResult"></el-amap-search-box> -->
184 172
         <div style="width:100%;height:200px;">
@@ -187,14 +175,10 @@
187 175
           </el-amap>
188 176
         </div>
189 177
         <el-form-item label="管理员姓名">
190
-          <el-input
191
-            v-model="detail.userName"
192
-            placeholder="建议先填写运营人员姓名"/>
178
+          <span>{{ detail.userName }}</span>
193 179
         </el-form-item>
194 180
         <el-form-item label="管理员账号">
195
-          <el-input
196
-            v-model="detail.loginName"
197
-            placeholder="建议先填写运营人员手机号"/>
181
+          <span>{{ detail.loginName }}</span>
198 182
         </el-form-item>
199 183
       </el-form>
200 184
       <div slot="footer" class="dialog-footer">
@@ -376,6 +360,7 @@ export default {
376 360
       })
377 361
     },
378 362
     getDistrictList() {
363
+      this.listQuery.districtId = undefined
379 364
       this.FetchDistrictList(this.listQuery.cityId).then(() => {
380 365
       }).catch(() => {
381 366
         console.log('get list error')
@@ -550,7 +535,31 @@ export default {
550 535
           return v[j]
551 536
         }
552 537
       }))
553
-    }
538
+    },
539
+    getProvinceName(provinceId) {
540
+      const tempProvince = this.provinceList
541
+      for (const i in tempProvince) {
542
+        if (tempProvince[i].id === provinceId) {
543
+          return tempProvince[i].province
544
+        }
545
+      }
546
+    },
547
+    getCityName(cityId) {
548
+      const tempCity = this.editCityList
549
+      for (const i in tempCity) {
550
+        if (tempCity[i].id === cityId) {
551
+          return tempCity[i].city
552
+        }
553
+      }
554
+    },
555
+    getDistrictName(districtId) {
556
+      const tempDistrict = this.editDistrictList
557
+      for (const i in tempDistrict) {
558
+        if (tempDistrict[i].id === districtId) {
559
+          return tempDistrict[i].district
560
+        }
561
+      }
562
+    },
554 563
   }
555 564
 }
556 565
 </script>

+ 2
- 2
VUECODE/smart-operate-manage/src/views/layout/components/Navbar.vue View File

@@ -8,8 +8,8 @@
8 8
     <breadcrumb/>
9 9
     <el-dropdown class="avatar-container" trigger="click">
10 10
       <div class="avatar-wrapper">
11
-        <span style="position: relative;top: -15px;right:5px">{{ userData.userName }}</span>
12
-        <img :src="userData.headPortrait" class="user-avatar" v-if="userData.headPortrait != ''">
11
+        <span style="position: relative;top: -15px;right:5px;">{{ userData.userName }}</span>
12
+        <img :src="userData.headPortrait" class="user-avatar" v-if="userData.headPortrait != '' && userData.headPortrait != undefined">
13 13
         <i class="el-icon-caret-bottom"/>
14 14
       </div>
15 15
       <el-dropdown-menu slot="dropdown" class="user-dropdown">

+ 31
- 7
VUECODE/smart-operate-manage/src/views/login/index.vue View File

@@ -1,5 +1,6 @@
1 1
 <template>
2 2
   <div class="login-container">
3
+    <div class="login-box">
3 4
     <el-form
4 5
       ref="loginForm"
5 6
       :model="loginForm"
@@ -13,7 +14,7 @@
13 14
           src="http://jingcheng-h5temp.oss-cn-shanghai.aliyuncs.com/1543283673332.png?Expires=1545111060&OSSAccessKeyId=LTAIkc75dpkJw8Lb&Signature=HqQy2E2tWJ4Vbc8HClE3jqPTx0s%3D"
14 15
         >
15 16
       </div>
16
-      <h3 class="title">智慧社区运营系统</h3>
17
+      <h3 class="title">智慧社区运营平台</h3>
17 18
       <el-form-item prop="username">
18 19
         <span class="svg-container">
19 20
           <svg-icon icon-class="user"/>
@@ -46,6 +47,8 @@
46 47
         @click.native.prevent="handleLogin"
47 48
       >登录</el-button>
48 49
     </el-form>
50
+    </div>
51
+    <span class="bottom-desc">Copyright © 南京荟房网络科技有限公司, All Rights Reserved.</span>
49 52
   </div>
50 53
 </template>
51 54
 
@@ -97,8 +100,10 @@ export default {
97 100
           this.loading = true
98 101
           this.$store.dispatch('Login', this.loginForm).then((res) => {
99 102
             if (res.code === '0') {
103
+              console.log('登陆结果: ',res)
100 104
               this.loading = false
101
-              this.$router.push({ path: this.redirect || '/' })
105
+              // this.$router.push({ path: this.redirect || '/index' })
106
+              this.$router.push({ name: 'index' })
102 107
             } else {
103 108
               this.loading = false
104 109
             }
@@ -128,16 +133,35 @@ $light_gray: #eee;
128 133
 
129 134
 /* reset element-ui css */
130 135
 .login-container {
136
+
137
+  .bottom-desc{
138
+    position: absolute;
139
+    top: 95%;
140
+    left: 39.5%;
141
+    color: #fff
142
+  }
143
+  
144
+  .login-box{
145
+    position: absolute;
146
+    width: 400px;
147
+    height: 425px;
148
+    background-color: rgba(21,22,58,0.53);
149
+    top: 28%;
150
+    left: 40%;
151
+    border-radius: 10px;
152
+    box-shadow:  #666 0px 0px 10px inset;
153
+    }
154
+
131 155
   .el-input {
132 156
     display: inline-block;
133
-    height: 47px;
157
+    height: 40px;
134 158
     width: 85%;
135 159
     input {
136 160
       background: transparent;
137 161
       border: 0px;
138 162
       -webkit-appearance: none;
139 163
       border-radius: 0px;
140
-      padding: 12px 5px 12px 15px;
164
+      padding: 4px 5px 12px 15px;
141 165
       color: $light_gray;
142 166
       height: 47px;
143 167
       &:-webkit-autofill {
@@ -174,10 +198,10 @@ $light_gray: #eee;
174 198
     position: absolute;
175 199
     left: 0;
176 200
     right: 0;
177
-    width: 520px;
201
+    width: 382px;
178 202
     max-width: 100%;
179 203
     padding: 35px 35px 15px 35px;
180
-    margin: 120px auto;
204
+    margin: 20px auto;
181 205
     .pwdSend {
182 206
       float: left;
183 207
       .el-form-item {
@@ -202,7 +226,7 @@ $light_gray: #eee;
202 226
     }
203 227
   }
204 228
   .svg-container {
205
-    padding: 6px 5px 6px 15px;
229
+    padding: 0px 5px 0px 15px;
206 230
     color: $dark_gray;
207 231
     vertical-align: middle;
208 232
     width: 30px;

BIN
VUECODE/smart-operate-manage/zhihui.jpg View File


+ 50
- 39
文档/MYSQL/smartCommunity.pdb View File

@@ -1,5 +1,5 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2
-<?PowerDesigner AppLocale="UTF16" ID="{1EFA7B8F-E5BE-422B-A0AE-B907AA87924F}" Label="" LastModificationDate="1543392472" Name="smartCommunity" Objects="686" Symbols="79" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
2
+<?PowerDesigner AppLocale="UTF16" ID="{1EFA7B8F-E5BE-422B-A0AE-B907AA87924F}" Label="" LastModificationDate="1543480192" Name="smartCommunity" Objects="698" Symbols="79" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
3 3
 <!-- do not edit this file -->
4 4
 
5 5
 <Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@@ -5945,9 +5945,9 @@ LABL 0 新宋体,8,N</a:FontList>
5945 5945
 </o:TableSymbol>
5946 5946
 <o:TableSymbol Id="o159">
5947 5947
 <a:CreationDate>1542706044</a:CreationDate>
5948
-<a:ModificationDate>1542791427</a:ModificationDate>
5948
+<a:ModificationDate>1543480192</a:ModificationDate>
5949 5949
 <a:IconMode>-1</a:IconMode>
5950
-<a:Rect>((-22201,-62967), (-5413,-56969))</a:Rect>
5950
+<a:Rect>((-22201,-63417), (-5413,-56519))</a:Rect>
5951 5951
 <a:LineColor>12615680</a:LineColor>
5952 5952
 <a:FillColor>16570034</a:FillColor>
5953 5953
 <a:ShadowColor>12632256</a:ShadowColor>
@@ -12175,7 +12175,7 @@ LABL 0 新宋体,8,N</a:FontList>
12175 12175
 <a:Code>tp_message_icon</a:Code>
12176 12176
 <a:CreationDate>1542706044</a:CreationDate>
12177 12177
 <a:Creator>szc</a:Creator>
12178
-<a:ModificationDate>1542768591</a:ModificationDate>
12178
+<a:ModificationDate>1543480192</a:ModificationDate>
12179 12179
 <a:Modifier>szc</a:Modifier>
12180 12180
 <a:Comment>消息图标表</a:Comment>
12181 12181
 <a:TotalSavingCurrency/>
@@ -12241,9 +12241,20 @@ LABL 0 新宋体,8,N</a:FontList>
12241 12241
 <a:DataType>varchar(255)</a:DataType>
12242 12242
 <a:Length>255</a:Length>
12243 12243
 </o:Column>
12244
+<o:Column Id="o613">
12245
+<a:ObjectID>F8DE996A-E9C4-44EA-8206-53522A2FCF05</a:ObjectID>
12246
+<a:Name>message_icon_title</a:Name>
12247
+<a:Code>message_icon_title</a:Code>
12248
+<a:CreationDate>1543480070</a:CreationDate>
12249
+<a:Creator>szc</a:Creator>
12250
+<a:ModificationDate>1543480192</a:ModificationDate>
12251
+<a:Modifier>szc</a:Modifier>
12252
+<a:DataType>varchar(255)</a:DataType>
12253
+<a:Length>255</a:Length>
12254
+</o:Column>
12244 12255
 </c:Columns>
12245 12256
 <c:Keys>
12246
-<o:Key Id="o613">
12257
+<o:Key Id="o614">
12247 12258
 <a:ObjectID>26A69CCB-020F-4EF0-9143-8764DED242E3</a:ObjectID>
12248 12259
 <a:Name>Key_1</a:Name>
12249 12260
 <a:Code>Key_1</a:Code>
@@ -12257,7 +12268,7 @@ LABL 0 新宋体,8,N</a:FontList>
12257 12268
 </o:Key>
12258 12269
 </c:Keys>
12259 12270
 <c:PrimaryKey>
12260
-<o:Key Ref="o613"/>
12271
+<o:Key Ref="o614"/>
12261 12272
 </c:PrimaryKey>
12262 12273
 </o:Table>
12263 12274
 <o:Table Id="o162">
@@ -12271,7 +12282,7 @@ LABL 0 新宋体,8,N</a:FontList>
12271 12282
 <a:Comment>消息订阅消息表</a:Comment>
12272 12283
 <a:TotalSavingCurrency/>
12273 12284
 <c:Columns>
12274
-<o:Column Id="o614">
12285
+<o:Column Id="o615">
12275 12286
 <a:ObjectID>4DD5CBA6-770E-473F-8934-5EDD96D121F6</a:ObjectID>
12276 12287
 <a:Name>id</a:Name>
12277 12288
 <a:Code>id</a:Code>
@@ -12284,7 +12295,7 @@ LABL 0 新宋体,8,N</a:FontList>
12284 12295
 <a:Identity>1</a:Identity>
12285 12296
 <a:Column.Mandatory>1</a:Column.Mandatory>
12286 12297
 </o:Column>
12287
-<o:Column Id="o615">
12298
+<o:Column Id="o616">
12288 12299
 <a:ObjectID>F0349ADD-66D0-430E-9B11-967D6DF4BC81</a:ObjectID>
12289 12300
 <a:Name>event_state</a:Name>
12290 12301
 <a:Code>event_state</a:Code>
@@ -12295,7 +12306,7 @@ LABL 0 新宋体,8,N</a:FontList>
12295 12306
 <a:DataType>int(1)</a:DataType>
12296 12307
 <a:Length>1</a:Length>
12297 12308
 </o:Column>
12298
-<o:Column Id="o616">
12309
+<o:Column Id="o617">
12299 12310
 <a:ObjectID>CBD7DBE3-3C04-499A-94AB-1C22E7AF0412</a:ObjectID>
12300 12311
 <a:Name>event_level</a:Name>
12301 12312
 <a:Code>event_level</a:Code>
@@ -12306,7 +12317,7 @@ LABL 0 新宋体,8,N</a:FontList>
12306 12317
 <a:DataType>int(1)</a:DataType>
12307 12318
 <a:Length>1</a:Length>
12308 12319
 </o:Column>
12309
-<o:Column Id="o617">
12320
+<o:Column Id="o618">
12310 12321
 <a:ObjectID>BAA092FC-2CAA-4436-A1A3-A8893186518D</a:ObjectID>
12311 12322
 <a:Name>unit_idx</a:Name>
12312 12323
 <a:Code>unit_idx</a:Code>
@@ -12317,7 +12328,7 @@ LABL 0 新宋体,8,N</a:FontList>
12317 12328
 <a:DataType>varchar(255)</a:DataType>
12318 12329
 <a:Length>255</a:Length>
12319 12330
 </o:Column>
12320
-<o:Column Id="o618">
12331
+<o:Column Id="o619">
12321 12332
 <a:ObjectID>742654AC-6855-4891-87C7-4F7335D8BA0C</a:ObjectID>
12322 12333
 <a:Name>event_type</a:Name>
12323 12334
 <a:Code>event_type</a:Code>
@@ -12328,7 +12339,7 @@ LABL 0 新宋体,8,N</a:FontList>
12328 12339
 <a:DataType>int(25)</a:DataType>
12329 12340
 <a:Length>25</a:Length>
12330 12341
 </o:Column>
12331
-<o:Column Id="o619">
12342
+<o:Column Id="o620">
12332 12343
 <a:ObjectID>11434250-0829-481C-ADDB-8789D8B5C945</a:ObjectID>
12333 12344
 <a:Name>event_type_name</a:Name>
12334 12345
 <a:Code>event_type_name</a:Code>
@@ -12339,7 +12350,7 @@ LABL 0 新宋体,8,N</a:FontList>
12339 12350
 <a:DataType>varchar(255)</a:DataType>
12340 12351
 <a:Length>255</a:Length>
12341 12352
 </o:Column>
12342
-<o:Column Id="o620">
12353
+<o:Column Id="o621">
12343 12354
 <a:ObjectID>915EB2CD-278E-4ACA-A7B7-32B7D61E580A</a:ObjectID>
12344 12355
 <a:Name>sub_sys_type</a:Name>
12345 12356
 <a:Code>sub_sys_type</a:Code>
@@ -12350,7 +12361,7 @@ LABL 0 新宋体,8,N</a:FontList>
12350 12361
 <a:DataType>int(50)</a:DataType>
12351 12362
 <a:Length>50</a:Length>
12352 12363
 </o:Column>
12353
-<o:Column Id="o621">
12364
+<o:Column Id="o622">
12354 12365
 <a:ObjectID>524D78DB-D5B6-4E21-9A78-65FC94CA9B71</a:ObjectID>
12355 12366
 <a:Name>event_name</a:Name>
12356 12367
 <a:Code>event_name</a:Code>
@@ -12361,7 +12372,7 @@ LABL 0 新宋体,8,N</a:FontList>
12361 12372
 <a:DataType>varchar(255)</a:DataType>
12362 12373
 <a:Length>255</a:Length>
12363 12374
 </o:Column>
12364
-<o:Column Id="o622">
12375
+<o:Column Id="o623">
12365 12376
 <a:ObjectID>F9586B5B-ACA5-4E20-B579-B82194825179</a:ObjectID>
12366 12377
 <a:Name>start_time</a:Name>
12367 12378
 <a:Code>start_time</a:Code>
@@ -12371,7 +12382,7 @@ LABL 0 新宋体,8,N</a:FontList>
12371 12382
 <a:Modifier>szc</a:Modifier>
12372 12383
 <a:DataType>datetime</a:DataType>
12373 12384
 </o:Column>
12374
-<o:Column Id="o623">
12385
+<o:Column Id="o624">
12375 12386
 <a:ObjectID>BE71711E-DB09-4B43-B3FA-73BB502535F0</a:ObjectID>
12376 12387
 <a:Name>stop_time</a:Name>
12377 12388
 <a:Code>stop_time</a:Code>
@@ -12381,7 +12392,7 @@ LABL 0 新宋体,8,N</a:FontList>
12381 12392
 <a:Modifier>szc</a:Modifier>
12382 12393
 <a:DataType>datetime</a:DataType>
12383 12394
 </o:Column>
12384
-<o:Column Id="o624">
12395
+<o:Column Id="o625">
12385 12396
 <a:ObjectID>9729C389-4C89-4E46-8E41-4EA84669E2B2</a:ObjectID>
12386 12397
 <a:Name>source_idx</a:Name>
12387 12398
 <a:Code>source_idx</a:Code>
@@ -12392,7 +12403,7 @@ LABL 0 新宋体,8,N</a:FontList>
12392 12403
 <a:DataType>varchar(255)</a:DataType>
12393 12404
 <a:Length>255</a:Length>
12394 12405
 </o:Column>
12395
-<o:Column Id="o625">
12406
+<o:Column Id="o626">
12396 12407
 <a:ObjectID>5DA158D3-6F7D-4D03-8D78-C3D556CB6AC5</a:ObjectID>
12397 12408
 <a:Name>source_type</a:Name>
12398 12409
 <a:Code>source_type</a:Code>
@@ -12403,7 +12414,7 @@ LABL 0 新宋体,8,N</a:FontList>
12403 12414
 <a:DataType>int(90)</a:DataType>
12404 12415
 <a:Length>90</a:Length>
12405 12416
 </o:Column>
12406
-<o:Column Id="o626">
12417
+<o:Column Id="o627">
12407 12418
 <a:ObjectID>3D617607-AAB2-4D24-8C28-578B3FBC4917</a:ObjectID>
12408 12419
 <a:Name>source_name</a:Name>
12409 12420
 <a:Code>source_name</a:Code>
@@ -12414,7 +12425,7 @@ LABL 0 新宋体,8,N</a:FontList>
12414 12425
 <a:DataType>varchar(255)</a:DataType>
12415 12426
 <a:Length>255</a:Length>
12416 12427
 </o:Column>
12417
-<o:Column Id="o627">
12428
+<o:Column Id="o628">
12418 12429
 <a:ObjectID>2FB9D075-CCF8-4343-A18C-D1B6D0B8BB01</a:ObjectID>
12419 12430
 <a:Name>region_idx</a:Name>
12420 12431
 <a:Code>region_idx</a:Code>
@@ -12425,7 +12436,7 @@ LABL 0 新宋体,8,N</a:FontList>
12425 12436
 <a:DataType>varchar(255)</a:DataType>
12426 12437
 <a:Length>255</a:Length>
12427 12438
 </o:Column>
12428
-<o:Column Id="o628">
12439
+<o:Column Id="o629">
12429 12440
 <a:ObjectID>4E2A38B4-023B-4E01-BA6A-4B84AF01B9FE</a:ObjectID>
12430 12441
 <a:Name>event_code</a:Name>
12431 12442
 <a:Code>event_code</a:Code>
@@ -12436,7 +12447,7 @@ LABL 0 新宋体,8,N</a:FontList>
12436 12447
 <a:DataType>int(90)</a:DataType>
12437 12448
 <a:Length>90</a:Length>
12438 12449
 </o:Column>
12439
-<o:Column Id="o629">
12450
+<o:Column Id="o630">
12440 12451
 <a:ObjectID>A7312C07-60F4-4674-83F6-090D266440BA</a:ObjectID>
12441 12452
 <a:Name>device_id</a:Name>
12442 12453
 <a:Code>device_id</a:Code>
@@ -12447,7 +12458,7 @@ LABL 0 新宋体,8,N</a:FontList>
12447 12458
 <a:DataType>int(90)</a:DataType>
12448 12459
 <a:Length>90</a:Length>
12449 12460
 </o:Column>
12450
-<o:Column Id="o630">
12461
+<o:Column Id="o631">
12451 12462
 <a:ObjectID>F5E5F8C9-7034-420B-8B3E-1A301730D33C</a:ObjectID>
12452 12463
 <a:Name>device_type</a:Name>
12453 12464
 <a:Code>device_type</a:Code>
@@ -12458,7 +12469,7 @@ LABL 0 新宋体,8,N</a:FontList>
12458 12469
 <a:DataType>int(90)</a:DataType>
12459 12470
 <a:Length>90</a:Length>
12460 12471
 </o:Column>
12461
-<o:Column Id="o631">
12472
+<o:Column Id="o632">
12462 12473
 <a:ObjectID>062C16C4-1155-4D16-913D-66F096B57D1A</a:ObjectID>
12463 12474
 <a:Name>device_name</a:Name>
12464 12475
 <a:Code>device_name</a:Code>
@@ -12469,7 +12480,7 @@ LABL 0 新宋体,8,N</a:FontList>
12469 12480
 <a:DataType>varchar(255)</a:DataType>
12470 12481
 <a:Length>255</a:Length>
12471 12482
 </o:Column>
12472
-<o:Column Id="o632">
12483
+<o:Column Id="o633">
12473 12484
 <a:ObjectID>BBD618AF-FDB0-417A-A778-3A0B8997050E</a:ObjectID>
12474 12485
 <a:Name>event_card</a:Name>
12475 12486
 <a:Code>event_card</a:Code>
@@ -12480,7 +12491,7 @@ LABL 0 新宋体,8,N</a:FontList>
12480 12491
 <a:DataType>varchar(255)</a:DataType>
12481 12492
 <a:Length>255</a:Length>
12482 12493
 </o:Column>
12483
-<o:Column Id="o633">
12494
+<o:Column Id="o634">
12484 12495
 <a:ObjectID>34808DF1-4711-4258-81A4-B6DB181DD52D</a:ObjectID>
12485 12496
 <a:Name>person_id</a:Name>
12486 12497
 <a:Code>person_id</a:Code>
@@ -12491,7 +12502,7 @@ LABL 0 新宋体,8,N</a:FontList>
12491 12502
 <a:DataType>int(90)</a:DataType>
12492 12503
 <a:Length>90</a:Length>
12493 12504
 </o:Column>
12494
-<o:Column Id="o634">
12505
+<o:Column Id="o635">
12495 12506
 <a:ObjectID>32CEE916-F12F-45AF-BC83-1D42B8B8BD20</a:ObjectID>
12496 12507
 <a:Name>person_name</a:Name>
12497 12508
 <a:Code>person_name</a:Code>
@@ -12502,7 +12513,7 @@ LABL 0 新宋体,8,N</a:FontList>
12502 12513
 <a:DataType>varchar(255)</a:DataType>
12503 12514
 <a:Length>255</a:Length>
12504 12515
 </o:Column>
12505
-<o:Column Id="o635">
12516
+<o:Column Id="o636">
12506 12517
 <a:ObjectID>27739F03-7477-4759-A70A-E1BF5D1ACF77</a:ObjectID>
12507 12518
 <a:Name>dept_id</a:Name>
12508 12519
 <a:Code>dept_id</a:Code>
@@ -12513,7 +12524,7 @@ LABL 0 新宋体,8,N</a:FontList>
12513 12524
 <a:DataType>int(90)</a:DataType>
12514 12525
 <a:Length>90</a:Length>
12515 12526
 </o:Column>
12516
-<o:Column Id="o636">
12527
+<o:Column Id="o637">
12517 12528
 <a:ObjectID>5F000DC1-611B-492E-B9D8-589F39BFA951</a:ObjectID>
12518 12529
 <a:Name>dept_name</a:Name>
12519 12530
 <a:Code>dept_name</a:Code>
@@ -12524,7 +12535,7 @@ LABL 0 新宋体,8,N</a:FontList>
12524 12535
 <a:DataType>varchar(255)</a:DataType>
12525 12536
 <a:Length>255</a:Length>
12526 12537
 </o:Column>
12527
-<o:Column Id="o637">
12538
+<o:Column Id="o638">
12528 12539
 <a:ObjectID>D7E8BB80-0895-4A12-9F55-7E9FE12C83D2</a:ObjectID>
12529 12540
 <a:Name>dept_code</a:Name>
12530 12541
 <a:Code>dept_code</a:Code>
@@ -12535,7 +12546,7 @@ LABL 0 新宋体,8,N</a:FontList>
12535 12546
 <a:DataType>varchar(255)</a:DataType>
12536 12547
 <a:Length>255</a:Length>
12537 12548
 </o:Column>
12538
-<o:Column Id="o638">
12549
+<o:Column Id="o639">
12539 12550
 <a:ObjectID>02FC83B5-57D3-40CF-A434-0B2B6A66EE2F</a:ObjectID>
12540 12551
 <a:Name>in_out</a:Name>
12541 12552
 <a:Code>in_out</a:Code>
@@ -12546,7 +12557,7 @@ LABL 0 新宋体,8,N</a:FontList>
12546 12557
 <a:DataType>int(10)</a:DataType>
12547 12558
 <a:Length>10</a:Length>
12548 12559
 </o:Column>
12549
-<o:Column Id="o639">
12560
+<o:Column Id="o640">
12550 12561
 <a:ObjectID>EDF7E2FE-E5B8-4EB2-8622-37D735B11AC3</a:ObjectID>
12551 12562
 <a:Name>ext_txt</a:Name>
12552 12563
 <a:Code>ext_txt</a:Code>
@@ -12556,7 +12567,7 @@ LABL 0 新宋体,8,N</a:FontList>
12556 12567
 <a:Modifier>szc</a:Modifier>
12557 12568
 <a:DataType>text</a:DataType>
12558 12569
 </o:Column>
12559
-<o:Column Id="o640">
12570
+<o:Column Id="o641">
12560 12571
 <a:ObjectID>2D0F6C5E-E444-4A9D-A180-9E6849EAA091</a:ObjectID>
12561 12572
 <a:Name>card_status</a:Name>
12562 12573
 <a:Code>card_status</a:Code>
@@ -12567,7 +12578,7 @@ LABL 0 新宋体,8,N</a:FontList>
12567 12578
 <a:DataType>int(10)</a:DataType>
12568 12579
 <a:Length>10</a:Length>
12569 12580
 </o:Column>
12570
-<o:Column Id="o641">
12581
+<o:Column Id="o642">
12571 12582
 <a:ObjectID>85DCD41F-8F80-4AFB-9629-3A14080EFB37</a:ObjectID>
12572 12583
 <a:Name>pic_url</a:Name>
12573 12584
 <a:Code>pic_url</a:Code>
@@ -12580,7 +12591,7 @@ LABL 0 新宋体,8,N</a:FontList>
12580 12591
 </o:Column>
12581 12592
 </c:Columns>
12582 12593
 <c:Keys>
12583
-<o:Key Id="o642">
12594
+<o:Key Id="o643">
12584 12595
 <a:ObjectID>471D6AE4-41F1-4EBB-B439-16ED2470870B</a:ObjectID>
12585 12596
 <a:Name>Key_1</a:Name>
12586 12597
 <a:Code>Key_1</a:Code>
@@ -12589,17 +12600,17 @@ LABL 0 新宋体,8,N</a:FontList>
12589 12600
 <a:ModificationDate>1542952415</a:ModificationDate>
12590 12601
 <a:Modifier>szc</a:Modifier>
12591 12602
 <c:Key.Columns>
12592
-<o:Column Ref="o614"/>
12603
+<o:Column Ref="o615"/>
12593 12604
 </c:Key.Columns>
12594 12605
 </o:Key>
12595 12606
 </c:Keys>
12596 12607
 <c:PrimaryKey>
12597
-<o:Key Ref="o642"/>
12608
+<o:Key Ref="o643"/>
12598 12609
 </c:PrimaryKey>
12599 12610
 </o:Table>
12600 12611
 </c:Tables>
12601 12612
 <c:DefaultGroups>
12602
-<o:Group Id="o643">
12613
+<o:Group Id="o644">
12603 12614
 <a:ObjectID>9FAF56B5-A351-488F-9A3B-D4A944CD4081</a:ObjectID>
12604 12615
 <a:Name>PUBLIC</a:Name>
12605 12616
 <a:Code>PUBLIC</a:Code>
@@ -13041,7 +13052,7 @@ LABL 0 新宋体,8,N</a:FontList>
13041 13052
 </o:ExtendedDependency>
13042 13053
 </c:ChildTraceabilityLinks>
13043 13054
 <c:TargetModels>
13044
-<o:TargetModel Id="o644">
13055
+<o:TargetModel Id="o645">
13045 13056
 <a:ObjectID>B86EB932-C352-4174-86E4-2D2B1DDE4A45</a:ObjectID>
13046 13057
 <a:Name>MySQL 5.0</a:Name>
13047 13058
 <a:Code>MYSQL50</a:Code>

+ 50
- 39
文档/MYSQL/smartCommunity.pdm View File

@@ -1,5 +1,5 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2
-<?PowerDesigner AppLocale="UTF16" ID="{1EFA7B8F-E5BE-422B-A0AE-B907AA87924F}" Label="" LastModificationDate="1543392472" Name="smartCommunity" Objects="686" Symbols="79" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
2
+<?PowerDesigner AppLocale="UTF16" ID="{1EFA7B8F-E5BE-422B-A0AE-B907AA87924F}" Label="" LastModificationDate="1543480192" Name="smartCommunity" Objects="698" Symbols="79" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
3 3
 <!-- do not edit this file -->
4 4
 
5 5
 <Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@@ -5945,9 +5945,9 @@ LABL 0 新宋体,8,N</a:FontList>
5945 5945
 </o:TableSymbol>
5946 5946
 <o:TableSymbol Id="o159">
5947 5947
 <a:CreationDate>1542706044</a:CreationDate>
5948
-<a:ModificationDate>1542791427</a:ModificationDate>
5948
+<a:ModificationDate>1543480192</a:ModificationDate>
5949 5949
 <a:IconMode>-1</a:IconMode>
5950
-<a:Rect>((-22201,-62967), (-5413,-56969))</a:Rect>
5950
+<a:Rect>((-22201,-63417), (-5413,-56519))</a:Rect>
5951 5951
 <a:LineColor>12615680</a:LineColor>
5952 5952
 <a:FillColor>16570034</a:FillColor>
5953 5953
 <a:ShadowColor>12632256</a:ShadowColor>
@@ -12175,7 +12175,7 @@ LABL 0 新宋体,8,N</a:FontList>
12175 12175
 <a:Code>tp_message_icon</a:Code>
12176 12176
 <a:CreationDate>1542706044</a:CreationDate>
12177 12177
 <a:Creator>szc</a:Creator>
12178
-<a:ModificationDate>1542768591</a:ModificationDate>
12178
+<a:ModificationDate>1543480192</a:ModificationDate>
12179 12179
 <a:Modifier>szc</a:Modifier>
12180 12180
 <a:Comment>消息图标表</a:Comment>
12181 12181
 <a:TotalSavingCurrency/>
@@ -12241,9 +12241,20 @@ LABL 0 新宋体,8,N</a:FontList>
12241 12241
 <a:DataType>varchar(255)</a:DataType>
12242 12242
 <a:Length>255</a:Length>
12243 12243
 </o:Column>
12244
+<o:Column Id="o613">
12245
+<a:ObjectID>F8DE996A-E9C4-44EA-8206-53522A2FCF05</a:ObjectID>
12246
+<a:Name>message_icon_title</a:Name>
12247
+<a:Code>message_icon_title</a:Code>
12248
+<a:CreationDate>1543480070</a:CreationDate>
12249
+<a:Creator>szc</a:Creator>
12250
+<a:ModificationDate>1543480192</a:ModificationDate>
12251
+<a:Modifier>szc</a:Modifier>
12252
+<a:DataType>varchar(255)</a:DataType>
12253
+<a:Length>255</a:Length>
12254
+</o:Column>
12244 12255
 </c:Columns>
12245 12256
 <c:Keys>
12246
-<o:Key Id="o613">
12257
+<o:Key Id="o614">
12247 12258
 <a:ObjectID>26A69CCB-020F-4EF0-9143-8764DED242E3</a:ObjectID>
12248 12259
 <a:Name>Key_1</a:Name>
12249 12260
 <a:Code>Key_1</a:Code>
@@ -12257,7 +12268,7 @@ LABL 0 新宋体,8,N</a:FontList>
12257 12268
 </o:Key>
12258 12269
 </c:Keys>
12259 12270
 <c:PrimaryKey>
12260
-<o:Key Ref="o613"/>
12271
+<o:Key Ref="o614"/>
12261 12272
 </c:PrimaryKey>
12262 12273
 </o:Table>
12263 12274
 <o:Table Id="o162">
@@ -12271,7 +12282,7 @@ LABL 0 新宋体,8,N</a:FontList>
12271 12282
 <a:Comment>消息订阅消息表</a:Comment>
12272 12283
 <a:TotalSavingCurrency/>
12273 12284
 <c:Columns>
12274
-<o:Column Id="o614">
12285
+<o:Column Id="o615">
12275 12286
 <a:ObjectID>4DD5CBA6-770E-473F-8934-5EDD96D121F6</a:ObjectID>
12276 12287
 <a:Name>id</a:Name>
12277 12288
 <a:Code>id</a:Code>
@@ -12284,7 +12295,7 @@ LABL 0 新宋体,8,N</a:FontList>
12284 12295
 <a:Identity>1</a:Identity>
12285 12296
 <a:Column.Mandatory>1</a:Column.Mandatory>
12286 12297
 </o:Column>
12287
-<o:Column Id="o615">
12298
+<o:Column Id="o616">
12288 12299
 <a:ObjectID>F0349ADD-66D0-430E-9B11-967D6DF4BC81</a:ObjectID>
12289 12300
 <a:Name>event_state</a:Name>
12290 12301
 <a:Code>event_state</a:Code>
@@ -12295,7 +12306,7 @@ LABL 0 新宋体,8,N</a:FontList>
12295 12306
 <a:DataType>int(1)</a:DataType>
12296 12307
 <a:Length>1</a:Length>
12297 12308
 </o:Column>
12298
-<o:Column Id="o616">
12309
+<o:Column Id="o617">
12299 12310
 <a:ObjectID>CBD7DBE3-3C04-499A-94AB-1C22E7AF0412</a:ObjectID>
12300 12311
 <a:Name>event_level</a:Name>
12301 12312
 <a:Code>event_level</a:Code>
@@ -12306,7 +12317,7 @@ LABL 0 新宋体,8,N</a:FontList>
12306 12317
 <a:DataType>int(1)</a:DataType>
12307 12318
 <a:Length>1</a:Length>
12308 12319
 </o:Column>
12309
-<o:Column Id="o617">
12320
+<o:Column Id="o618">
12310 12321
 <a:ObjectID>BAA092FC-2CAA-4436-A1A3-A8893186518D</a:ObjectID>
12311 12322
 <a:Name>unit_idx</a:Name>
12312 12323
 <a:Code>unit_idx</a:Code>
@@ -12317,7 +12328,7 @@ LABL 0 新宋体,8,N</a:FontList>
12317 12328
 <a:DataType>varchar(255)</a:DataType>
12318 12329
 <a:Length>255</a:Length>
12319 12330
 </o:Column>
12320
-<o:Column Id="o618">
12331
+<o:Column Id="o619">
12321 12332
 <a:ObjectID>742654AC-6855-4891-87C7-4F7335D8BA0C</a:ObjectID>
12322 12333
 <a:Name>event_type</a:Name>
12323 12334
 <a:Code>event_type</a:Code>
@@ -12328,7 +12339,7 @@ LABL 0 新宋体,8,N</a:FontList>
12328 12339
 <a:DataType>int(25)</a:DataType>
12329 12340
 <a:Length>25</a:Length>
12330 12341
 </o:Column>
12331
-<o:Column Id="o619">
12342
+<o:Column Id="o620">
12332 12343
 <a:ObjectID>11434250-0829-481C-ADDB-8789D8B5C945</a:ObjectID>
12333 12344
 <a:Name>event_type_name</a:Name>
12334 12345
 <a:Code>event_type_name</a:Code>
@@ -12339,7 +12350,7 @@ LABL 0 新宋体,8,N</a:FontList>
12339 12350
 <a:DataType>varchar(255)</a:DataType>
12340 12351
 <a:Length>255</a:Length>
12341 12352
 </o:Column>
12342
-<o:Column Id="o620">
12353
+<o:Column Id="o621">
12343 12354
 <a:ObjectID>915EB2CD-278E-4ACA-A7B7-32B7D61E580A</a:ObjectID>
12344 12355
 <a:Name>sub_sys_type</a:Name>
12345 12356
 <a:Code>sub_sys_type</a:Code>
@@ -12350,7 +12361,7 @@ LABL 0 新宋体,8,N</a:FontList>
12350 12361
 <a:DataType>int(50)</a:DataType>
12351 12362
 <a:Length>50</a:Length>
12352 12363
 </o:Column>
12353
-<o:Column Id="o621">
12364
+<o:Column Id="o622">
12354 12365
 <a:ObjectID>524D78DB-D5B6-4E21-9A78-65FC94CA9B71</a:ObjectID>
12355 12366
 <a:Name>event_name</a:Name>
12356 12367
 <a:Code>event_name</a:Code>
@@ -12361,7 +12372,7 @@ LABL 0 新宋体,8,N</a:FontList>
12361 12372
 <a:DataType>varchar(255)</a:DataType>
12362 12373
 <a:Length>255</a:Length>
12363 12374
 </o:Column>
12364
-<o:Column Id="o622">
12375
+<o:Column Id="o623">
12365 12376
 <a:ObjectID>F9586B5B-ACA5-4E20-B579-B82194825179</a:ObjectID>
12366 12377
 <a:Name>start_time</a:Name>
12367 12378
 <a:Code>start_time</a:Code>
@@ -12371,7 +12382,7 @@ LABL 0 新宋体,8,N</a:FontList>
12371 12382
 <a:Modifier>szc</a:Modifier>
12372 12383
 <a:DataType>datetime</a:DataType>
12373 12384
 </o:Column>
12374
-<o:Column Id="o623">
12385
+<o:Column Id="o624">
12375 12386
 <a:ObjectID>BE71711E-DB09-4B43-B3FA-73BB502535F0</a:ObjectID>
12376 12387
 <a:Name>stop_time</a:Name>
12377 12388
 <a:Code>stop_time</a:Code>
@@ -12381,7 +12392,7 @@ LABL 0 新宋体,8,N</a:FontList>
12381 12392
 <a:Modifier>szc</a:Modifier>
12382 12393
 <a:DataType>datetime</a:DataType>
12383 12394
 </o:Column>
12384
-<o:Column Id="o624">
12395
+<o:Column Id="o625">
12385 12396
 <a:ObjectID>9729C389-4C89-4E46-8E41-4EA84669E2B2</a:ObjectID>
12386 12397
 <a:Name>source_idx</a:Name>
12387 12398
 <a:Code>source_idx</a:Code>
@@ -12392,7 +12403,7 @@ LABL 0 新宋体,8,N</a:FontList>
12392 12403
 <a:DataType>varchar(255)</a:DataType>
12393 12404
 <a:Length>255</a:Length>
12394 12405
 </o:Column>
12395
-<o:Column Id="o625">
12406
+<o:Column Id="o626">
12396 12407
 <a:ObjectID>5DA158D3-6F7D-4D03-8D78-C3D556CB6AC5</a:ObjectID>
12397 12408
 <a:Name>source_type</a:Name>
12398 12409
 <a:Code>source_type</a:Code>
@@ -12403,7 +12414,7 @@ LABL 0 新宋体,8,N</a:FontList>
12403 12414
 <a:DataType>int(90)</a:DataType>
12404 12415
 <a:Length>90</a:Length>
12405 12416
 </o:Column>
12406
-<o:Column Id="o626">
12417
+<o:Column Id="o627">
12407 12418
 <a:ObjectID>3D617607-AAB2-4D24-8C28-578B3FBC4917</a:ObjectID>
12408 12419
 <a:Name>source_name</a:Name>
12409 12420
 <a:Code>source_name</a:Code>
@@ -12414,7 +12425,7 @@ LABL 0 新宋体,8,N</a:FontList>
12414 12425
 <a:DataType>varchar(255)</a:DataType>
12415 12426
 <a:Length>255</a:Length>
12416 12427
 </o:Column>
12417
-<o:Column Id="o627">
12428
+<o:Column Id="o628">
12418 12429
 <a:ObjectID>2FB9D075-CCF8-4343-A18C-D1B6D0B8BB01</a:ObjectID>
12419 12430
 <a:Name>region_idx</a:Name>
12420 12431
 <a:Code>region_idx</a:Code>
@@ -12425,7 +12436,7 @@ LABL 0 新宋体,8,N</a:FontList>
12425 12436
 <a:DataType>varchar(255)</a:DataType>
12426 12437
 <a:Length>255</a:Length>
12427 12438
 </o:Column>
12428
-<o:Column Id="o628">
12439
+<o:Column Id="o629">
12429 12440
 <a:ObjectID>4E2A38B4-023B-4E01-BA6A-4B84AF01B9FE</a:ObjectID>
12430 12441
 <a:Name>event_code</a:Name>
12431 12442
 <a:Code>event_code</a:Code>
@@ -12436,7 +12447,7 @@ LABL 0 新宋体,8,N</a:FontList>
12436 12447
 <a:DataType>int(90)</a:DataType>
12437 12448
 <a:Length>90</a:Length>
12438 12449
 </o:Column>
12439
-<o:Column Id="o629">
12450
+<o:Column Id="o630">
12440 12451
 <a:ObjectID>A7312C07-60F4-4674-83F6-090D266440BA</a:ObjectID>
12441 12452
 <a:Name>device_id</a:Name>
12442 12453
 <a:Code>device_id</a:Code>
@@ -12447,7 +12458,7 @@ LABL 0 新宋体,8,N</a:FontList>
12447 12458
 <a:DataType>int(90)</a:DataType>
12448 12459
 <a:Length>90</a:Length>
12449 12460
 </o:Column>
12450
-<o:Column Id="o630">
12461
+<o:Column Id="o631">
12451 12462
 <a:ObjectID>F5E5F8C9-7034-420B-8B3E-1A301730D33C</a:ObjectID>
12452 12463
 <a:Name>device_type</a:Name>
12453 12464
 <a:Code>device_type</a:Code>
@@ -12458,7 +12469,7 @@ LABL 0 新宋体,8,N</a:FontList>
12458 12469
 <a:DataType>int(90)</a:DataType>
12459 12470
 <a:Length>90</a:Length>
12460 12471
 </o:Column>
12461
-<o:Column Id="o631">
12472
+<o:Column Id="o632">
12462 12473
 <a:ObjectID>062C16C4-1155-4D16-913D-66F096B57D1A</a:ObjectID>
12463 12474
 <a:Name>device_name</a:Name>
12464 12475
 <a:Code>device_name</a:Code>
@@ -12469,7 +12480,7 @@ LABL 0 新宋体,8,N</a:FontList>
12469 12480
 <a:DataType>varchar(255)</a:DataType>
12470 12481
 <a:Length>255</a:Length>
12471 12482
 </o:Column>
12472
-<o:Column Id="o632">
12483
+<o:Column Id="o633">
12473 12484
 <a:ObjectID>BBD618AF-FDB0-417A-A778-3A0B8997050E</a:ObjectID>
12474 12485
 <a:Name>event_card</a:Name>
12475 12486
 <a:Code>event_card</a:Code>
@@ -12480,7 +12491,7 @@ LABL 0 新宋体,8,N</a:FontList>
12480 12491
 <a:DataType>varchar(255)</a:DataType>
12481 12492
 <a:Length>255</a:Length>
12482 12493
 </o:Column>
12483
-<o:Column Id="o633">
12494
+<o:Column Id="o634">
12484 12495
 <a:ObjectID>34808DF1-4711-4258-81A4-B6DB181DD52D</a:ObjectID>
12485 12496
 <a:Name>person_id</a:Name>
12486 12497
 <a:Code>person_id</a:Code>
@@ -12491,7 +12502,7 @@ LABL 0 新宋体,8,N</a:FontList>
12491 12502
 <a:DataType>int(90)</a:DataType>
12492 12503
 <a:Length>90</a:Length>
12493 12504
 </o:Column>
12494
-<o:Column Id="o634">
12505
+<o:Column Id="o635">
12495 12506
 <a:ObjectID>32CEE916-F12F-45AF-BC83-1D42B8B8BD20</a:ObjectID>
12496 12507
 <a:Name>person_name</a:Name>
12497 12508
 <a:Code>person_name</a:Code>
@@ -12502,7 +12513,7 @@ LABL 0 新宋体,8,N</a:FontList>
12502 12513
 <a:DataType>varchar(255)</a:DataType>
12503 12514
 <a:Length>255</a:Length>
12504 12515
 </o:Column>
12505
-<o:Column Id="o635">
12516
+<o:Column Id="o636">
12506 12517
 <a:ObjectID>27739F03-7477-4759-A70A-E1BF5D1ACF77</a:ObjectID>
12507 12518
 <a:Name>dept_id</a:Name>
12508 12519
 <a:Code>dept_id</a:Code>
@@ -12513,7 +12524,7 @@ LABL 0 新宋体,8,N</a:FontList>
12513 12524
 <a:DataType>int(90)</a:DataType>
12514 12525
 <a:Length>90</a:Length>
12515 12526
 </o:Column>
12516
-<o:Column Id="o636">
12527
+<o:Column Id="o637">
12517 12528
 <a:ObjectID>5F000DC1-611B-492E-B9D8-589F39BFA951</a:ObjectID>
12518 12529
 <a:Name>dept_name</a:Name>
12519 12530
 <a:Code>dept_name</a:Code>
@@ -12524,7 +12535,7 @@ LABL 0 新宋体,8,N</a:FontList>
12524 12535
 <a:DataType>varchar(255)</a:DataType>
12525 12536
 <a:Length>255</a:Length>
12526 12537
 </o:Column>
12527
-<o:Column Id="o637">
12538
+<o:Column Id="o638">
12528 12539
 <a:ObjectID>D7E8BB80-0895-4A12-9F55-7E9FE12C83D2</a:ObjectID>
12529 12540
 <a:Name>dept_code</a:Name>
12530 12541
 <a:Code>dept_code</a:Code>
@@ -12535,7 +12546,7 @@ LABL 0 新宋体,8,N</a:FontList>
12535 12546
 <a:DataType>varchar(255)</a:DataType>
12536 12547
 <a:Length>255</a:Length>
12537 12548
 </o:Column>
12538
-<o:Column Id="o638">
12549
+<o:Column Id="o639">
12539 12550
 <a:ObjectID>02FC83B5-57D3-40CF-A434-0B2B6A66EE2F</a:ObjectID>
12540 12551
 <a:Name>in_out</a:Name>
12541 12552
 <a:Code>in_out</a:Code>
@@ -12546,7 +12557,7 @@ LABL 0 新宋体,8,N</a:FontList>
12546 12557
 <a:DataType>int(10)</a:DataType>
12547 12558
 <a:Length>10</a:Length>
12548 12559
 </o:Column>
12549
-<o:Column Id="o639">
12560
+<o:Column Id="o640">
12550 12561
 <a:ObjectID>EDF7E2FE-E5B8-4EB2-8622-37D735B11AC3</a:ObjectID>
12551 12562
 <a:Name>ext_txt</a:Name>
12552 12563
 <a:Code>ext_txt</a:Code>
@@ -12556,7 +12567,7 @@ LABL 0 新宋体,8,N</a:FontList>
12556 12567
 <a:Modifier>szc</a:Modifier>
12557 12568
 <a:DataType>text</a:DataType>
12558 12569
 </o:Column>
12559
-<o:Column Id="o640">
12570
+<o:Column Id="o641">
12560 12571
 <a:ObjectID>2D0F6C5E-E444-4A9D-A180-9E6849EAA091</a:ObjectID>
12561 12572
 <a:Name>card_status</a:Name>
12562 12573
 <a:Code>card_status</a:Code>
@@ -12567,7 +12578,7 @@ LABL 0 新宋体,8,N</a:FontList>
12567 12578
 <a:DataType>int(10)</a:DataType>
12568 12579
 <a:Length>10</a:Length>
12569 12580
 </o:Column>
12570
-<o:Column Id="o641">
12581
+<o:Column Id="o642">
12571 12582
 <a:ObjectID>85DCD41F-8F80-4AFB-9629-3A14080EFB37</a:ObjectID>
12572 12583
 <a:Name>pic_url</a:Name>
12573 12584
 <a:Code>pic_url</a:Code>
@@ -12580,7 +12591,7 @@ LABL 0 新宋体,8,N</a:FontList>
12580 12591
 </o:Column>
12581 12592
 </c:Columns>
12582 12593
 <c:Keys>
12583
-<o:Key Id="o642">
12594
+<o:Key Id="o643">
12584 12595
 <a:ObjectID>471D6AE4-41F1-4EBB-B439-16ED2470870B</a:ObjectID>
12585 12596
 <a:Name>Key_1</a:Name>
12586 12597
 <a:Code>Key_1</a:Code>
@@ -12589,17 +12600,17 @@ LABL 0 新宋体,8,N</a:FontList>
12589 12600
 <a:ModificationDate>1542952415</a:ModificationDate>
12590 12601
 <a:Modifier>szc</a:Modifier>
12591 12602
 <c:Key.Columns>
12592
-<o:Column Ref="o614"/>
12603
+<o:Column Ref="o615"/>
12593 12604
 </c:Key.Columns>
12594 12605
 </o:Key>
12595 12606
 </c:Keys>
12596 12607
 <c:PrimaryKey>
12597
-<o:Key Ref="o642"/>
12608
+<o:Key Ref="o643"/>
12598 12609
 </c:PrimaryKey>
12599 12610
 </o:Table>
12600 12611
 </c:Tables>
12601 12612
 <c:DefaultGroups>
12602
-<o:Group Id="o643">
12613
+<o:Group Id="o644">
12603 12614
 <a:ObjectID>9FAF56B5-A351-488F-9A3B-D4A944CD4081</a:ObjectID>
12604 12615
 <a:Name>PUBLIC</a:Name>
12605 12616
 <a:Code>PUBLIC</a:Code>
@@ -13041,7 +13052,7 @@ LABL 0 新宋体,8,N</a:FontList>
13041 13052
 </o:ExtendedDependency>
13042 13053
 </c:ChildTraceabilityLinks>
13043 13054
 <c:TargetModels>
13044
-<o:TargetModel Id="o644">
13055
+<o:TargetModel Id="o645">
13045 13056
 <a:ObjectID>B86EB932-C352-4174-86E4-2D2B1DDE4A45</a:ObjectID>
13046 13057
 <a:Name>MySQL 5.0</a:Name>
13047 13058
 <a:Code>MYSQL50</a:Code>