dingxin 6 年之前
父節點
當前提交
1fa3e65138
共有 33 個檔案被更改,包括 1744 行新增291 行删除
  1. 19
    0
      CODE/foreign-service/pom.xml
  2. 16
    0
      CODE/foreign-service/src/main/java/com/community/huiju/foreign/ForeignServiceApplication.java
  3. 91
    0
      CODE/foreign-service/src/main/java/com/community/huiju/foreign/aop/LogAOP.java
  4. 4
    0
      CODE/foreign-service/src/main/java/com/community/huiju/foreign/common/base/BaseController.java
  5. 26
    0
      CODE/foreign-service/src/main/java/com/community/huiju/foreign/common/perproties/DaSuProperties.java
  6. 44
    0
      CODE/foreign-service/src/main/java/com/community/huiju/foreign/common/perproties/FuShiProperties.java
  7. 40
    0
      CODE/foreign-service/src/main/java/com/community/huiju/foreign/config/FuShiConfig.java
  8. 116
    0
      CODE/foreign-service/src/main/java/com/community/huiju/foreign/controller/FSController.java
  9. 58
    0
      CODE/foreign-service/src/main/java/com/community/huiju/foreign/jwt/JwtUtil.java
  10. 32
    0
      CODE/foreign-service/src/main/java/com/community/huiju/foreign/log/LogAnnotation.java
  11. 43
    0
      CODE/foreign-service/src/main/java/com/community/huiju/foreign/log/LogEnums.java
  12. 101
    0
      CODE/foreign-service/src/main/java/com/community/huiju/foreign/log/LogFactory.java
  13. 46
    0
      CODE/foreign-service/src/main/java/com/community/huiju/foreign/log/LogFileManager.java
  14. 77
    0
      CODE/foreign-service/src/main/java/com/community/huiju/foreign/service/IFuShiService.java
  15. 167
    0
      CODE/foreign-service/src/main/java/com/community/huiju/foreign/service/impl/FuShiServiceImpl.java
  16. 4
    1
      CODE/foreign-service/src/main/resources/application-dev.yml
  17. 7
    0
      CODE/foreign-service/src/main/resources/application-prod.yml
  18. 33
    0
      CODE/foreign-service/src/main/resources/application.yml
  19. 29
    2
      CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/HotelController.java
  20. 20
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/TpHotelImgController.java
  21. 19
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/TpHotelImgMapper.java
  22. 22
    1
      CODE/smart-community/property-api/src/main/java/com/community/huiju/model/Hotel.java
  23. 0
    5
      CODE/smart-community/property-api/src/main/java/com/community/huiju/model/HotelSetting.java
  24. 51
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/model/TpHotelImg.java
  25. 15
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/service/IHotelService.java
  26. 16
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/service/ITpHotelImgService.java
  27. 134
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/HotelServiceImpl.java
  28. 20
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/TpHotelImgServiceImpl.java
  29. 11
    0
      CODE/smart-community/property-api/src/main/resources/mapper/TpHotelImgMapper.xml
  30. 21
    1
      VUECODE/smart-property-manage/src/store/modules/grogshop.js
  31. 210
    77
      VUECODE/smart-property-manage/src/views/grogshop/configindex.vue
  32. 97
    85
      文档/MYSQL/smartCommunity.pdb
  33. 155
    119
      文档/MYSQL/smartCommunity.pdm

+ 19
- 0
CODE/foreign-service/pom.xml 查看文件

@@ -119,12 +119,31 @@
119 119
             <version>1.4</version>
120 120
         </dependency>
121 121
 
122
+        <!-- JWT -->
123
+        <dependency>
124
+            <groupId>org.bitbucket.b_c</groupId>
125
+            <artifactId>jose4j</artifactId>
126
+            <version>0.6.5</version>
127
+        </dependency>
128
+
129
+        <dependency>
130
+            <groupId>com.community</groupId>
131
+            <artifactId>community-common</artifactId>
132
+            <version>0.0.1</version>
133
+        </dependency>
122 134
 
123 135
         <dependency>
124 136
             <groupId>org.springframework.boot</groupId>
125 137
             <artifactId>spring-boot-starter-test</artifactId>
126 138
             <scope>test</scope>
127 139
         </dependency>
140
+
141
+        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-aop -->
142
+        <dependency>
143
+            <groupId>org.springframework.boot</groupId>
144
+            <artifactId>spring-boot-starter-aop</artifactId>
145
+            <version>2.0.4.RELEASE</version>
146
+        </dependency>
128 147
     </dependencies>
129 148
 
130 149
     <build>

+ 16
- 0
CODE/foreign-service/src/main/java/com/community/huiju/foreign/ForeignServiceApplication.java 查看文件

@@ -1,7 +1,12 @@
1 1
 package com.community.huiju.foreign;
2 2
 
3
+import com.alibaba.fastjson.serializer.SerializerFeature;
4
+import com.alibaba.fastjson.support.config.FastJsonConfig;
5
+import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
3 6
 import org.springframework.boot.SpringApplication;
4 7
 import org.springframework.boot.autoconfigure.SpringBootApplication;
8
+import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
9
+import org.springframework.context.annotation.Bean;
5 10
 
6 11
 @SpringBootApplication
7 12
 public class ForeignServiceApplication {
@@ -10,4 +15,15 @@ public class ForeignServiceApplication {
10 15
         SpringApplication.run(ForeignServiceApplication.class, args);
11 16
     }
12 17
 
18
+    @Bean
19
+    public HttpMessageConverters fastJsonConfigure(){
20
+        FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
21
+        FastJsonConfig fastJsonConfig = new FastJsonConfig();
22
+        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat,SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.WriteMapNullValue, SerializerFeature.BrowserCompatible);
23
+        //日期格式化
24
+        //fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
25
+        converter.setFastJsonConfig(fastJsonConfig);
26
+        return new HttpMessageConverters(converter);
27
+    }
28
+
13 29
 }

+ 91
- 0
CODE/foreign-service/src/main/java/com/community/huiju/foreign/aop/LogAOP.java 查看文件

@@ -0,0 +1,91 @@
1
+package com.community.huiju.foreign.aop;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.community.commom.fushi.error.FuShiException;
5
+import com.community.huiju.foreign.log.LogAnnotation;
6
+import com.community.huiju.foreign.log.LogEnums;
7
+import com.community.huiju.foreign.log.LogFactory;
8
+import com.community.huiju.foreign.log.LogFileManager;
9
+import lombok.extern.slf4j.Slf4j;
10
+import org.aspectj.lang.JoinPoint;
11
+import org.aspectj.lang.ProceedingJoinPoint;
12
+import org.aspectj.lang.Signature;
13
+import org.aspectj.lang.annotation.AfterThrowing;
14
+import org.aspectj.lang.annotation.Around;
15
+import org.aspectj.lang.annotation.Aspect;
16
+import org.aspectj.lang.annotation.Pointcut;
17
+import org.aspectj.lang.reflect.MethodSignature;
18
+import org.springframework.stereotype.Component;
19
+
20
+import java.lang.reflect.Method;
21
+
22
+@Aspect
23
+@Component
24
+@Slf4j
25
+public class LogAOP {
26
+
27
+    @Pointcut("@annotation(com.community.huiju.log.LogAnnotation)")
28
+    public void pointLog() {
29
+
30
+    }
31
+
32
+    @Around("pointLog()")
33
+    public Object logAround(ProceedingJoinPoint point) throws Throwable {
34
+
35
+        // 获取切面的点的实例
36
+        Object target = point.getTarget();
37
+        // 获取反射对象
38
+        Class<?> zClass = target.getClass();
39
+        // 获取切面点
40
+        Signature signature = point.getSignature();
41
+
42
+        // 判断日志注解是否用在方法上
43
+        if (!(signature instanceof MethodSignature)) {
44
+            throw new RuntimeException("该注解只允许在方法上使用!");
45
+        }
46
+
47
+        // 方法名称
48
+        String methodName = signature.getName();
49
+        // 获取方法参数类型
50
+        Class<?>[] parameterTypes = ((MethodSignature) signature).getMethod().getParameterTypes();
51
+
52
+        // 通过方法名称和方法参数类型
53
+        // 获取当前正在执行切面的方法
54
+        Method method = zClass.getMethod(methodName, parameterTypes);
55
+
56
+        // 所有方法输入参数
57
+        Object[] args = point.getArgs();
58
+        // 执行方法的返回值
59
+        Object result = null;
60
+        if (null != method && method.isAnnotationPresent(LogAnnotation.class)) {
61
+
62
+            // 获取这个注解
63
+            LogAnnotation logAnnotation = method.getAnnotation(LogAnnotation.class);
64
+            // 大苏操作
65
+            if (logAnnotation.record() && logAnnotation.value() == LogEnums.DA_SU) {
66
+                String alias = "".equals(logAnnotation.alias()) ? "未设置别名" : logAnnotation.alias();
67
+                    log.info("AOP拦截----大苏操作----执行方法:{},方法别名:{}, 请求参数:{}", methodName, alias,args);
68
+                    // 方法返回值
69
+                    result = point.proceed();
70
+                    log.info("AOP拦截----大苏操作----执行方法:{},方法别名:{},请求参数:{},返回结果:{}", methodName, alias,args, result);
71
+
72
+                    String strPararmeter = String.format( "AOP拦截----大苏操作----执行方法:%s,方法别名:%s,请求参数:%s", methodName, alias, JSONObject.toJSONString(args));
73
+                    String strReturn = String.format("AOP拦截----大苏操作----执行方法:%s,方法别名:%s, 请求参数:%s,返回结果:%s", methodName, alias , JSONObject.toJSONString(args), JSONObject.toJSONString(result));
74
+
75
+                    LogFileManager.getInstance().executeLog(LogFactory.parametersAndReturn(strPararmeter, strReturn));
76
+
77
+            }
78
+
79
+        }
80
+
81
+        return result;
82
+    }
83
+
84
+    @AfterThrowing(value = "pointLog()", throwing = "cause")
85
+    public void doException(JoinPoint joinPoint, Throwable cause) {
86
+        if (null != cause) {
87
+            throw new FuShiException(cause.getMessage());
88
+        }
89
+    }
90
+
91
+}

+ 4
- 0
CODE/foreign-service/src/main/java/com/community/huiju/foreign/common/base/BaseController.java 查看文件

@@ -0,0 +1,4 @@
1
+package com.community.huiju.foreign.common.base;
2
+
3
+public class BaseController {
4
+}

+ 26
- 0
CODE/foreign-service/src/main/java/com/community/huiju/foreign/common/perproties/DaSuProperties.java 查看文件

@@ -0,0 +1,26 @@
1
+package com.community.huiju.foreign.common.perproties;
2
+
3
+import lombok.AllArgsConstructor;
4
+import lombok.Data;
5
+import lombok.NoArgsConstructor;
6
+import org.springframework.boot.context.properties.ConfigurationProperties;
7
+import org.springframework.stereotype.Component;
8
+
9
+/**
10
+ * 提供给 大苏 的 appid 和 appsecret
11
+ * @author weiximei
12
+ */
13
+@Component
14
+@ConfigurationProperties(prefix = "da-su")
15
+@Data
16
+@AllArgsConstructor
17
+@NoArgsConstructor
18
+public class DaSuProperties {
19
+
20
+    private String appid;
21
+
22
+    private String appSecret;
23
+
24
+    private String communityId;
25
+
26
+}

+ 44
- 0
CODE/foreign-service/src/main/java/com/community/huiju/foreign/common/perproties/FuShiProperties.java 查看文件

@@ -0,0 +1,44 @@
1
+package com.community.huiju.foreign.common.perproties;
2
+
3
+import lombok.AllArgsConstructor;
4
+import lombok.Data;
5
+import lombok.NoArgsConstructor;
6
+import org.springframework.boot.context.properties.ConfigurationProperties;
7
+import org.springframework.stereotype.Component;
8
+
9
+/**
10
+ * 富士配置类
11
+ * @author weiximei
12
+ */
13
+@AllArgsConstructor
14
+@NoArgsConstructor
15
+@Data
16
+@Component
17
+@ConfigurationProperties(prefix = "fu-shi")
18
+public class FuShiProperties {
19
+
20
+    /**
21
+     * 富士云 请求地址
22
+     */
23
+    private String url;
24
+
25
+    /**
26
+     * 富士云 appid
27
+     */
28
+    private String appid;
29
+
30
+    /**
31
+     * 富士云 appSecret
32
+     */
33
+    private String appSecret;
34
+
35
+    /**
36
+     * 富士云 私钥 privateKey
37
+     */
38
+    private String privateKey;
39
+
40
+    /**
41
+     * 停车场编码
42
+     */
43
+    private String parkingCode;
44
+}

+ 40
- 0
CODE/foreign-service/src/main/java/com/community/huiju/foreign/config/FuShiConfig.java 查看文件

@@ -0,0 +1,40 @@
1
+package com.community.huiju.foreign.config;
2
+
3
+import com.community.commom.fushi.FuShiHttpClient;
4
+import com.community.commom.fushi.FuShiRequestAPI;
5
+import com.community.huiju.foreign.common.perproties.FuShiProperties;
6
+import org.springframework.beans.factory.annotation.Autowired;
7
+import org.springframework.context.annotation.Bean;
8
+import org.springframework.context.annotation.Configuration;
9
+
10
+/**
11
+ * 富士配置类
12
+ * @author weiximei
13
+ */
14
+@Configuration
15
+public class FuShiConfig {
16
+
17
+    @Autowired
18
+    private FuShiProperties fuShiProperties;
19
+
20
+
21
+    /**
22
+     * 初始化富士HTTP客户端
23
+     * @return FuShiHttpClient
24
+     */
25
+    @Bean
26
+    public FuShiHttpClient fuShiHttpClient() {
27
+        return new FuShiHttpClient(fuShiProperties.getUrl(), fuShiProperties.getAppid(), fuShiProperties.getAppSecret(), fuShiProperties.getPrivateKey());
28
+    }
29
+
30
+    /**
31
+     * 初始化富士请求 API
32
+     * @param fuShiHttpClient
33
+     * @return
34
+     */
35
+    @Bean
36
+    public FuShiRequestAPI fuShiRequestAPI(FuShiHttpClient fuShiHttpClient) {
37
+        return new FuShiRequestAPI(fuShiHttpClient);
38
+    }
39
+
40
+}

+ 116
- 0
CODE/foreign-service/src/main/java/com/community/huiju/foreign/controller/FSController.java 查看文件

@@ -0,0 +1,116 @@
1
+package com.community.huiju.foreign.controller;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.community.commom.mode.ResponseBean;
5
+import com.community.huiju.foreign.common.base.BaseController;
6
+import com.community.huiju.foreign.service.IFuShiService;
7
+import io.swagger.annotations.Api;
8
+import io.swagger.annotations.ApiImplicitParam;
9
+import io.swagger.annotations.ApiImplicitParams;
10
+import io.swagger.annotations.ApiOperation;
11
+import org.springframework.beans.factory.annotation.Autowired;
12
+import org.springframework.web.bind.annotation.*;
13
+
14
+@RestController
15
+@RequestMapping("/")
16
+@Api(value = "车辆操作API", description = "车辆操作API")
17
+public class FSController extends BaseController {
18
+
19
+    @Autowired
20
+    private IFuShiService iFuShiService;
21
+
22
+    @RequestMapping(value = "/car/getParkInfoByCarNo/{carNo}", method = RequestMethod.GET)
23
+    @ApiOperation(value = "获取停车信息(通过车牌号)", notes = "获取停车信息(通过车牌号)")
24
+    @ApiImplicitParams({
25
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号")
26
+    })
27
+    public ResponseBean getParkInfoByCarNo(@PathVariable("carNo") String carNo) {
28
+        ResponseBean responseBean = new ResponseBean();
29
+        responseBean = iFuShiService.getParkInfoByCarNo(carNo);
30
+        return responseBean;
31
+    }
32
+
33
+    @RequestMapping(value = "/car/parkGetMonthCardInfoByCarNo/{carNo}", method = RequestMethod.GET)
34
+    @ApiOperation(value = "获取月租车信息(通过车牌号)", notes = "获取月租车信息(通过车牌号)")
35
+    @ApiImplicitParams({
36
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号")
37
+    })
38
+    public ResponseBean parkGetMonthCardInfoByCarNo(@PathVariable("carNo") String carNo) {
39
+        ResponseBean responseBean = new ResponseBean();
40
+        responseBean = iFuShiService.parkGetMonthCardInfoByCarNo(carNo);
41
+        return responseBean;
42
+    }
43
+
44
+    @RequestMapping(value = "/car/parkGetTempCarPaymentInfoByCarNo/{carNo}", method = RequestMethod.GET)
45
+    @ApiOperation(value = "获取临时车信息(通过车牌号)", notes = "获取临时车信息(通过车牌号)")
46
+    @ApiImplicitParams({
47
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "carNo", value = "车牌号")
48
+    })
49
+    public ResponseBean parkGetTempCarPaymentInfoByCarNo(@PathVariable("carNo") String carNo) {
50
+        ResponseBean responseBean = new ResponseBean();
51
+        responseBean = iFuShiService.parkGetTempCarPaymentInfoByCarNo(carNo);
52
+        return responseBean;
53
+    }
54
+
55
+    @RequestMapping(value = "/car/apiThirdPartyMonthCardPay", method = RequestMethod.POST)
56
+    @ApiOperation(value = "月卡续费", notes = "月卡续费")
57
+    @ApiImplicitParams({
58
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "body", name = "parameter", value = "Phone手机号;RenewDayType续费日期类型( 3:年 2:月 1:日, 选入对应的数字);" +
59
+                    "RenewDay续费日期数目;" +
60
+                    "PayStyle交易方式(中文描述),例如:微信、 支付宝、 银联;" +
61
+                    "CarNo车牌号;" +
62
+                    "CardNo停车卡号;" +
63
+                    "RechargeAmt充值续费金额;")
64
+    })
65
+    public ResponseBean apiThirdPartyMonthCardPay(@RequestBody String parameter) {
66
+        ResponseBean responseBean = new ResponseBean();
67
+        JSONObject jsonObject = JSONObject.parseObject(parameter);
68
+        responseBean = iFuShiService.apiThirdPartyMonthCardPay(jsonObject.getString("Phone"),
69
+                jsonObject.getString("RenewDayType"),
70
+                jsonObject.getString("RenewDay"),
71
+                jsonObject.getString("PayStyle"),
72
+                jsonObject.getString("CarNo"),
73
+                jsonObject.getString("CardNo"),
74
+                jsonObject.getString("RechargeAmt"));
75
+        return responseBean;
76
+    }
77
+
78
+    @RequestMapping(value = "/car/apiThirdPartyTemporaryCardPay", method = RequestMethod.POST)
79
+    @ApiOperation(value = "第三方临时卡上发缴费", notes = "第三方临时卡上发缴费")
80
+    @ApiImplicitParams({
81
+            @ApiImplicitParam(dataTypeClass = String.class, paramType = "body", name = "parameter", value = "Amount应缴金额(单位元);" +
82
+                    "ActualAmount实缴金额(单位元);" +
83
+                    "DeductionAmount抵扣金额(单位元);" +
84
+                    "Reason抵扣原因;" +
85
+                    "PayStyle交易方式(汉字描述),例如:微信、支付宝、银联;" +
86
+                    "CarNo车牌号;" +
87
+                    "CardNo停车卡号;" +
88
+                    "CouponList使用的优惠券列表")
89
+    })
90
+    public ResponseBean apiThirdPartyTemporaryCardPay(@RequestBody String parameter) {
91
+        ResponseBean responseBean = new ResponseBean();
92
+        JSONObject jsonObject = JSONObject.parseObject(parameter);
93
+        responseBean = iFuShiService.apiThirdPartyTemporaryCardPay(jsonObject.getString("Amount"),
94
+                jsonObject.getString("ActualAmount"),
95
+                jsonObject.getString("DeductionAmount"),
96
+                jsonObject.getString("Reason"),
97
+                jsonObject.getString("PayStyle"),
98
+                jsonObject.getString("CarNo"),
99
+                jsonObject.getString("CardNo"),
100
+                jsonObject.getString("CouponList"));
101
+        return responseBean;
102
+    }
103
+
104
+
105
+    @RequestMapping(value = "/car/apiGetOfflineFee/{carNoOrCardNo}", method = RequestMethod.GET)
106
+    @ApiOperation(value = "获取线下算费结果", notes = "获取线下算费结果")
107
+    @ApiImplicitParams({
108
+        @ApiImplicitParam(paramType = "path", dataTypeClass = String.class, name = "carNoOrCardNo" , value = "车牌号码或卡号")
109
+    })
110
+    public ResponseBean apiGetOfflineFee(@PathVariable("carNoOrCardNo") String carNoOrCardNo) {
111
+        ResponseBean responseBean = new ResponseBean();
112
+        responseBean = iFuShiService.apiGetOfflineFee(carNoOrCardNo);
113
+        return responseBean;
114
+    }
115
+
116
+}

+ 58
- 0
CODE/foreign-service/src/main/java/com/community/huiju/foreign/jwt/JwtUtil.java 查看文件

@@ -0,0 +1,58 @@
1
+package com.community.huiju.foreign.jwt;
2
+
3
+
4
+import lombok.extern.slf4j.Slf4j;
5
+import org.jose4j.jwa.AlgorithmConstraints;
6
+import org.jose4j.jwe.ContentEncryptionAlgorithmIdentifiers;
7
+import org.jose4j.jwe.JsonWebEncryption;
8
+import org.jose4j.jwe.KeyManagementAlgorithmIdentifiers;
9
+import org.jose4j.keys.AesKey;
10
+import org.jose4j.lang.ByteUtil;
11
+import org.jose4j.lang.JoseException;
12
+
13
+import javax.crypto.SecretKey;
14
+import java.security.Key;
15
+import java.util.Date;
16
+import java.util.HashMap;
17
+import java.util.Map;
18
+
19
+@Slf4j
20
+public class JwtUtil {
21
+
22
+    public static String sigin() {
23
+        Key key = new AesKey(ByteUtil.randomBytes(16));
24
+        JsonWebEncryption jwe = new JsonWebEncryption();
25
+        jwe.setPayload("Hello World!");
26
+        jwe.setAlgorithmHeaderValue(KeyManagementAlgorithmIdentifiers.A128KW);
27
+        jwe.setEncryptionMethodHeaderParameter(ContentEncryptionAlgorithmIdentifiers.AES_128_CBC_HMAC_SHA_256);
28
+        jwe.setKey(key);
29
+        String sigin = null;
30
+        try {
31
+            sigin = jwe.getCompactSerialization();
32
+        } catch (JoseException e) {
33
+            e.printStackTrace();
34
+        }
35
+
36
+        log.info("创建签名: " + sigin);
37
+
38
+        jwe = new JsonWebEncryption();
39
+        jwe.setAlgorithmConstraints(new AlgorithmConstraints(AlgorithmConstraints.ConstraintType.WHITELIST,
40
+                KeyManagementAlgorithmIdentifiers.A128KW));
41
+        jwe.setContentEncryptionAlgorithmConstraints(new AlgorithmConstraints(AlgorithmConstraints.ConstraintType.WHITELIST,
42
+                ContentEncryptionAlgorithmIdentifiers.AES_128_CBC_HMAC_SHA_256));
43
+        jwe.setKey(key);
44
+        try {
45
+            jwe.setCompactSerialization(sigin);
46
+            log.info("解密:: " + jwe.getPayload());
47
+        } catch (JoseException e) {
48
+            e.printStackTrace();
49
+        }
50
+
51
+        return sigin;
52
+    }
53
+
54
+
55
+    public static void main(String[] args) {
56
+        sigin();
57
+    }
58
+}

+ 32
- 0
CODE/foreign-service/src/main/java/com/community/huiju/foreign/log/LogAnnotation.java 查看文件

@@ -0,0 +1,32 @@
1
+package com.community.huiju.foreign.log;
2
+
3
+import java.lang.annotation.*;
4
+
5
+/**
6
+ * 日志注解
7
+ * @author weiximei
8
+ */
9
+@Retention(RetentionPolicy.RUNTIME) // 在运行时使用
10
+@Target({ ElementType.METHOD }) // 在方法上使用
11
+@Documented
12
+public @interface LogAnnotation {
13
+
14
+    /**
15
+     * 日志类型
16
+     * @return
17
+     */
18
+    LogEnums value() default LogEnums.NOT;
19
+
20
+    /**
21
+     * 是否记录
22
+     * @return
23
+     */
24
+    boolean record() default true;
25
+
26
+    /**
27
+     * 别名, 作为注释用
28
+     * @return
29
+     */
30
+    String alias() default "";
31
+
32
+}

+ 43
- 0
CODE/foreign-service/src/main/java/com/community/huiju/foreign/log/LogEnums.java 查看文件

@@ -0,0 +1,43 @@
1
+package com.community.huiju.foreign.log;
2
+
3
+/**
4
+ * 日志类型
5
+ *
6
+ * @author weiximei
7
+ */
8
+public enum LogEnums {
9
+
10
+    NOT(8000, "无类型"),
11
+
12
+    DA_SU(8001, "大苏")
13
+
14
+    ;
15
+
16
+    private Integer code;
17
+
18
+    private String value;
19
+
20
+
21
+    LogEnums(Integer code, String value) {
22
+        this.code = code;
23
+        this.value = value;
24
+    }
25
+
26
+    public Integer getCode() {
27
+        return code;
28
+    }
29
+
30
+    public void setCode(Integer code) {
31
+        this.code = code;
32
+    }
33
+
34
+    public String getValue() {
35
+        return value;
36
+    }
37
+
38
+    public void setValue(String value) {
39
+        this.value = value;
40
+    }
41
+
42
+
43
+}

+ 101
- 0
CODE/foreign-service/src/main/java/com/community/huiju/foreign/log/LogFactory.java 查看文件

@@ -0,0 +1,101 @@
1
+package com.community.huiju.foreign.log;
2
+
3
+import java.io.File;
4
+import java.io.RandomAccessFile;
5
+import java.nio.ByteBuffer;
6
+import java.nio.channels.FileChannel;
7
+import java.nio.channels.FileLock;
8
+import java.time.LocalDate;
9
+import java.time.LocalDateTime;
10
+import java.time.format.DateTimeFormatter;
11
+import java.util.TimerTask;
12
+
13
+/**
14
+ * 日志工厂
15
+ * @author weiximei
16
+ */
17
+public class LogFactory {
18
+
19
+    public static File getFile() {
20
+        LocalDate localDate = LocalDate.now();
21
+        String pathMkdir = "";
22
+
23
+        String os = System.getProperty("os.name");
24
+        if(os.toLowerCase().startsWith("win")){
25
+            pathMkdir = "E:" + File.separator + "log" + File.separator + "foreign-log" + File.separator + localDate.getYear() + "-" + localDate.getMonthValue() + "-" + localDate.getDayOfMonth();
26
+        } else {
27
+            pathMkdir = "/home/fxf/smart-community" + File.separator + "log" + File.separator + "foreign-log" + File.separator + localDate.getYear() + "-" + localDate.getMonthValue() + "-" + localDate.getDayOfMonth();
28
+        }
29
+
30
+        File file = new File(pathMkdir);
31
+        if (!file.exists()) {
32
+            file.mkdirs();
33
+        }
34
+        file = new File(pathMkdir + File.separator + "foreign-log.log");
35
+
36
+        return file;
37
+    }
38
+
39
+    /**
40
+     * 记录请求参数和返回值
41
+     * @param parameters
42
+     * @param returnValue
43
+     * @return
44
+     */
45
+    public static TimerTask parametersAndReturn(String parameters, String returnValue){
46
+        return new TimerTask() {
47
+            @Override
48
+            public void run() {
49
+
50
+                RandomAccessFile accessFile = null;
51
+                FileChannel fileChannel = null;
52
+                FileLock fileLock = null;
53
+                try {
54
+                    // 获取这个文件的读和写的权限
55
+                    accessFile = new RandomAccessFile(getFile(), "rw");
56
+                    // 文件通道
57
+                    fileChannel = accessFile.getChannel();
58
+                    fileLock = null;
59
+                    while (true) {
60
+                        try {
61
+                            // 获取锁,如果失败,继续尝试
62
+                            fileLock = fileChannel.tryLock();
63
+                            break;
64
+                        } catch (Exception e) {
65
+                            Thread.sleep(100);
66
+                        }
67
+                    }
68
+
69
+                    // 获取当前这个文件的大小
70
+                    long length = accessFile.length();
71
+                    // 设置写入的指针, 设置到这个文件的末尾
72
+                    accessFile.seek(length);
73
+                    // 开始写入文件
74
+                    LocalDateTime localDateTime = LocalDateTime.now();
75
+                    DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
76
+                    String str = dateTimeFormatter.format(localDateTime) + " === " + Thread.currentThread().getName() + "  : " + parameters + "\n";
77
+                    fileChannel.write(ByteBuffer.wrap(str.getBytes()));
78
+                    str = dateTimeFormatter.format(localDateTime) + " === " + Thread.currentThread().getName() + "  : " + returnValue + "\n";
79
+                    fileChannel.write(ByteBuffer.wrap(str.getBytes()));
80
+
81
+                } catch (Exception e) {
82
+                    e.printStackTrace();
83
+                } finally {
84
+                    if (fileLock != null && fileChannel != null && accessFile != null) {
85
+                        // 释放锁
86
+                        try {
87
+                            fileLock.release();
88
+                            fileChannel.close();
89
+                            accessFile.close();
90
+                        } catch (Exception e) {
91
+                            e.printStackTrace();
92
+                        }
93
+                    }
94
+                }
95
+
96
+
97
+            }
98
+        };
99
+    }
100
+
101
+}

+ 46
- 0
CODE/foreign-service/src/main/java/com/community/huiju/foreign/log/LogFileManager.java 查看文件

@@ -0,0 +1,46 @@
1
+package com.community.huiju.foreign.log;
2
+
3
+import java.util.TimerTask;
4
+import java.util.concurrent.ScheduledThreadPoolExecutor;
5
+
6
+/**
7
+ * 日志文件记录
8
+ * @author weiximei
9
+ */
10
+public class LogFileManager {
11
+
12
+    // 记录日志的线程池
13
+    private ScheduledThreadPoolExecutor scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(10);
14
+
15
+    private LogFileManager() {}
16
+
17
+    public static LogFileManager getInstance() {
18
+        return LogSingleton.INSTANCE.getInstance();
19
+    }
20
+
21
+    /**
22
+     * 记录日志
23
+     * @param timerTask 任务
24
+     */
25
+    public void executeLog(TimerTask timerTask){
26
+        // 日志记录
27
+        scheduledThreadPoolExecutor.execute(timerTask);
28
+    }
29
+
30
+    /**
31
+     * 枚举
32
+     */
33
+    private static enum LogSingleton {
34
+        INSTANCE;
35
+
36
+        private LogFileManager logFileManager;
37
+        private LogSingleton() {
38
+            logFileManager = new LogFileManager();
39
+        }
40
+
41
+        public LogFileManager getInstance() {
42
+            return logFileManager;
43
+        }
44
+
45
+    }
46
+}

+ 77
- 0
CODE/foreign-service/src/main/java/com/community/huiju/foreign/service/IFuShiService.java 查看文件

@@ -0,0 +1,77 @@
1
+package com.community.huiju.foreign.service;
2
+
3
+import com.community.commom.mode.ResponseBean;
4
+
5
+/**
6
+ * 富士 业务接口
7
+ */
8
+public interface IFuShiService {
9
+
10
+    /**
11
+     * 获取停车信息(通过车牌号)
12
+     *
13
+     * @param carNo
14
+     * @return
15
+     */
16
+    ResponseBean getParkInfoByCarNo(String carNo);
17
+
18
+    /**
19
+     * 第三方月卡上发续费
20
+     * @param Phone 车主手机号
21
+     * @param RenewDayType 续费日期类型: 3:年; 2:月; 1:日;
22
+     * @param RenewDay 续费日期数目
23
+     * @param PayStyle 交易方式(中文描述),例如:微信、 支付宝、 银联
24
+     * @param CarNo 车牌号
25
+     * @param CardNo 停车卡号
26
+     * @param RechargeAmt 充值续费金额
27
+     * @return
28
+     */
29
+    ResponseBean apiThirdPartyMonthCardPay(String Phone, String RenewDayType, String RenewDay, String PayStyle, String CarNo, String CardNo, String RechargeAmt);
30
+
31
+
32
+    /**
33
+     * 第三方临时卡上发缴费
34
+     * @param Amount 应缴金额(单位元)
35
+     * @param ActualAmount 实缴金额(单位元)
36
+     * @param DeductionAmount 抵扣金额(单位元)
37
+     * @param Reason 抵扣原因
38
+     * @param PayStyle 交易方式(汉字描述),例如:微信、支付宝、银联
39
+     * @param CarNo 车牌号
40
+     * @param CardNo 停车卡号
41
+     * @param CouponList 使用的优惠券列表(JSON字符串)
42
+     *               MerchantName: 商户名称
43
+     *               CouponType: 优惠券优惠类型1全免2减免金额3减免时长4减免百分比
44
+     *               CouponValue: 对应优惠券类型的值 金额/时间/折扣
45
+     *               CouponCode: 优惠券编码
46
+     *               FavorableType: 优惠券类型1 纸质券 2 电子券 3 活动券
47
+     *               UseStatus:标识优惠券是线上或线下使用的状态 1只在线上使用 2只在线下使用 3线上线下都可以使用
48
+     *               IsAuto: 是否自动使用优惠券1是2否
49
+     *               EndTime: 截至时间
50
+     *               CouponDescribe: 优惠券描述
51
+     *               CouponName: 优惠券名称
52
+     *
53
+     * @return
54
+     */
55
+    ResponseBean apiThirdPartyTemporaryCardPay(String Amount, String ActualAmount, String DeductionAmount, String Reason, String PayStyle, String CarNo, String CardNo, String CouponList);
56
+
57
+    /**
58
+     * 获取线下算费结果
59
+     * @param CarNoOrCardNo 车牌号码或卡号
60
+     * @return
61
+     */
62
+    ResponseBean apiGetOfflineFee(String CarNoOrCardNo);
63
+
64
+    /**
65
+     * 获取月租车信息(通过车牌号)
66
+     * @param CarNo
67
+     * @return
68
+     */
69
+    ResponseBean parkGetMonthCardInfoByCarNo(String CarNo);
70
+
71
+    /**
72
+     * 获取临时车信息(通过车牌号)
73
+     * @param CarNo
74
+     * @return
75
+     */
76
+    ResponseBean parkGetTempCarPaymentInfoByCarNo(String CarNo);
77
+}

+ 167
- 0
CODE/foreign-service/src/main/java/com/community/huiju/foreign/service/impl/FuShiServiceImpl.java 查看文件

@@ -0,0 +1,167 @@
1
+package com.community.huiju.foreign.service.impl;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.community.commom.fushi.FuShiRequestAPI;
5
+import com.community.commom.mode.ResponseBean;
6
+import com.community.commom.uuid.IdGen;
7
+import com.community.huiju.foreign.common.perproties.FuShiProperties;
8
+import com.community.huiju.foreign.log.LogAnnotation;
9
+import com.community.huiju.foreign.log.LogEnums;
10
+import com.community.huiju.foreign.service.IFuShiService;
11
+import com.google.common.collect.Maps;
12
+import lombok.extern.slf4j.Slf4j;
13
+import org.springframework.beans.factory.annotation.Autowired;
14
+import org.springframework.stereotype.Service;
15
+
16
+import java.time.LocalDateTime;
17
+import java.time.format.DateTimeFormatter;
18
+import java.util.Map;
19
+
20
+/**
21
+ * 富士业务实现
22
+ * @author weiximei
23
+ */
24
+@Slf4j
25
+@Service
26
+public class FuShiServiceImpl implements IFuShiService {
27
+
28
+    @Autowired
29
+    private FuShiRequestAPI fuShiRequestAPI;
30
+
31
+    @Autowired
32
+    private FuShiProperties fuShiProperties;
33
+
34
+    private IdGen idGen = IdGen.get();
35
+
36
+    /**
37
+     * 获取 富士 json 值
38
+     * @param jsonString
39
+     * @return
40
+     */
41
+    private Map<String,Object> getFuShiInfo(String jsonString) {
42
+        JSONObject jsonObject = JSONObject.parseObject(jsonString);
43
+        Map<String, Object> map = Maps.newHashMap();
44
+        Map<String, Object> jsonParam = jsonObject.getJSONObject("JsonParam").getInnerMap();
45
+        // 移除优惠券
46
+        jsonParam.remove("CouponList");
47
+        map.put("JsonParam", jsonParam);
48
+        map.put("Redirect", jsonObject.getString("Redirect"));
49
+        map.put("DataType", jsonObject.getInteger("DataType"));
50
+        return map;
51
+    }
52
+
53
+    @LogAnnotation(value = LogEnums.DA_SU, alias = "获取停车信息(通过车牌号)")
54
+    @Override
55
+    public ResponseBean getParkInfoByCarNo(String carNo) {
56
+        ResponseBean responseBean = new ResponseBean();
57
+        String parkInfo = fuShiRequestAPI.getParkInfoByCarNo(fuShiProperties.getParkingCode(), carNo);
58
+        Map<String, Object> fuShiInfo = getFuShiInfo(parkInfo);
59
+        responseBean.addSuccess(fuShiInfo);
60
+        return responseBean;
61
+    }
62
+
63
+    @LogAnnotation(value = LogEnums.DA_SU, alias = "第三方月卡上发续费")
64
+    @Override
65
+    public ResponseBean apiThirdPartyMonthCardPay(String Phone, String RenewDayType, String RenewDay, String PayStyle, String CarNo, String CardNo, String RechargeAmt) {
66
+        ResponseBean responseBean = new ResponseBean();
67
+        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
68
+        // 交易编码
69
+        String dealNo = idGen.nextId() + "";
70
+        // 第三方交易日期
71
+        String dateTime = dateTimeFormatter.format(LocalDateTime.now());
72
+        // 富士云请求
73
+        String partyMonthCardPay = fuShiRequestAPI.apiThirdPartyMonthCardPay(RenewDayType, RenewDay, dealNo, PayStyle, CarNo, fuShiProperties.getParkingCode(), CardNo, RechargeAmt, dateTime);
74
+        String tradeNo = JSONObject.parseObject(partyMonthCardPay).getString("TradeNo");
75
+        Map<String, Object> map = Maps.newHashMap();
76
+        map.put("TradeNo", tradeNo);
77
+        responseBean.addSuccess(map);
78
+        return responseBean;
79
+    }
80
+
81
+    /**
82
+     * 第三方临时卡上发缴费
83
+     * @param Amount 应缴金额(单位元)
84
+     * @param ActualAmount 实缴金额(单位元)
85
+     * @param DeductionAmount 抵扣金额(单位元)
86
+     * @param Reason 抵扣原因
87
+     * @param PayStyle 交易方式(汉字描述),例如:微信、支付宝、银联
88
+     * @param CarNo 车牌号
89
+     * @param CardNo 停车卡号
90
+     * @param CouponList 使用的优惠券列表(JSON字符串)
91
+     *               MerchantName: 商户名称
92
+     *               CouponType: 优惠券优惠类型1全免2减免金额3减免时长4减免百分比
93
+     *               CouponValue: 对应优惠券类型的值 金额/时间/折扣
94
+     *               CouponCode: 优惠券编码
95
+     *               FavorableType: 优惠券类型1 纸质券 2 电子券 3 活动券
96
+     *               UseStatus:标识优惠券是线上或线下使用的状态 1只在线上使用 2只在线下使用 3线上线下都可以使用
97
+     *               IsAuto: 是否自动使用优惠券1是2否
98
+     *               EndTime: 截至时间
99
+     *               CouponDescribe: 优惠券描述
100
+     *               CouponName: 优惠券名称
101
+     *
102
+     * @return
103
+     */
104
+    @LogAnnotation(value = LogEnums.DA_SU, alias = "第三方临时卡上发缴费")
105
+    @Override
106
+    public ResponseBean apiThirdPartyTemporaryCardPay(String Amount, String ActualAmount, String DeductionAmount, String Reason, String PayStyle, String CarNo, String CardNo, String CouponList) {
107
+        ResponseBean responseBean = new ResponseBean();
108
+        // 交易编号
109
+        String dealNo = idGen.nextId() + "";
110
+        String apiThirdPartyTemporaryCardPay = fuShiRequestAPI.apiThirdPartyTemporaryCardPay(Amount, ActualAmount, DeductionAmount, Reason, dealNo, PayStyle, CarNo, fuShiProperties.getParkingCode(), CardNo, "", CouponList);
111
+        String tradeNo = JSONObject.parseObject(apiThirdPartyTemporaryCardPay).getString("TradeNo");
112
+        Map<String, Object> map = Maps.newHashMap();
113
+        map.put("TradeNo", tradeNo);
114
+        responseBean.addSuccess(map);
115
+        return responseBean;
116
+    }
117
+
118
+    @LogAnnotation(value = LogEnums.DA_SU, alias = "获取线下算费结果")
119
+    @Override
120
+    public ResponseBean apiGetOfflineFee(String CarNoOrCardNo) {
121
+        ResponseBean responseBean = new ResponseBean();
122
+        String apiGetOfflineFee = fuShiRequestAPI.apiGetOfflineFee(fuShiProperties.getParkingCode(), CarNoOrCardNo);
123
+        String result = JSONObject.parseObject(apiGetOfflineFee).getString("Result");
124
+        Map<String, Object> map = Maps.newHashMap();
125
+        map.put("Result", result);
126
+        responseBean.addSuccess(map);
127
+        return responseBean;
128
+    }
129
+
130
+    /**
131
+     * 获取月租车信息(通过车牌号)
132
+     * @param CarNo
133
+     * @return
134
+     */
135
+    @LogAnnotation(value = LogEnums.DA_SU, alias = "获取月租车信息(通过车牌号)")
136
+    @Override
137
+    public ResponseBean parkGetMonthCardInfoByCarNo(String CarNo) {
138
+        ResponseBean responseBean = new ResponseBean();
139
+        String parkGetMonthCardInfoByCarNo = fuShiRequestAPI.parkGetMonthCardInfoByCarNo(fuShiProperties.getParkingCode(), CarNo);
140
+        JSONObject jsonObject = JSONObject.parseObject(parkGetMonthCardInfoByCarNo);
141
+        Map<String, Object> map = Maps.newHashMap();
142
+        Map<String, Object> result = jsonObject.getJSONObject("Result").getInnerMap();
143
+        result.remove("CouponList");
144
+        map.put("Result", result);
145
+        responseBean.addSuccess(map);
146
+        return responseBean;
147
+    }
148
+
149
+    /**
150
+     * 获取临时车信息(通过车牌号)
151
+     * @param CarNo
152
+     * @return
153
+     */
154
+    @LogAnnotation(value = LogEnums.DA_SU, alias = "获取临时车信息(通过车牌号)")
155
+    @Override
156
+    public ResponseBean parkGetTempCarPaymentInfoByCarNo(String CarNo) {
157
+        ResponseBean responseBean = new ResponseBean();
158
+        String parkGetMonthCardInfoByCarNo = fuShiRequestAPI.parkGetTempCarPaymentInfoByCarNo(fuShiProperties.getParkingCode(), CarNo);
159
+        JSONObject jsonObject = JSONObject.parseObject(parkGetMonthCardInfoByCarNo);
160
+        Map<String, Object> map = Maps.newHashMap();
161
+        Map<String, Object> result = jsonObject.getJSONObject("Result").getInnerMap();
162
+        result.remove("CouponList");
163
+        map.put("Result", result);
164
+        responseBean.addSuccess(map);
165
+        return responseBean;
166
+    }
167
+}

+ 4
- 1
CODE/foreign-service/src/main/resources/application-dev.yml 查看文件

@@ -1,4 +1,7 @@
1 1
 spring:
2 2
   datasource:
3 3
     druid:
4
-      driver-class-name: com
4
+      driver-class-name: com.mysql.jdbc.Driver
5
+      username: root
6
+      password: DQ@0lW##kBb2+-jPZC1s$Ma0h5$9W((q
7
+      url: jdbc:mysql://rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com:3306/smart_community2.0?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true

+ 7
- 0
CODE/foreign-service/src/main/resources/application-prod.yml 查看文件

@@ -0,0 +1,7 @@
1
+spring:
2
+  datasource:
3
+    druid:
4
+      driver-class-name: com.mysql.jdbc.Driver
5
+      username: root
6
+      password: DQ@0lW##kBb2+-jPZC1s$Ma0h5$9W((q
7
+      url: jdbc:mysql://rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com:3306/smart_community_prod2.0?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true

+ 33
- 0
CODE/foreign-service/src/main/resources/application.yml 查看文件

@@ -13,3 +13,36 @@ spring:
13 13
 mybatis-plus:
14 14
   type-aliases-package: com.community.huiju.foreign.model
15 15
   mapper-locations: classpath:mapper/*.xml
16
+# 打印sql
17
+logging:
18
+  level:
19
+    com.community.huiju.foreign.dao: debug
20
+
21
+# 大苏
22
+da-su:
23
+  appid: dssdw2576sd997
24
+  app-secret: fgexhd855sf4
25
+  community-id: 101
26
+
27
+# 富士E7+云平台
28
+fu-shi:
29
+  url: http://api.mops.fujica.com.cn/v2/Api
30
+  appid: fujica_a354fedcb214c86b
31
+  app-secret: 0a0897e0bf154169833f709d6693fe84
32
+  private-key: MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAL8wJdXId6Pa6l/O
33
+    d6a+vE0z0RgujUTR2KxRZiRhEWpc4JSi1uyQPS2RS+CleByllAXkgPYCxhxelt6Y
34
+    wtFb3nuUVrQboesUrxv7DuGoRnbOeakMC2Cb83AanQlEC/erXspsTx9x9lecygAt
35
+    yOsEPv6nb8VHu8tTEEhFJIyWSTQBAgMBAAECgYA07AH9HGGptKZd4MwUFwYOpMJD
36
+    XFd0blX41QteFJR6ib0Mx8qQbxjQLUEArS0DWP4RZ4AfGQN3xOMkOMrsou6BcVjR
37
+    oVXvlKate4tIRQy3ay77dabM8LQFNg8uuigD7EWeGh9s4V1E5Jfuw8Y8zfmBKBbz
38
+    Id/Mm7bafgbfd4jCtQJBAPn0ik8Iv3pkJ90V60eQG4l6sVGAaskM0GWzyENpecLP
39
+    6UA7oYmAaqIx9vsY0UyiF4XctgxpMvqG6pM/U0y8LacCQQDDz8h7nhUWF0ZUH1IS
40
+    H+Qj3sUWR3hHel/WCjGPPKWO5iQUTfwVY9+L54IDIanAjisc40ueO3zK573zzlBE
41
+    /VYXAkEA61Qmm356+DovpeErILc2ldsj8r3ay+r6kaYQGBfIAXhJ/KWn0pNK0eYE
42
+    yCd3dpTtXKSN6WVqD6DSXUuzm31X5QJAEDMqlP+ZIwC98su8kH9O8qDFkXhMPS2k
43
+    rCKfwwfzcoUbywpApsxifEKlAPlR//pDGtq7MNYfFvJhRsB056BF9QJBAKHlCCnt
44
+    gtzRlhQxwYRg0th4uoJ99BT03+WM94Kepu6zfh3OmKLvPk2gW30TKSeYC5xmursq
45
+    xGP2TC4KxH2tAn0=
46
+  parking-code: 19000100250504 # 停车场编码
47
+
48
+

+ 29
- 2
CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/HotelController.java 查看文件

@@ -7,6 +7,7 @@ import com.community.commom.mode.ResponseBean;
7 7
 import com.community.commom.session.UserElement;
8 8
 import com.community.huiju.model.HotelRoom;
9 9
 import com.community.huiju.service.IHotelRoomService;
10
+import com.community.huiju.model.Hotel;
10 11
 import com.community.huiju.service.IHotelService;
11 12
 import io.swagger.annotations.Api;
12 13
 import io.swagger.annotations.ApiImplicitParam;
@@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestBody;
17 18
 import org.springframework.web.bind.annotation.RequestMapping;
18 19
 
19 20
 import org.springframework.web.bind.annotation.RequestMethod;
21
+import org.springframework.web.bind.annotation.RequestParam;
20 22
 import org.springframework.web.bind.annotation.RestController;
21 23
 import com.community.huiju.common.base.BaseController;
22 24
 
@@ -75,6 +77,7 @@ public class HotelController extends BaseController {
75 77
         ResponseBean  responseBean = iHotelService.hotelRoomAdd(parameter,userElement);
76 78
         return responseBean;
77 79
     }
80
+
78 81
     @ApiOperation(value = "查询当前房间信息", notes = "查询当前房间信息")
79 82
     @ApiImplicitParams({
80 83
             @ApiImplicitParam(paramType = "body",dataType = "String",name = "parameter",value = "id:房间ID")})
@@ -118,6 +121,30 @@ public class HotelController extends BaseController {
118 121
         ResponseBean  responseBean = iHotelService.hotelRoomRoomStatus(parameter,userElement);
119 122
         return responseBean;
120 123
     }
121
-
122
-
124
+    
125
+    @ApiOperation(value = "根据小区获取酒店数据", notes = "根据搜索条件获取角色列表")
126
+    @ApiImplicitParams({
127
+            @ApiImplicitParam(paramType = "header", dataTypeClass = String.class, name = "X-Auth-Token", value = "Token"),
128
+    })
129
+    @RequestMapping(value = "/getHotelData",method = RequestMethod.GET)
130
+    public ResponseBean getHotelData(HttpSession session) {
131
+        ResponseBean responseBean = new ResponseBean();
132
+        UserElement userElement = getUserElement(session);
133
+        Hotel hotel = iHotelService.getHotelData(userElement);
134
+        responseBean.addSuccess(hotel);
135
+        return responseBean;
136
+    }
137
+    
138
+    @ApiOperation(value = "添加房间", notes = "添加房间")
139
+    @ApiImplicitParams({
140
+            @ApiImplicitParam(paramType = "body", dataType = "Hotel", name = "hotel", value = "酒店"),
141
+            @ApiImplicitParam(paramType = "header", dataTypeClass = String.class, name = "X-Auth-Token", value = "Token")
142
+    })
143
+    @ApiImplicitParam(paramType = "header", dataTypeClass = String.class, name = "X-Auth-Token", value = "token")
144
+    @RequestMapping(value = "/addHotel", method = RequestMethod.POST)
145
+    public ResponseBean addHotel(@RequestBody Hotel hotel, HttpSession session){
146
+        UserElement userElement = getUserElement(session);
147
+        ResponseBean  responseBean = iHotelService.addHotel(hotel,userElement);
148
+        return responseBean;
149
+    }
123 150
 }

+ 20
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/TpHotelImgController.java 查看文件

@@ -0,0 +1,20 @@
1
+package com.community.huiju.controller;
2
+
3
+
4
+import com.community.huiju.common.base.BaseController;
5
+import org.springframework.web.bind.annotation.RequestMapping;
6
+import org.springframework.web.bind.annotation.RestController;
7
+
8
+/**
9
+ * <p>
10
+ * 酒店图片 前端控制器
11
+ * </p>
12
+ *
13
+ * @author jobob
14
+ * @since 2019-05-14
15
+ */
16
+@RestController
17
+@RequestMapping("/fxf/tp-hotel-img")
18
+public class TpHotelImgController extends BaseController {
19
+
20
+}

+ 19
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/TpHotelImgMapper.java 查看文件

@@ -0,0 +1,19 @@
1
+package com.community.huiju.dao;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.community.huiju.model.TpHotelImg;
5
+
6
+import java.util.List;
7
+
8
+/**
9
+ * <p>
10
+ * 酒店图片 Mapper 接口
11
+ * </p>
12
+ *
13
+ * @author jobob
14
+ * @since 2019-05-14
15
+ */
16
+public interface TpHotelImgMapper extends BaseMapper<TpHotelImg> {
17
+	
18
+	int batchInsert(List<TpHotelImg> hotelImgList);
19
+}

+ 22
- 1
CODE/smart-community/property-api/src/main/java/com/community/huiju/model/Hotel.java 查看文件

@@ -1,8 +1,11 @@
1 1
 package com.community.huiju.model;
2 2
 
3
+import com.baomidou.mybatisplus.annotation.TableField;
3 4
 import com.baomidou.mybatisplus.annotation.TableName;
4 5
 import java.time.LocalDateTime;
5 6
 import java.io.Serializable;
7
+import java.util.List;
8
+
6 9
 import lombok.Data;
7 10
 import lombok.EqualsAndHashCode;
8 11
 import lombok.experimental.Accessors;
@@ -74,6 +77,24 @@ public class Hotel implements Serializable {
74 77
      * 更新人
75 78
      */
76 79
     private Integer updateUser;
77
-
80
+    
81
+    
82
+    /**
83
+     * app首页展示图
84
+     */
85
+    @TableField(exist = false)
86
+    private String appIndexImg;
87
+    
88
+    /**
89
+     * app商铺轮播图
90
+     */
91
+    @TableField(exist = false)
92
+    private List<String> appCarouselImg;
93
+    
94
+    /**
95
+     * 酒店开关
96
+     */
97
+    @TableField(exist = false)
98
+    private Boolean hotelSettingValue;
78 99
 
79 100
 }

+ 0
- 5
CODE/smart-community/property-api/src/main/java/com/community/huiju/model/HotelSetting.java 查看文件

@@ -28,11 +28,6 @@ public class HotelSetting implements Serializable {
28 28
      */
29 29
     private Integer communityId;
30 30
 
31
-    /**
32
-     * 酒店ID
33
-     */
34
-    private Integer hotelId;
35
-
36 31
     /**
37 32
      * 创建时间
38 33
      */

+ 51
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/model/TpHotelImg.java 查看文件

@@ -0,0 +1,51 @@
1
+package com.community.huiju.model;
2
+
3
+import lombok.Data;
4
+import lombok.EqualsAndHashCode;
5
+import lombok.experimental.Accessors;
6
+
7
+import java.io.Serializable;
8
+import java.time.LocalDateTime;
9
+
10
+/**
11
+ * <p>
12
+ * 酒店图片
13
+ * </p>
14
+ *
15
+ * @author jobob
16
+ * @since 2019-05-14
17
+ */
18
+@Data
19
+@EqualsAndHashCode(callSuper = false)
20
+@Accessors(chain = true)
21
+public class TpHotelImg implements Serializable {
22
+
23
+    private static final long serialVersionUID = 1L;
24
+
25
+    /**
26
+     * 小区ID
27
+     */
28
+    private Integer communityId;
29
+
30
+    /**
31
+     * 酒店ID
32
+     */
33
+    private Integer hotelId;
34
+
35
+    /**
36
+     * 酒店图片地址
37
+     */
38
+    private String imgUrl;
39
+
40
+    /**
41
+     * 酒店图片类型 1是首页图片每个酒店唯一,2是banner图片
42
+     */
43
+    private String imgType;
44
+
45
+    /**
46
+     * 创建时间
47
+     */
48
+    private LocalDateTime createDate;
49
+
50
+
51
+}

+ 15
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/IHotelService.java 查看文件

@@ -45,4 +45,19 @@ public interface IHotelService extends IService<Hotel> {
45 45
      * @return
46 46
      */
47 47
     ResponseBean hotelRoomRoomStatus(String parameter, UserElement userElement);
48
+	
49
+	/**
50
+	 * 根据小区id获取酒店信息
51
+	 * @param userElement
52
+	 * @return
53
+	 */
54
+	Hotel getHotelData(UserElement userElement);
55
+	
56
+	/**
57
+	 * 添加或修改酒店
58
+	 * @param hotel
59
+	 * @param userElement
60
+	 * @return
61
+	 */
62
+	ResponseBean addHotel(Hotel hotel, UserElement userElement);
48 63
 }

+ 16
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/ITpHotelImgService.java 查看文件

@@ -0,0 +1,16 @@
1
+package com.community.huiju.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.community.huiju.model.TpHotelImg;
5
+
6
+/**
7
+ * <p>
8
+ * 酒店图片 服务类
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2019-05-14
13
+ */
14
+public interface ITpHotelImgService extends IService<TpHotelImg> {
15
+
16
+}

+ 134
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/HotelServiceImpl.java 查看文件

@@ -8,9 +8,13 @@ import com.community.commom.mode.ResponseBean;
8 8
 import com.community.commom.session.UserElement;
9 9
 import com.community.huiju.dao.HotelMapper;
10 10
 import com.community.huiju.dao.HotelRoomMapper;
11
+import com.community.huiju.dao.HotelSettingMapper;
12
+import com.community.huiju.dao.TpHotelImgMapper;
11 13
 import com.community.huiju.dao.UserMapper;
12 14
 import com.community.huiju.model.Hotel;
13 15
 import com.community.huiju.model.HotelRoom;
16
+import com.community.huiju.model.HotelSetting;
17
+import com.community.huiju.model.TpHotelImg;
14 18
 import com.community.huiju.model.TpTicket;
15 19
 import com.community.huiju.model.User;
16 20
 import com.community.huiju.service.IHotelService;
@@ -19,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
19 23
 import org.springframework.stereotype.Service;
20 24
 
21 25
 import java.time.LocalDateTime;
26
+import java.util.ArrayList;
22 27
 import java.util.Date;
23 28
 import java.util.HashMap;
24 29
 import java.util.List;
@@ -42,6 +47,13 @@ public class HotelServiceImpl extends ServiceImpl<HotelMapper, Hotel> implements
42 47
 
43 48
     @Autowired
44 49
     private UserMapper tpUserMapper;
50
+    
51
+    @Autowired
52
+    private TpHotelImgMapper hotelImgMapper;
53
+    
54
+    @Autowired
55
+    private HotelSettingMapper hotelSettingMapper;
56
+    
45 57
     @Override
46 58
     public ResponseBean hotelRoomLiset(String parameter, Integer communityId) {
47 59
         ResponseBean response= new ResponseBean<>();
@@ -147,4 +159,126 @@ public class HotelServiceImpl extends ServiceImpl<HotelMapper, Hotel> implements
147 159
         responseBean.addSuccess("成功");
148 160
         return responseBean;
149 161
     }
162
+    
163
+    /**
164
+     * 根据小区id获取酒店信息
165
+     *
166
+     * @param userElement
167
+     * @return
168
+     */
169
+    @Override
170
+    public Hotel getHotelData(UserElement userElement) {
171
+        QueryWrapper<Hotel> hotelQueryWrapper = new QueryWrapper<>();
172
+        hotelQueryWrapper.eq("community_id",userElement.getCommunityId());
173
+        Hotel hotel = tpHotelMapper.selectOne(hotelQueryWrapper);
174
+        if (null != hotel){
175
+            //查看酒店开关是否开启
176
+            QueryWrapper<HotelSetting> hotelSettingQueryWrapper = new QueryWrapper<>();
177
+            hotelSettingQueryWrapper.eq("community_id",userElement.getCommunityId());
178
+            HotelSetting hotelSetting = hotelSettingMapper.selectOne(hotelSettingQueryWrapper);
179
+            hotel.setHotelSettingValue(null == hotelSetting ? false : true);
180
+            QueryWrapper<TpHotelImg> imgQueryWrapper = new QueryWrapper<>();
181
+            imgQueryWrapper.eq("community_id",hotel.getCommunityId());
182
+            imgQueryWrapper.eq("hotel_id",hotel.getId());
183
+            imgQueryWrapper.eq("img_type","1");
184
+            TpHotelImg tpHotelImg = hotelImgMapper.selectOne(imgQueryWrapper);
185
+            hotel.setAppIndexImg(tpHotelImg.getImgUrl());
186
+            //获取轮播图
187
+            QueryWrapper<TpHotelImg> imgQueryWrappers = new QueryWrapper<>();
188
+            imgQueryWrappers.eq("community_id",hotel.getCommunityId());
189
+            imgQueryWrappers.eq("hotel_id",hotel.getId());
190
+            imgQueryWrappers.eq("img_type","2");
191
+            List<TpHotelImg> tpHotelImgList = hotelImgMapper.selectList(imgQueryWrappers);
192
+            List<String> imgList = new ArrayList<>();
193
+            tpHotelImgList.stream().forEach(e -> {
194
+                imgList.add(e.getImgUrl());
195
+            });
196
+            hotel.setAppCarouselImg(imgList);
197
+        }
198
+        return hotel;
199
+    }
200
+    
201
+    /**
202
+     * 添加或修改酒店
203
+     *
204
+     * @param hotel
205
+     * @param userElement
206
+     * @return
207
+     */
208
+    @Override
209
+    public ResponseBean addHotel(Hotel hotel, UserElement userElement) {
210
+        if (hotel.getHotelSettingValue()){
211
+            HotelSetting hotelSetting = new HotelSetting();
212
+            hotelSetting.setCommunityId(userElement.getCommunityId());
213
+            hotelSetting.setCreateDate(LocalDateTime.now());
214
+            hotelSetting.setCreateUser(userElement.getId());
215
+            hotelSettingMapper.insert(hotelSetting);
216
+        }else {
217
+            QueryWrapper<HotelSetting> queryWrapper = new QueryWrapper<>();
218
+            queryWrapper.eq("community_id",userElement.getCommunityId());
219
+            hotelSettingMapper.delete(queryWrapper);
220
+        }
221
+        ResponseBean responseBean = new ResponseBean();
222
+        if (null != hotel.getId()){
223
+            updateHotel(hotel,userElement);
224
+        }else{
225
+            addFirstHotel(hotel,userElement);
226
+        }
227
+        responseBean.addSuccess("更新成功");
228
+        return responseBean;
229
+    }
230
+    
231
+    private void updateHotel(Hotel hotel, UserElement userElement) {
232
+        hotel.setUpdateDate(LocalDateTime.now());
233
+        hotel.setUpdateUser(userElement.getId());
234
+        tpHotelMapper.updateById(hotel);
235
+        //更新首页图
236
+        TpHotelImg tpHotelImg = new TpHotelImg();
237
+        tpHotelImg.setImgUrl(hotel.getAppIndexImg());
238
+        QueryWrapper<TpHotelImg> tpHotelImgQueryWrapper = new QueryWrapper();
239
+        tpHotelImgQueryWrapper.eq("community_id",userElement.getCommunityId());
240
+        tpHotelImgQueryWrapper.eq("hotel_id",hotel.getId());
241
+        tpHotelImgQueryWrapper.eq("img_type","1");
242
+        hotelImgMapper.update(tpHotelImg,tpHotelImgQueryWrapper);
243
+        //更新轮播图
244
+        QueryWrapper<TpHotelImg> deleteImgQueryWrapper = new QueryWrapper();
245
+        deleteImgQueryWrapper.eq("community_id",userElement.getCommunityId());
246
+        deleteImgQueryWrapper.eq("hotel_id",hotel.getId());
247
+        deleteImgQueryWrapper.eq("img_type","2");
248
+        hotelImgMapper.delete(deleteImgQueryWrapper);
249
+        //重新插入
250
+        batchInsertImg(hotel,userElement);
251
+    }
252
+    
253
+    private void addFirstHotel(Hotel hotel, UserElement userElement) {
254
+        hotel.setCommunityId(userElement.getCommunityId());
255
+        hotel.setCreateDate(LocalDateTime.now());
256
+        hotel.setCreateUser(userElement.getId());
257
+        tpHotelMapper.insert(hotel);
258
+        //添加首页图
259
+        TpHotelImg tpHotelImg = new TpHotelImg();
260
+        tpHotelImg.setCommunityId(userElement.getCommunityId());
261
+        tpHotelImg.setCreateDate(LocalDateTime.now());
262
+        tpHotelImg.setHotelId(hotel.getId());
263
+        tpHotelImg.setImgType("1");
264
+        tpHotelImg.setImgUrl(hotel.getAppIndexImg());
265
+        hotelImgMapper.insert(tpHotelImg);
266
+        //添加轮播图
267
+        batchInsertImg(hotel,userElement);
268
+    }
269
+    
270
+    private void batchInsertImg(Hotel hotel, UserElement userElement) {
271
+        List<String> imgList = hotel.getAppCarouselImg();
272
+        List<TpHotelImg> hotelImgList = new ArrayList<>();
273
+        imgList.stream().forEach(e -> {
274
+            TpHotelImg hotelImg = new TpHotelImg();
275
+            hotelImg.setCommunityId(userElement.getCommunityId());
276
+            hotelImg.setCreateDate(LocalDateTime.now());
277
+            hotelImg.setHotelId(hotel.getId());
278
+            hotelImg.setImgType("2");
279
+            hotelImg.setImgUrl(e);
280
+            hotelImgList.add(hotelImg);
281
+        });
282
+        hotelImgMapper.batchInsert(hotelImgList);
283
+    }
150 284
 }

+ 20
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/TpHotelImgServiceImpl.java 查看文件

@@ -0,0 +1,20 @@
1
+package com.community.huiju.service.impl;
2
+
3
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
+import com.community.huiju.dao.TpHotelImgMapper;
5
+import com.community.huiju.model.TpHotelImg;
6
+import com.community.huiju.service.ITpHotelImgService;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ * 酒店图片 服务实现类
12
+ * </p>
13
+ *
14
+ * @author jobob
15
+ * @since 2019-05-14
16
+ */
17
+@Service
18
+public class TpHotelImgServiceImpl extends ServiceImpl<TpHotelImgMapper, TpHotelImg> implements ITpHotelImgService {
19
+
20
+}

+ 11
- 0
CODE/smart-community/property-api/src/main/resources/mapper/TpHotelImgMapper.xml 查看文件

@@ -0,0 +1,11 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.community.huiju.dao.TpHotelImgMapper">
4
+    <insert id="batchInsert" useGeneratedKeys="true" keyProperty="id" parameterType="java.util.ArrayList">
5
+        insert into tp_hotel_img(community_id,hotel_id,img_url,img_type,create_date)
6
+        VALUES
7
+        <foreach collection="list" item="item" index="index" separator=",">
8
+            (#{item.communityId},#{item.hotelId},#{item.imgUrl},#{item.imgType},#{item.createDate})
9
+        </foreach>
10
+    </insert>
11
+</mapper>

+ 21
- 1
VUECODE/smart-property-manage/src/store/modules/grogshop.js 查看文件

@@ -1,4 +1,5 @@
1
-import { hotelRoom, hotelRoomAdd, hotelRoomEdit, getRoomId, hotelRoomRoomStatus } from '@/api/grogshop'
1
+
2
+import { hotelRoom, hotelRoomAdd, hotelRoomEdit, getRoomId, hotelRoomRoomStatus ,getHotelData,updateHotel  } from '@/api/grogshop'
2 3
 
3 4
 const grogshop = {
4 5
   actions: {
@@ -20,6 +21,7 @@ const grogshop = {
20 21
         })
21 22
       })
22 23
     },
24
+
23 25
     HotelRoomEdit({ commit }, data) {
24 26
       return new Promise((resolve, reject) => {
25 27
         hotelRoomEdit(data).then(response => {
@@ -29,6 +31,15 @@ const grogshop = {
29 31
         })
30 32
       })
31 33
     },
34
+    GetHotelData({ commit }, data) {
35
+      return new Promise((resolve, reject) => {
36
+        getHotelData(data).then(response => {
37
+          resolve(response)
38
+        }).catch(error => {
39
+          reject(error)
40
+        })
41
+      })
42
+    },
32 43
     GetRoomId({ commit }, data) {
33 44
       return new Promise((resolve, reject) => {
34 45
         getRoomId(data).then(response => {
@@ -46,6 +57,15 @@ const grogshop = {
46 57
           reject(error)
47 58
         })
48 59
       })
60
+    },
61
+    UpdateHotel({ commit }, data) {
62
+      return new Promise((resolve, reject) => {
63
+        updateHotel(data).then(response => {
64
+          resolve(response)
65
+        }).catch(error => {
66
+          reject(error)
67
+        })
68
+      })
49 69
     }
50 70
   }
51 71
 }

+ 210
- 77
VUECODE/smart-property-manage/src/views/grogshop/configindex.vue 查看文件

@@ -1,100 +1,210 @@
1 1
 <template>
2 2
   <div class="root">
3
-    <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="add-ruleForm">
4
-      <el-form-item label="角色名称" prop="roleName">
5
-        <el-input :disabled="true" v-model="ruleForm.roleName"/>
3
+    <el-form ref="ruleForm" :model="listData" :rules="rules" label-width="150px" class="add-ruleForm">
4
+      <el-form-item class="filter-item" label="酒店开关">
5
+        <el-switch
6
+          v-model="listData.hotelSettingValue"
7
+          active-color="#13ce66"
8
+          inactive-color="#ff4949">
9
+        </el-switch>
10
+        <span>关闭后业主在APP端将看不到酒店相关的页面</span>
6 11
       </el-form-item>
7
-      <el-form-item label="角色描述" prop="description">
8
-        <el-input :disabled="true" v-model="ruleForm.description"/>
12
+      <el-form-item label="酒店首页图" prop="appIndexImg">
13
+        <el-upload
14
+          class="avatar-uploader"
15
+          name="uploadFiles"
16
+          :action="uploadImgUrl"
17
+          :show-file-list="false"
18
+          :on-success="handleAppListSuccess"
19
+          :before-upload="beforeAvatarUpload">
20
+          <img v-if="listData.appIndexImg" :src="listData.appIndexImg" class="avatar">
21
+          <i v-else class="el-icon-plus avatar-uploader-icon"></i>
22
+        </el-upload>
9 23
       </el-form-item>
10
-      <el-form-item label="资源权限" prop="menuArray">
11
-        <el-tree
12
-          ref="tree"
13
-          :data="menuList"
14
-          show-checkbox
15
-          node-key="id"
16
-          :default-expanded-keys="ruleForm.menuArray"
17
-          :default-checked-keys="ruleForm.menuArray"
18
-          :props="defaultProps">
19
-        </el-tree>
20
-      </el-form-item> 
24
+      <el-form-item label="酒店banner图" prop="appCarouselImg">
25
+        <el-upload
26
+          name="uploadFiles"
27
+          :limit="6"
28
+          :file-list="displayAppCarouselImg"
29
+          :action="uploadImgUrl"
30
+          list-type="picture-card"
31
+          :on-preview="handlePictureCardPreview"
32
+          :on-remove="handleRemove"
33
+          :on-success="handleSuccessCarouselImg">
34
+          <i class="el-icon-plus"></i>
35
+        </el-upload>
36
+        <el-dialog :visible.sync="dialogVisible">
37
+          <img width="100%" :src="dialogImageUrl" alt="">
38
+        </el-dialog>
39
+      </el-form-item>
40
+      <el-form-item label="联系电话" prop="hotelTel">
41
+        <el-input v-model="listData.hotelTel"/>
42
+      </el-form-item>
43
+      <el-form-item label="酒店地址" prop="hotelAddress">
44
+        <el-input v-model="listData.hotelAddress"/>
45
+      </el-form-item>
46
+      <el-form-item label="高德坐标">
47
+        <el-input placeholder="经度" v-model="listData.hotelLongitude" style="width: 150px;" />
48
+        <el-input placeholder="纬度" v-model="listData.hotelLatitude" style="width: 150px;" />
49
+      </el-form-item>
50
+      <el-form-item label="">
51
+         <!-- 地图 -->
52
+        <div style="width:100%;height:300px;" class="amap-page-container">
53
+          <el-amap-search-box :search-option="searchOption" :on-search-result="onSearchResult" class="search-box"/>
54
+          <el-amap ref="map" :events="events" :center="mapCenter" :zoom="12" class="amap-demo" vid="amapDemo">
55
+            <el-amap-marker v-for="(item,index) in markers" :key="index" :position="item" />
56
+          </el-amap>
57
+        </div>
58
+      </el-form-item>
59
+      <el-form-item label="房间介绍">
60
+          <!-- <el-input v-model="addForm.bannerContent" placeholder="内容详情"/> -->
61
+          <div id="father">
62
+            <wangeditor :content="listData.hotelIntroduction" @wangeditorEvent="wangeditorValue"/>
63
+          </div>
64
+        </el-form-item>
21 65
       <el-form-item>
22
-        <el-button type="primary" @click="goEditRole">去修改</el-button>
66
+        <el-button type="primary" @click="submitForm('ruleForm')">修改</el-button>
23 67
       </el-form-item>
24 68
     </el-form>
25 69
   </div>
26 70
 </template>
27 71
 
28 72
 <script>
29
-import { mapState, mapActions, mapMutations } from 'vuex'
30
-import waves from '@/directive/waves' // Waves directive
31
-import { parseTime } from '@/utils'
73
+import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
74
+import Wangeditor from '@/components/Wangeditor'
32 75
 
33 76
 export default {
34
-  computed: {
35
-    ...mapState('role', {
36
-      menuList: s => s.menuList
37
-    })
38
-  },
77
+  components: { Pagination, Wangeditor },
39 78
   data() {
40 79
     return {
41
-      ruleForm: {
80
+      events: {
81
+        click: e => {
82
+          // _self.postData.Coordinate = e.lnglat.lat + ',' + e.lnglat.lng
83
+          this.listData.hotelLongitude = e.lnglat.lng
84
+          this.listData.hotelLatitude = e.lnglat.lat
85
+        }
86
+      },
87
+      listData: {
42 88
         id: '',
43
-        roleName: '',
44
-        description: '',
45
-        menuArray: []
89
+        hotelSettingValue: false,
90
+        appIndexImg: '',
91
+        appCarouselImg: [],
92
+        hotelTel: '',
93
+        hotelAddress: '',
94
+        hotelLongitude: '',
95
+        hotelLatitude: '',
96
+        hotelIntroduction: ''
97
+      },
98
+      dialogImageUrl: '',
99
+      dialogVisible: false,
100
+      uploadImgUrl: process.env.BASE_API + '/uploadimage',
101
+      markers: [],
102
+      displayAppCarouselImg: [],
103
+      shopTypeList: [],
104
+      searchOption: {
105
+        city: '南京',
106
+        citylimit: false
46 107
       },
108
+      mapCenter: [118.789509, 32.019989],
109
+      tableKey: 0,
47 110
       rules: {
48
-        roleName: [
49
-          { required: true, message: '请输入角色名称', trigger: 'blur' }
111
+        hotelAddress: [
112
+          { required: true, message: '请输入地址', trigger: 'blur' }
113
+        ],
114
+        hotelTel: [
115
+          { required: true, message: '请输入联系电话', trigger: 'blur' }
116
+        ],
117
+        appIndexImg: [
118
+          { required: true, message: 'app列表展示图', trigger: 'blur' }
119
+        ],
120
+        appCarouselImg: [
121
+          { required: true, message: '轮播图', trigger: 'blur' }
50 122
         ],
51
-        menuArray: [
52
-          { type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }
53
-        ]
54
-      },
55
-      defaultProps: {
56
-        children: 'children',
57
-        label: 'menuName',
58
-        disabled: () => true
59 123
       }
60 124
     }
61 125
   },
62
-  created(){
63
-    this.ruleForm.id = this.$route.params.id
64
-    this.getDataById()
65
-    this.getMenuList()
126
+  created() {
127
+    this.getHotelData()
66 128
   },
67 129
   methods: {
68
-    ...mapMutations('role', {
69
-    }),
70
-    ...mapActions('role', [
71
-      'FetchMenuList',
72
-      'UpdateRoleInfo',
73
-      'GetRoleInfo'
74
-    ]),
130
+     addMarker() {
131
+      const lng = 121.5 + Math.round(Math.random() * 1000) / 10000
132
+      const lat = 31.197646 + Math.round(Math.random() * 500) / 10000
133
+      this.markers.push([lng, lat])
134
+    },
135
+    getHotelData() {
136
+      this.$store.dispatch('GetHotelData', this.listData.id).then((res) => {
137
+        const rentalData = res.data || {}
138
+        this.listData = { ...this.listData, ...rentalData }
139
+        // 多张图片进行遍历
140
+        for (let i = 0; i < rentalData.appCarouselImg.length; i++) {
141
+          this.displayAppCarouselImg.push({ url: rentalData.appCarouselImg[i] })
142
+        }
143
+      })
144
+    },
145
+    beforeAvatarUpload(file) {
146
+    },
147
+    handleAppIndexSuccess(res, file) {
148
+      this.listData.appIndexImg = res.data[0]
149
+    },
150
+    handleAppListSuccess(res, file) {
151
+      this.listData.appIndexImg = res.data[0]
152
+    },
153
+    handleRemove(file, fileList) {
154
+      this.listData.appCarouselImg = []
155
+      for (let i = 0; i < fileList.length; i++) {
156
+        this.listData.appCarouselImg.push(fileList[i].response.data[0])
157
+      }
158
+    },
159
+    handleSuccessCarouselImg(response, file, fileList) { // 活动配图上传成功时回调
160
+      const resImg = response.data[0]
161
+      this.listData.appCarouselImg.push(resImg)
162
+    },
163
+    handlePictureCardPreview(file) {
164
+      this.dialogImageUrl = file.url;
165
+      this.dialogVisible = true;
166
+    },
167
+    onSearchResult(pois) {
168
+      // 搜索地图
169
+      let latSum = 0
170
+      let lngSum = 0
171
+      if (pois.length > 0) {
172
+        pois.forEach(poi => {
173
+          const { lng, lat } = poi
174
+          lngSum += lng
175
+          latSum += lat
176
+          this.markers.push([poi.lng, poi.lat])
177
+        })
178
+        const center = {
179
+          lng: lngSum / pois.length,
180
+          lat: latSum / pois.length
181
+        }
182
+        this.mapCenter = [center.lng, center.lat]
183
+      }
184
+    },
185
+    wangeditorValue(value) {
186
+      this.listData.hotelIntroduction = value // 在这里接受子组件传过来的参数,赋值给data里的参数
187
+    },
75 188
     submitForm(formName) { // 提交
76
-      // 获取选中的树形节点 key
77
-      this.ruleForm.menuArray = this.$refs.tree.getCheckedKeys()
78
-      console.log(this.ruleForm.menuArray)
79 189
       this.$refs[formName].validate((valid) => {
80 190
         if (valid) {
81
-          this.updateRole()
191
+          this.updateRental()
82 192
         } else {
83 193
           console.log('error submit!!')
84 194
           return false
85 195
         }
86 196
       })
87 197
     },
88
-    getMenuList() {
89
-      this.FetchMenuList().then(() => {
90
-      }).catch(() => {
91
-        console.log('get list error')
92
-      })
93
-    },
94 198
     resetForm(formName) { // 重置
199
+      // 重置为未注册
200
+      this.isRegistered = true
201
+      // 重置为非户主
202
+      this.roleDisabled = false
203
+
204
+      console.log(this.isRegistered)
95 205
       this.$refs[formName].resetFields()
96 206
     },
97
-    updateRole() {
207
+    updateRental() {
98 208
       // 加载框
99 209
       const loading = this.$loading({
100 210
         lock: true,
@@ -102,13 +212,13 @@ export default {
102 212
         spinner: 'el-icon-loading',
103 213
         background: 'rgba(0, 0, 0, 0.7)'
104 214
       })
105
-      this.UpdateRoleInfo(this.ruleForm).then((res) => {
215
+      this.$store.dispatch('UpdateHotel', this.listData).then((res) => {
106 216
         if (res.code === '0') {
107 217
           this.$message({
108 218
             message: res.message,
109 219
             type: 'success'
110 220
           })
111
-          this.$router.push({ name: 'role-index' })
221
+          this.$router.push({ name: 'grogshop-configindex' })
112 222
           loading.close()
113 223
           return
114 224
         }
@@ -116,26 +226,38 @@ export default {
116 226
         loading.close()
117 227
       }).catch(() => {
118 228
         loading.close()
119
-        console.log('error updateRole')
120
-      })
121
-    },
122
-    goEditRole(){
123
-      this.$router.push({ name: 'role-edit', params: { id: this.ruleForm.id }})
124
-    },
125
-    getDataById() {
126
-      this.GetRoleInfo(this.ruleForm.id).then((res) => {
127
-        this.ruleForm.roleName = res.data.roleName
128
-        this.ruleForm.description = res.data.description
129
-        this.ruleForm.menuArray = res.data.menuArray
130
-      }).catch(() => {
131
-        console.log('error init role')
229
+        console.log('error addRental')
132 230
       })
133 231
     }
134 232
   }
135 233
 }
136 234
 </script>
137 235
 
138
-<style scoped>
236
+<style>
237
+.avatar-uploader .el-upload {
238
+    border: 1px dashed #d9d9d9;
239
+    border-radius: 6px;
240
+    cursor: pointer;
241
+    position: relative;
242
+    overflow: hidden;
243
+  }
244
+  .avatar-uploader .el-upload:hover {
245
+    border-color: #409EFF;
246
+  }
247
+  .avatar-uploader-icon {
248
+    font-size: 28px;
249
+    color: #8c939d;
250
+    width: 178px;
251
+    height: 178px;
252
+    line-height: 178px;
253
+    text-align: center;
254
+  }
255
+  .avatar {
256
+    width: 178px;
257
+    height: 178px;
258
+    display: block;
259
+  }
260
+  
139 261
 .add-ruleForm{
140 262
   width: 800px;
141 263
   margin-left: auto;
@@ -143,3 +265,14 @@ export default {
143 265
   margin-top: 50px;
144 266
 }
145 267
 </style>
268
+<style scoped>
269
+.search-box {
270
+  position: absolute;
271
+  top: 25px;
272
+  left: 20px;
273
+}
274
+
275
+.amap-page-container {
276
+  position: relative;
277
+}
278
+</style>

+ 97
- 85
文档/MYSQL/smartCommunity.pdb 查看文件

@@ -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="1557813818" Name="smartCommunity" Objects="1162" Symbols="129" 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="1557818754" Name="smartCommunity" Objects="1163" Symbols="129" 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">
@@ -6979,7 +6979,7 @@ LABL 0 新宋体,8,N</a:FontList>
6979 6979
 <a:CreationDate>1557303510</a:CreationDate>
6980 6980
 <a:ModificationDate>1557306066</a:ModificationDate>
6981 6981
 <a:IconMode>-1</a:IconMode>
6982
-<a:Rect>((187327,18810), (204115,49108))</a:Rect>
6982
+<a:Rect>((187327,18360), (204115,49558))</a:Rect>
6983 6983
 <a:LineColor>12615680</a:LineColor>
6984 6984
 <a:FillColor>16570034</a:FillColor>
6985 6985
 <a:ShadowColor>12632256</a:ShadowColor>
@@ -17524,7 +17524,7 @@ LABL 0 新宋体,8,N</a:FontList>
17524 17524
 <a:Code>tp_rental_house</a:Code>
17525 17525
 <a:CreationDate>1557303510</a:CreationDate>
17526 17526
 <a:Creator>szc</a:Creator>
17527
-<a:ModificationDate>1557813818</a:ModificationDate>
17527
+<a:ModificationDate>1557818754</a:ModificationDate>
17528 17528
 <a:Modifier>szc</a:Modifier>
17529 17529
 <a:Comment>出租公寓表</a:Comment>
17530 17530
 <a:TotalSavingCurrency/>
@@ -17734,6 +17734,18 @@ LABL 0 新宋体,8,N</a:FontList>
17734 17734
 <a:Length>1</a:Length>
17735 17735
 </o:Column>
17736 17736
 <o:Column Id="o1037">
17737
+<a:ObjectID>42F73021-2A57-4614-B1A8-3C713A84F54D</a:ObjectID>
17738
+<a:Name>mattress</a:Name>
17739
+<a:Code>mattress</a:Code>
17740
+<a:CreationDate>1557818735</a:CreationDate>
17741
+<a:Creator>szc</a:Creator>
17742
+<a:ModificationDate>1557818754</a:ModificationDate>
17743
+<a:Modifier>szc</a:Modifier>
17744
+<a:Comment>床垫 1 有</a:Comment>
17745
+<a:DataType>varchar(1)</a:DataType>
17746
+<a:Length>1</a:Length>
17747
+</o:Column>
17748
+<o:Column Id="o1038">
17737 17749
 <a:ObjectID>86AC4B40-FEBD-4FCB-A079-23ED794287E7</a:ObjectID>
17738 17750
 <a:Name>wardrobe</a:Name>
17739 17751
 <a:Code>wardrobe</a:Code>
@@ -17745,7 +17757,7 @@ LABL 0 新宋体,8,N</a:FontList>
17745 17757
 <a:DataType>varchar(1)</a:DataType>
17746 17758
 <a:Length>1</a:Length>
17747 17759
 </o:Column>
17748
-<o:Column Id="o1038">
17760
+<o:Column Id="o1039">
17749 17761
 <a:ObjectID>0F598383-042D-42FD-B7DD-5EAD70E46C1B</a:ObjectID>
17750 17762
 <a:Name>dining_table</a:Name>
17751 17763
 <a:Code>dining_table</a:Code>
@@ -17757,7 +17769,7 @@ LABL 0 新宋体,8,N</a:FontList>
17757 17769
 <a:DataType>varchar(1)</a:DataType>
17758 17770
 <a:Length>1</a:Length>
17759 17771
 </o:Column>
17760
-<o:Column Id="o1039">
17772
+<o:Column Id="o1040">
17761 17773
 <a:ObjectID>7FB29743-6F55-4ADD-829C-886CD8235B78</a:ObjectID>
17762 17774
 <a:Name>computer_desk</a:Name>
17763 17775
 <a:Code>computer_desk</a:Code>
@@ -17769,7 +17781,7 @@ LABL 0 新宋体,8,N</a:FontList>
17769 17781
 <a:DataType>varchar(1)</a:DataType>
17770 17782
 <a:Length>1</a:Length>
17771 17783
 </o:Column>
17772
-<o:Column Id="o1040">
17784
+<o:Column Id="o1041">
17773 17785
 <a:ObjectID>BD673A93-F61B-4C96-BEAD-2283ACDFAF64</a:ObjectID>
17774 17786
 <a:Name>water_heater</a:Name>
17775 17787
 <a:Code>water_heater</a:Code>
@@ -17781,7 +17793,7 @@ LABL 0 新宋体,8,N</a:FontList>
17781 17793
 <a:DataType>varchar(1)</a:DataType>
17782 17794
 <a:Length>1</a:Length>
17783 17795
 </o:Column>
17784
-<o:Column Id="o1041">
17796
+<o:Column Id="o1042">
17785 17797
 <a:ObjectID>4F881349-E1A5-4DE0-8010-BC61A8DF88A3</a:ObjectID>
17786 17798
 <a:Name>chair</a:Name>
17787 17799
 <a:Code>chair</a:Code>
@@ -17793,7 +17805,7 @@ LABL 0 新宋体,8,N</a:FontList>
17793 17805
 <a:DataType>varchar(1)</a:DataType>
17794 17806
 <a:Length>1</a:Length>
17795 17807
 </o:Column>
17796
-<o:Column Id="o1042">
17808
+<o:Column Id="o1043">
17797 17809
 <a:ObjectID>95D69A16-BEA6-4D93-AE71-BD1F110A4B26</a:ObjectID>
17798 17810
 <a:Name>washing_machine</a:Name>
17799 17811
 <a:Code>washing_machine</a:Code>
@@ -17805,7 +17817,7 @@ LABL 0 新宋体,8,N</a:FontList>
17805 17817
 <a:DataType>varchar(1)</a:DataType>
17806 17818
 <a:Length>1</a:Length>
17807 17819
 </o:Column>
17808
-<o:Column Id="o1043">
17820
+<o:Column Id="o1044">
17809 17821
 <a:ObjectID>DD7E6C40-AD47-4864-AFFB-FBB0E8D9121B</a:ObjectID>
17810 17822
 <a:Name>air_conditioning</a:Name>
17811 17823
 <a:Code>air_conditioning</a:Code>
@@ -17817,7 +17829,7 @@ LABL 0 新宋体,8,N</a:FontList>
17817 17829
 <a:DataType>varchar(1)</a:DataType>
17818 17830
 <a:Length>1</a:Length>
17819 17831
 </o:Column>
17820
-<o:Column Id="o1044">
17832
+<o:Column Id="o1045">
17821 17833
 <a:ObjectID>8F69DF57-D61E-47AB-8E05-BB0EBB0B5139</a:ObjectID>
17822 17834
 <a:Name>table_lamp</a:Name>
17823 17835
 <a:Code>table_lamp</a:Code>
@@ -17829,7 +17841,7 @@ LABL 0 新宋体,8,N</a:FontList>
17829 17841
 <a:DataType>varchar(1)</a:DataType>
17830 17842
 <a:Length>1</a:Length>
17831 17843
 </o:Column>
17832
-<o:Column Id="o1045">
17844
+<o:Column Id="o1046">
17833 17845
 <a:ObjectID>0A425DF5-5766-4069-BD6E-771C1676BB85</a:ObjectID>
17834 17846
 <a:Name>WiFi</a:Name>
17835 17847
 <a:Code>WiFi</a:Code>
@@ -17841,7 +17853,7 @@ LABL 0 新宋体,8,N</a:FontList>
17841 17853
 <a:DataType>varchar(1)</a:DataType>
17842 17854
 <a:Length>1</a:Length>
17843 17855
 </o:Column>
17844
-<o:Column Id="o1046">
17856
+<o:Column Id="o1047">
17845 17857
 <a:ObjectID>5CA481DC-A4C9-4723-B1E5-43F84387D203</a:ObjectID>
17846 17858
 <a:Name>microwave_oven</a:Name>
17847 17859
 <a:Code>microwave_oven</a:Code>
@@ -17853,7 +17865,7 @@ LABL 0 新宋体,8,N</a:FontList>
17853 17865
 <a:DataType>varchar(1)</a:DataType>
17854 17866
 <a:Length>1</a:Length>
17855 17867
 </o:Column>
17856
-<o:Column Id="o1047">
17868
+<o:Column Id="o1048">
17857 17869
 <a:ObjectID>8100898B-1949-4F10-B73D-47B3D94A8826</a:ObjectID>
17858 17870
 <a:Name>natural_gas</a:Name>
17859 17871
 <a:Code>natural_gas</a:Code>
@@ -17865,7 +17877,7 @@ LABL 0 新宋体,8,N</a:FontList>
17865 17877
 <a:DataType>varchar(1)</a:DataType>
17866 17878
 <a:Length>1</a:Length>
17867 17879
 </o:Column>
17868
-<o:Column Id="o1048">
17880
+<o:Column Id="o1049">
17869 17881
 <a:ObjectID>86966D69-2983-4EEE-B469-B2630F47E55E</a:ObjectID>
17870 17882
 <a:Name>create_date</a:Name>
17871 17883
 <a:Code>create_date</a:Code>
@@ -17876,7 +17888,7 @@ LABL 0 新宋体,8,N</a:FontList>
17876 17888
 <a:Comment>创建时间</a:Comment>
17877 17889
 <a:DataType>datetime</a:DataType>
17878 17890
 </o:Column>
17879
-<o:Column Id="o1049">
17891
+<o:Column Id="o1050">
17880 17892
 <a:ObjectID>0E612C68-BF9C-4454-889C-68B6A3CAF9CB</a:ObjectID>
17881 17893
 <a:Name>create_user</a:Name>
17882 17894
 <a:Code>create_user</a:Code>
@@ -17888,7 +17900,7 @@ LABL 0 新宋体,8,N</a:FontList>
17888 17900
 <a:DataType>int(11)</a:DataType>
17889 17901
 <a:Length>11</a:Length>
17890 17902
 </o:Column>
17891
-<o:Column Id="o1050">
17903
+<o:Column Id="o1051">
17892 17904
 <a:ObjectID>44888D0B-ED44-4152-A948-FE2738CD4730</a:ObjectID>
17893 17905
 <a:Name>update_date</a:Name>
17894 17906
 <a:Code>update_date</a:Code>
@@ -17899,7 +17911,7 @@ LABL 0 新宋体,8,N</a:FontList>
17899 17911
 <a:Comment>更新时间</a:Comment>
17900 17912
 <a:DataType>datetime</a:DataType>
17901 17913
 </o:Column>
17902
-<o:Column Id="o1051">
17914
+<o:Column Id="o1052">
17903 17915
 <a:ObjectID>9ACA9B2C-9A46-43EC-AB23-5DD83CED5EF2</a:ObjectID>
17904 17916
 <a:Name>update_user</a:Name>
17905 17917
 <a:Code>update_user</a:Code>
@@ -17913,7 +17925,7 @@ LABL 0 新宋体,8,N</a:FontList>
17913 17925
 </o:Column>
17914 17926
 </c:Columns>
17915 17927
 <c:Keys>
17916
-<o:Key Id="o1052">
17928
+<o:Key Id="o1053">
17917 17929
 <a:ObjectID>148EAD21-CFA4-42E6-9F44-C31E1C508685</a:ObjectID>
17918 17930
 <a:Name>Key_1</a:Name>
17919 17931
 <a:Code>Key_1</a:Code>
@@ -17927,7 +17939,7 @@ LABL 0 新宋体,8,N</a:FontList>
17927 17939
 </o:Key>
17928 17940
 </c:Keys>
17929 17941
 <c:PrimaryKey>
17930
-<o:Key Ref="o1052"/>
17942
+<o:Key Ref="o1053"/>
17931 17943
 </c:PrimaryKey>
17932 17944
 </o:Table>
17933 17945
 <o:Table Id="o253">
@@ -17941,7 +17953,7 @@ LABL 0 新宋体,8,N</a:FontList>
17941 17953
 <a:Comment>商铺图片</a:Comment>
17942 17954
 <a:TotalSavingCurrency/>
17943 17955
 <c:Columns>
17944
-<o:Column Id="o1053">
17956
+<o:Column Id="o1054">
17945 17957
 <a:ObjectID>92BB3B4E-28C8-452C-B070-4A0755DE3BBC</a:ObjectID>
17946 17958
 <a:Name>id</a:Name>
17947 17959
 <a:Code>id</a:Code>
@@ -17954,7 +17966,7 @@ LABL 0 新宋体,8,N</a:FontList>
17954 17966
 <a:Identity>1</a:Identity>
17955 17967
 <a:Column.Mandatory>1</a:Column.Mandatory>
17956 17968
 </o:Column>
17957
-<o:Column Id="o1054">
17969
+<o:Column Id="o1055">
17958 17970
 <a:ObjectID>21087CE1-7882-4A27-ACD7-E1579649B207</a:ObjectID>
17959 17971
 <a:Name>community_id</a:Name>
17960 17972
 <a:Code>community_id</a:Code>
@@ -17966,7 +17978,7 @@ LABL 0 新宋体,8,N</a:FontList>
17966 17978
 <a:DataType>int(11)</a:DataType>
17967 17979
 <a:Length>11</a:Length>
17968 17980
 </o:Column>
17969
-<o:Column Id="o1055">
17981
+<o:Column Id="o1056">
17970 17982
 <a:ObjectID>6B2B261C-902C-41CE-848E-FF27C66FE85B</a:ObjectID>
17971 17983
 <a:Name>shop_id</a:Name>
17972 17984
 <a:Code>shop_id</a:Code>
@@ -17978,7 +17990,7 @@ LABL 0 新宋体,8,N</a:FontList>
17978 17990
 <a:DataType>int(11)</a:DataType>
17979 17991
 <a:Length>11</a:Length>
17980 17992
 </o:Column>
17981
-<o:Column Id="o1056">
17993
+<o:Column Id="o1057">
17982 17994
 <a:ObjectID>1903CA52-9255-47A8-9B59-B8CA06D703E0</a:ObjectID>
17983 17995
 <a:Name>img_url</a:Name>
17984 17996
 <a:Code>img_url</a:Code>
@@ -17990,7 +18002,7 @@ LABL 0 新宋体,8,N</a:FontList>
17990 18002
 <a:DataType>varchar(255)</a:DataType>
17991 18003
 <a:Length>255</a:Length>
17992 18004
 </o:Column>
17993
-<o:Column Id="o1057">
18005
+<o:Column Id="o1058">
17994 18006
 <a:ObjectID>D12DC8AD-CF58-4DE5-A9DC-ABB63D349D13</a:ObjectID>
17995 18007
 <a:Name>img_type</a:Name>
17996 18008
 <a:Code>img_type</a:Code>
@@ -18002,7 +18014,7 @@ LABL 0 新宋体,8,N</a:FontList>
18002 18014
 <a:DataType>varchar(2)</a:DataType>
18003 18015
 <a:Length>2</a:Length>
18004 18016
 </o:Column>
18005
-<o:Column Id="o1058">
18017
+<o:Column Id="o1059">
18006 18018
 <a:ObjectID>5BC7B1D6-E34E-4473-9DF1-CA6240B1C23F</a:ObjectID>
18007 18019
 <a:Name>create_date</a:Name>
18008 18020
 <a:Code>create_date</a:Code>
@@ -18015,7 +18027,7 @@ LABL 0 新宋体,8,N</a:FontList>
18015 18027
 </o:Column>
18016 18028
 </c:Columns>
18017 18029
 <c:Keys>
18018
-<o:Key Id="o1059">
18030
+<o:Key Id="o1060">
18019 18031
 <a:ObjectID>6EEDA542-1E85-47A3-BC57-7C65558D93D0</a:ObjectID>
18020 18032
 <a:Name>Key_1</a:Name>
18021 18033
 <a:Code>Key_1</a:Code>
@@ -18024,12 +18036,12 @@ LABL 0 新宋体,8,N</a:FontList>
18024 18036
 <a:ModificationDate>1557304098</a:ModificationDate>
18025 18037
 <a:Modifier>szc</a:Modifier>
18026 18038
 <c:Key.Columns>
18027
-<o:Column Ref="o1053"/>
18039
+<o:Column Ref="o1054"/>
18028 18040
 </c:Key.Columns>
18029 18041
 </o:Key>
18030 18042
 </c:Keys>
18031 18043
 <c:PrimaryKey>
18032
-<o:Key Ref="o1059"/>
18044
+<o:Key Ref="o1060"/>
18033 18045
 </c:PrimaryKey>
18034 18046
 </o:Table>
18035 18047
 <o:Table Id="o255">
@@ -18043,7 +18055,7 @@ LABL 0 新宋体,8,N</a:FontList>
18043 18055
 <a:Comment>出租房间图片</a:Comment>
18044 18056
 <a:TotalSavingCurrency/>
18045 18057
 <c:Columns>
18046
-<o:Column Id="o1060">
18058
+<o:Column Id="o1061">
18047 18059
 <a:ObjectID>98ED7313-E915-44A1-9D4F-80F5BC057C88</a:ObjectID>
18048 18060
 <a:Name>id</a:Name>
18049 18061
 <a:Code>id</a:Code>
@@ -18056,7 +18068,7 @@ LABL 0 新宋体,8,N</a:FontList>
18056 18068
 <a:Identity>1</a:Identity>
18057 18069
 <a:Column.Mandatory>1</a:Column.Mandatory>
18058 18070
 </o:Column>
18059
-<o:Column Id="o1061">
18071
+<o:Column Id="o1062">
18060 18072
 <a:ObjectID>C9DD2C07-B914-4F63-AFCD-05FA9EEC9184</a:ObjectID>
18061 18073
 <a:Name>community_id</a:Name>
18062 18074
 <a:Code>community_id</a:Code>
@@ -18068,7 +18080,7 @@ LABL 0 新宋体,8,N</a:FontList>
18068 18080
 <a:DataType>int(11)</a:DataType>
18069 18081
 <a:Length>11</a:Length>
18070 18082
 </o:Column>
18071
-<o:Column Id="o1062">
18083
+<o:Column Id="o1063">
18072 18084
 <a:ObjectID>B557681C-3BC2-492A-9313-38454B3D480A</a:ObjectID>
18073 18085
 <a:Name>rental_house_id</a:Name>
18074 18086
 <a:Code>rental_house_id</a:Code>
@@ -18080,7 +18092,7 @@ LABL 0 新宋体,8,N</a:FontList>
18080 18092
 <a:DataType>int(11)</a:DataType>
18081 18093
 <a:Length>11</a:Length>
18082 18094
 </o:Column>
18083
-<o:Column Id="o1063">
18095
+<o:Column Id="o1064">
18084 18096
 <a:ObjectID>7EFF853D-17E5-459D-8942-60286B8BF991</a:ObjectID>
18085 18097
 <a:Name>img_url</a:Name>
18086 18098
 <a:Code>img_url</a:Code>
@@ -18092,7 +18104,7 @@ LABL 0 新宋体,8,N</a:FontList>
18092 18104
 <a:DataType>varchar(255)</a:DataType>
18093 18105
 <a:Length>255</a:Length>
18094 18106
 </o:Column>
18095
-<o:Column Id="o1064">
18107
+<o:Column Id="o1065">
18096 18108
 <a:ObjectID>986D1A7D-1053-4346-AD5C-D64AEE62DD3F</a:ObjectID>
18097 18109
 <a:Name>img_type</a:Name>
18098 18110
 <a:Code>img_type</a:Code>
@@ -18104,7 +18116,7 @@ LABL 0 新宋体,8,N</a:FontList>
18104 18116
 <a:DataType>varchar(2)</a:DataType>
18105 18117
 <a:Length>2</a:Length>
18106 18118
 </o:Column>
18107
-<o:Column Id="o1065">
18119
+<o:Column Id="o1066">
18108 18120
 <a:ObjectID>A094BD2C-60B5-4AC9-A98E-176D07F29C66</a:ObjectID>
18109 18121
 <a:Name>create_date</a:Name>
18110 18122
 <a:Code>create_date</a:Code>
@@ -18117,7 +18129,7 @@ LABL 0 新宋体,8,N</a:FontList>
18117 18129
 </o:Column>
18118 18130
 </c:Columns>
18119 18131
 <c:Keys>
18120
-<o:Key Id="o1066">
18132
+<o:Key Id="o1067">
18121 18133
 <a:ObjectID>F8E42723-01EE-48CA-B9B4-9B70D9EE52C2</a:ObjectID>
18122 18134
 <a:Name>Key_1</a:Name>
18123 18135
 <a:Code>Key_1</a:Code>
@@ -18126,12 +18138,12 @@ LABL 0 新宋体,8,N</a:FontList>
18126 18138
 <a:ModificationDate>1557307564</a:ModificationDate>
18127 18139
 <a:Modifier>szc</a:Modifier>
18128 18140
 <c:Key.Columns>
18129
-<o:Column Ref="o1060"/>
18141
+<o:Column Ref="o1061"/>
18130 18142
 </c:Key.Columns>
18131 18143
 </o:Key>
18132 18144
 </c:Keys>
18133 18145
 <c:PrimaryKey>
18134
-<o:Key Ref="o1066"/>
18146
+<o:Key Ref="o1067"/>
18135 18147
 </c:PrimaryKey>
18136 18148
 </o:Table>
18137 18149
 <o:Table Id="o256">
@@ -18145,7 +18157,7 @@ LABL 0 新宋体,8,N</a:FontList>
18145 18157
 <a:Comment>用户车牌号表</a:Comment>
18146 18158
 <a:TotalSavingCurrency/>
18147 18159
 <c:Columns>
18148
-<o:Column Id="o1067">
18160
+<o:Column Id="o1068">
18149 18161
 <a:ObjectID>2ADC4DD9-6B52-46D7-80A7-0B269251996F</a:ObjectID>
18150 18162
 <a:Name>id</a:Name>
18151 18163
 <a:Code>id</a:Code>
@@ -18158,7 +18170,7 @@ LABL 0 新宋体,8,N</a:FontList>
18158 18170
 <a:Identity>1</a:Identity>
18159 18171
 <a:Column.Mandatory>1</a:Column.Mandatory>
18160 18172
 </o:Column>
18161
-<o:Column Id="o1068">
18173
+<o:Column Id="o1069">
18162 18174
 <a:ObjectID>B2476244-EFC3-4FF8-A728-50D1941D12BB</a:ObjectID>
18163 18175
 <a:Name>community_id</a:Name>
18164 18176
 <a:Code>community_id</a:Code>
@@ -18170,7 +18182,7 @@ LABL 0 新宋体,8,N</a:FontList>
18170 18182
 <a:DataType>int(11)</a:DataType>
18171 18183
 <a:Length>11</a:Length>
18172 18184
 </o:Column>
18173
-<o:Column Id="o1069">
18185
+<o:Column Id="o1070">
18174 18186
 <a:ObjectID>D4FE9889-F81C-40A2-9777-99934795E873</a:ObjectID>
18175 18187
 <a:Name>ta_user_id</a:Name>
18176 18188
 <a:Code>ta_user_id</a:Code>
@@ -18182,7 +18194,7 @@ LABL 0 新宋体,8,N</a:FontList>
18182 18194
 <a:DataType>int(11)</a:DataType>
18183 18195
 <a:Length>11</a:Length>
18184 18196
 </o:Column>
18185
-<o:Column Id="o1070">
18197
+<o:Column Id="o1071">
18186 18198
 <a:ObjectID>9AF156AE-3592-4A2F-ADD4-AF7D94A024F2</a:ObjectID>
18187 18199
 <a:Name>license_plate</a:Name>
18188 18200
 <a:Code>license_plate</a:Code>
@@ -18194,7 +18206,7 @@ LABL 0 新宋体,8,N</a:FontList>
18194 18206
 <a:DataType>varchar(255)</a:DataType>
18195 18207
 <a:Length>255</a:Length>
18196 18208
 </o:Column>
18197
-<o:Column Id="o1071">
18209
+<o:Column Id="o1072">
18198 18210
 <a:ObjectID>4AF2667F-B53D-4CAB-9DF9-7388FD52766D</a:ObjectID>
18199 18211
 <a:Name>order_number</a:Name>
18200 18212
 <a:Code>order_number</a:Code>
@@ -18206,7 +18218,7 @@ LABL 0 新宋体,8,N</a:FontList>
18206 18218
 <a:DataType>varchar(255)</a:DataType>
18207 18219
 <a:Length>255</a:Length>
18208 18220
 </o:Column>
18209
-<o:Column Id="o1072">
18221
+<o:Column Id="o1073">
18210 18222
 <a:ObjectID>33679CF5-35FC-4B38-9BFA-D008AFEB89C3</a:ObjectID>
18211 18223
 <a:Name>expire_date</a:Name>
18212 18224
 <a:Code>expire_date</a:Code>
@@ -18217,7 +18229,7 @@ LABL 0 新宋体,8,N</a:FontList>
18217 18229
 <a:Comment>到期时间</a:Comment>
18218 18230
 <a:DataType>datetime</a:DataType>
18219 18231
 </o:Column>
18220
-<o:Column Id="o1073">
18232
+<o:Column Id="o1074">
18221 18233
 <a:ObjectID>57CE5A0C-2BD4-4B1F-AED4-D8FFB7C53768</a:ObjectID>
18222 18234
 <a:Name>unit_price</a:Name>
18223 18235
 <a:Code>unit_price</a:Code>
@@ -18229,7 +18241,7 @@ LABL 0 新宋体,8,N</a:FontList>
18229 18241
 <a:DataType>varchar(255)</a:DataType>
18230 18242
 <a:Length>255</a:Length>
18231 18243
 </o:Column>
18232
-<o:Column Id="o1074">
18244
+<o:Column Id="o1075">
18233 18245
 <a:ObjectID>593C14C2-DC52-447D-9901-15585EB3D25E</a:ObjectID>
18234 18246
 <a:Name>parking_lot</a:Name>
18235 18247
 <a:Code>parking_lot</a:Code>
@@ -18241,7 +18253,7 @@ LABL 0 新宋体,8,N</a:FontList>
18241 18253
 <a:DataType>varchar(255)</a:DataType>
18242 18254
 <a:Length>255</a:Length>
18243 18255
 </o:Column>
18244
-<o:Column Id="o1075">
18256
+<o:Column Id="o1076">
18245 18257
 <a:ObjectID>B11B597D-C188-4F86-B983-1247AAC74386</a:ObjectID>
18246 18258
 <a:Name>renew_time</a:Name>
18247 18259
 <a:Code>renew_time</a:Code>
@@ -18253,7 +18265,7 @@ LABL 0 新宋体,8,N</a:FontList>
18253 18265
 <a:DataType>int(11)</a:DataType>
18254 18266
 <a:Length>11</a:Length>
18255 18267
 </o:Column>
18256
-<o:Column Id="o1076">
18268
+<o:Column Id="o1077">
18257 18269
 <a:ObjectID>B9A4F75B-5600-4E03-97CA-F52659AF4566</a:ObjectID>
18258 18270
 <a:Name>license_type</a:Name>
18259 18271
 <a:Code>license_type</a:Code>
@@ -18265,7 +18277,7 @@ LABL 0 新宋体,8,N</a:FontList>
18265 18277
 <a:DataType>int(11)</a:DataType>
18266 18278
 <a:Length>11</a:Length>
18267 18279
 </o:Column>
18268
-<o:Column Id="o1077">
18280
+<o:Column Id="o1078">
18269 18281
 <a:ObjectID>00FA4FFC-5A5F-4873-881A-EA8B4C2639BD</a:ObjectID>
18270 18282
 <a:Name>create_date</a:Name>
18271 18283
 <a:Code>create_date</a:Code>
@@ -18276,7 +18288,7 @@ LABL 0 新宋体,8,N</a:FontList>
18276 18288
 <a:Comment>创建时间</a:Comment>
18277 18289
 <a:DataType>datetime</a:DataType>
18278 18290
 </o:Column>
18279
-<o:Column Id="o1078">
18291
+<o:Column Id="o1079">
18280 18292
 <a:ObjectID>C3559530-E9AA-4BB9-A794-582963C4A4BF</a:ObjectID>
18281 18293
 <a:Name>create_user</a:Name>
18282 18294
 <a:Code>create_user</a:Code>
@@ -18288,7 +18300,7 @@ LABL 0 新宋体,8,N</a:FontList>
18288 18300
 <a:DataType>int(11)</a:DataType>
18289 18301
 <a:Length>11</a:Length>
18290 18302
 </o:Column>
18291
-<o:Column Id="o1079">
18303
+<o:Column Id="o1080">
18292 18304
 <a:ObjectID>AD4AC6D5-678E-49FC-93B0-BB84F617CD00</a:ObjectID>
18293 18305
 <a:Name>update_date</a:Name>
18294 18306
 <a:Code>update_date</a:Code>
@@ -18299,7 +18311,7 @@ LABL 0 新宋体,8,N</a:FontList>
18299 18311
 <a:Comment>更新时间</a:Comment>
18300 18312
 <a:DataType>datetime</a:DataType>
18301 18313
 </o:Column>
18302
-<o:Column Id="o1080">
18314
+<o:Column Id="o1081">
18303 18315
 <a:ObjectID>85836F40-5F4D-4AB8-9DC7-2345ED8AE5DA</a:ObjectID>
18304 18316
 <a:Name>update_user</a:Name>
18305 18317
 <a:Code>update_user</a:Code>
@@ -18313,7 +18325,7 @@ LABL 0 新宋体,8,N</a:FontList>
18313 18325
 </o:Column>
18314 18326
 </c:Columns>
18315 18327
 <c:Keys>
18316
-<o:Key Id="o1081">
18328
+<o:Key Id="o1082">
18317 18329
 <a:ObjectID>63206026-120F-43C3-AF49-7BF7198EAA64</a:ObjectID>
18318 18330
 <a:Name>Key_1</a:Name>
18319 18331
 <a:Code>Key_1</a:Code>
@@ -18322,12 +18334,12 @@ LABL 0 新宋体,8,N</a:FontList>
18322 18334
 <a:ModificationDate>1557367718</a:ModificationDate>
18323 18335
 <a:Modifier>szc</a:Modifier>
18324 18336
 <c:Key.Columns>
18325
-<o:Column Ref="o1067"/>
18337
+<o:Column Ref="o1068"/>
18326 18338
 </c:Key.Columns>
18327 18339
 </o:Key>
18328 18340
 </c:Keys>
18329 18341
 <c:PrimaryKey>
18330
-<o:Key Ref="o1081"/>
18342
+<o:Key Ref="o1082"/>
18331 18343
 </c:PrimaryKey>
18332 18344
 </o:Table>
18333 18345
 <o:Table Id="o257">
@@ -18341,7 +18353,7 @@ LABL 0 新宋体,8,N</a:FontList>
18341 18353
 <a:Comment>月租车缴费订单表</a:Comment>
18342 18354
 <a:TotalSavingCurrency/>
18343 18355
 <c:Columns>
18344
-<o:Column Id="o1082">
18356
+<o:Column Id="o1083">
18345 18357
 <a:ObjectID>08F36182-AB22-433F-8F51-E805E2ACC919</a:ObjectID>
18346 18358
 <a:Name>id</a:Name>
18347 18359
 <a:Code>id</a:Code>
@@ -18354,7 +18366,7 @@ LABL 0 新宋体,8,N</a:FontList>
18354 18366
 <a:Identity>1</a:Identity>
18355 18367
 <a:Column.Mandatory>1</a:Column.Mandatory>
18356 18368
 </o:Column>
18357
-<o:Column Id="o1083">
18369
+<o:Column Id="o1084">
18358 18370
 <a:ObjectID>45D65D52-E45F-466F-B13D-4BAB7431D881</a:ObjectID>
18359 18371
 <a:Name>community_id</a:Name>
18360 18372
 <a:Code>community_id</a:Code>
@@ -18366,7 +18378,7 @@ LABL 0 新宋体,8,N</a:FontList>
18366 18378
 <a:DataType>int(11)</a:DataType>
18367 18379
 <a:Length>11</a:Length>
18368 18380
 </o:Column>
18369
-<o:Column Id="o1084">
18381
+<o:Column Id="o1085">
18370 18382
 <a:ObjectID>80318F85-BB20-4024-9998-D987A98B2C8F</a:ObjectID>
18371 18383
 <a:Name>user_license_id</a:Name>
18372 18384
 <a:Code>ta_user_id</a:Code>
@@ -18378,7 +18390,7 @@ LABL 0 新宋体,8,N</a:FontList>
18378 18390
 <a:DataType>int(11)</a:DataType>
18379 18391
 <a:Length>11</a:Length>
18380 18392
 </o:Column>
18381
-<o:Column Id="o1085">
18393
+<o:Column Id="o1086">
18382 18394
 <a:ObjectID>63010136-6F76-4F2E-970D-D599445EE9B0</a:ObjectID>
18383 18395
 <a:Name>order_number</a:Name>
18384 18396
 <a:Code>order_number</a:Code>
@@ -18390,7 +18402,7 @@ LABL 0 新宋体,8,N</a:FontList>
18390 18402
 <a:DataType>varchar(255)</a:DataType>
18391 18403
 <a:Length>255</a:Length>
18392 18404
 </o:Column>
18393
-<o:Column Id="o1086">
18405
+<o:Column Id="o1087">
18394 18406
 <a:ObjectID>D575E6DD-CE84-4ED5-8208-C3C936932B7B</a:ObjectID>
18395 18407
 <a:Name>order_status</a:Name>
18396 18408
 <a:Code>order_status</a:Code>
@@ -18402,7 +18414,7 @@ LABL 0 新宋体,8,N</a:FontList>
18402 18414
 <a:DataType>varchar(255)</a:DataType>
18403 18415
 <a:Length>255</a:Length>
18404 18416
 </o:Column>
18405
-<o:Column Id="o1087">
18417
+<o:Column Id="o1088">
18406 18418
 <a:ObjectID>2D0B1C89-FCE7-43EB-9E46-3814A128EAA1</a:ObjectID>
18407 18419
 <a:Name>create_user</a:Name>
18408 18420
 <a:Code>create_user</a:Code>
@@ -18414,7 +18426,7 @@ LABL 0 新宋体,8,N</a:FontList>
18414 18426
 <a:DataType>int(11)</a:DataType>
18415 18427
 <a:Length>11</a:Length>
18416 18428
 </o:Column>
18417
-<o:Column Id="o1088">
18429
+<o:Column Id="o1089">
18418 18430
 <a:ObjectID>A1476C8B-868D-4B30-ACD0-08C86C003A27</a:ObjectID>
18419 18431
 <a:Name>create_date</a:Name>
18420 18432
 <a:Code>create_date</a:Code>
@@ -18425,7 +18437,7 @@ LABL 0 新宋体,8,N</a:FontList>
18425 18437
 <a:Comment>创建时间</a:Comment>
18426 18438
 <a:DataType>datetime</a:DataType>
18427 18439
 </o:Column>
18428
-<o:Column Id="o1089">
18440
+<o:Column Id="o1090">
18429 18441
 <a:ObjectID>BE3B494A-E8E4-421E-A871-FD700644271F</a:ObjectID>
18430 18442
 <a:Name>update_user</a:Name>
18431 18443
 <a:Code>update_user</a:Code>
@@ -18437,7 +18449,7 @@ LABL 0 新宋体,8,N</a:FontList>
18437 18449
 <a:DataType>int(11)</a:DataType>
18438 18450
 <a:Length>11</a:Length>
18439 18451
 </o:Column>
18440
-<o:Column Id="o1090">
18452
+<o:Column Id="o1091">
18441 18453
 <a:ObjectID>A34F3B8C-7F9A-41ED-BD96-44A95D08C547</a:ObjectID>
18442 18454
 <a:Name>update_date</a:Name>
18443 18455
 <a:Code>update_date</a:Code>
@@ -18448,7 +18460,7 @@ LABL 0 新宋体,8,N</a:FontList>
18448 18460
 <a:Comment>更新时间</a:Comment>
18449 18461
 <a:DataType>datetime</a:DataType>
18450 18462
 </o:Column>
18451
-<o:Column Id="o1091">
18463
+<o:Column Id="o1092">
18452 18464
 <a:ObjectID>8EA7049C-94A1-453E-B283-8E79F440BCEB</a:ObjectID>
18453 18465
 <a:Name>extension_month</a:Name>
18454 18466
 <a:Code>extension_month</a:Code>
@@ -18460,7 +18472,7 @@ LABL 0 新宋体,8,N</a:FontList>
18460 18472
 <a:DataType>int(11)</a:DataType>
18461 18473
 <a:Length>11</a:Length>
18462 18474
 </o:Column>
18463
-<o:Column Id="o1092">
18475
+<o:Column Id="o1093">
18464 18476
 <a:ObjectID>749D6A1D-5072-45E8-9826-22579FD72F1F</a:ObjectID>
18465 18477
 <a:Name>extension_price</a:Name>
18466 18478
 <a:Code>extension_price</a:Code>
@@ -18472,7 +18484,7 @@ LABL 0 新宋体,8,N</a:FontList>
18472 18484
 <a:DataType>varchar(255)</a:DataType>
18473 18485
 <a:Length>255</a:Length>
18474 18486
 </o:Column>
18475
-<o:Column Id="o1093">
18487
+<o:Column Id="o1094">
18476 18488
 <a:ObjectID>E0395793-A050-4735-96E3-F17749B36CEC</a:ObjectID>
18477 18489
 <a:Name>payment_tel</a:Name>
18478 18490
 <a:Code>payment_tel</a:Code>
@@ -18484,7 +18496,7 @@ LABL 0 新宋体,8,N</a:FontList>
18484 18496
 <a:DataType>varchar(255)</a:DataType>
18485 18497
 <a:Length>255</a:Length>
18486 18498
 </o:Column>
18487
-<o:Column Id="o1094">
18499
+<o:Column Id="o1095">
18488 18500
 <a:ObjectID>3D0DBFAF-ACCA-4178-AEC7-478CABDABE68</a:ObjectID>
18489 18501
 <a:Name>payment_name</a:Name>
18490 18502
 <a:Code>payment_name</a:Code>
@@ -18496,7 +18508,7 @@ LABL 0 新宋体,8,N</a:FontList>
18496 18508
 <a:DataType>varchar(255)</a:DataType>
18497 18509
 <a:Length>255</a:Length>
18498 18510
 </o:Column>
18499
-<o:Column Id="o1095">
18511
+<o:Column Id="o1096">
18500 18512
 <a:ObjectID>2C17C691-0E31-4CD5-A8A7-5D326BB722F7</a:ObjectID>
18501 18513
 <a:Name>payment_type</a:Name>
18502 18514
 <a:Code>payment_type</a:Code>
@@ -18508,7 +18520,7 @@ LABL 0 新宋体,8,N</a:FontList>
18508 18520
 <a:DataType>varchar(2)</a:DataType>
18509 18521
 <a:Length>2</a:Length>
18510 18522
 </o:Column>
18511
-<o:Column Id="o1096">
18523
+<o:Column Id="o1097">
18512 18524
 <a:ObjectID>431D00B1-22B7-4183-9E3C-8DC9222B68A9</a:ObjectID>
18513 18525
 <a:Name>expire_date</a:Name>
18514 18526
 <a:Code>expire_date</a:Code>
@@ -18519,7 +18531,7 @@ LABL 0 新宋体,8,N</a:FontList>
18519 18531
 <a:Comment>到期时间</a:Comment>
18520 18532
 <a:DataType>datetime</a:DataType>
18521 18533
 </o:Column>
18522
-<o:Column Id="o1097">
18534
+<o:Column Id="o1098">
18523 18535
 <a:ObjectID>9D078A47-1407-4881-9BAC-287FC15BBEB6</a:ObjectID>
18524 18536
 <a:Name>unit_price</a:Name>
18525 18537
 <a:Code>unit_price</a:Code>
@@ -18531,7 +18543,7 @@ LABL 0 新宋体,8,N</a:FontList>
18531 18543
 <a:DataType>varchar(255)</a:DataType>
18532 18544
 <a:Length>255</a:Length>
18533 18545
 </o:Column>
18534
-<o:Column Id="o1098">
18546
+<o:Column Id="o1099">
18535 18547
 <a:ObjectID>F78B78EC-E859-47C1-AC9D-A3E1B0CBA926</a:ObjectID>
18536 18548
 <a:Name>parking_lot</a:Name>
18537 18549
 <a:Code>parking_lot</a:Code>
@@ -18543,7 +18555,7 @@ LABL 0 新宋体,8,N</a:FontList>
18543 18555
 <a:DataType>varchar(255)</a:DataType>
18544 18556
 <a:Length>255</a:Length>
18545 18557
 </o:Column>
18546
-<o:Column Id="o1099">
18558
+<o:Column Id="o1100">
18547 18559
 <a:ObjectID>9273BE9C-B9DC-4C92-AA4D-018829225523</a:ObjectID>
18548 18560
 <a:Name>license_plate</a:Name>
18549 18561
 <a:Code>license_plate</a:Code>
@@ -18557,7 +18569,7 @@ LABL 0 新宋体,8,N</a:FontList>
18557 18569
 </o:Column>
18558 18570
 </c:Columns>
18559 18571
 <c:Keys>
18560
-<o:Key Id="o1100">
18572
+<o:Key Id="o1101">
18561 18573
 <a:ObjectID>F57D4E18-1528-44BD-BEBB-4680F3D77BDA</a:ObjectID>
18562 18574
 <a:Name>Key_1</a:Name>
18563 18575
 <a:Code>Key_1</a:Code>
@@ -18566,12 +18578,12 @@ LABL 0 新宋体,8,N</a:FontList>
18566 18578
 <a:ModificationDate>1557372945</a:ModificationDate>
18567 18579
 <a:Modifier>szc</a:Modifier>
18568 18580
 <c:Key.Columns>
18569
-<o:Column Ref="o1082"/>
18581
+<o:Column Ref="o1083"/>
18570 18582
 </c:Key.Columns>
18571 18583
 </o:Key>
18572 18584
 </c:Keys>
18573 18585
 <c:PrimaryKey>
18574
-<o:Key Ref="o1100"/>
18586
+<o:Key Ref="o1101"/>
18575 18587
 </c:PrimaryKey>
18576 18588
 </o:Table>
18577 18589
 <o:Table Id="o259">
@@ -18585,7 +18597,7 @@ LABL 0 新宋体,8,N</a:FontList>
18585 18597
 <a:Comment>app端版本号</a:Comment>
18586 18598
 <a:TotalSavingCurrency/>
18587 18599
 <c:Columns>
18588
-<o:Column Id="o1101">
18600
+<o:Column Id="o1102">
18589 18601
 <a:ObjectID>A9874095-1A7A-41B3-BDAA-89FF219B226F</a:ObjectID>
18590 18602
 <a:Name>id</a:Name>
18591 18603
 <a:Code>id</a:Code>
@@ -18597,7 +18609,7 @@ LABL 0 新宋体,8,N</a:FontList>
18597 18609
 <a:Length>11</a:Length>
18598 18610
 <a:Column.Mandatory>1</a:Column.Mandatory>
18599 18611
 </o:Column>
18600
-<o:Column Id="o1102">
18612
+<o:Column Id="o1103">
18601 18613
 <a:ObjectID>946CB4DD-6B85-465A-895E-5E8A8F2BA7C3</a:ObjectID>
18602 18614
 <a:Name>client_version</a:Name>
18603 18615
 <a:Code>client_version</a:Code>
@@ -18609,7 +18621,7 @@ LABL 0 新宋体,8,N</a:FontList>
18609 18621
 <a:DataType>varchar(255)</a:DataType>
18610 18622
 <a:Length>255</a:Length>
18611 18623
 </o:Column>
18612
-<o:Column Id="o1103">
18624
+<o:Column Id="o1104">
18613 18625
 <a:ObjectID>BDFD3026-FC17-4D03-A503-7AF3A37592A5</a:ObjectID>
18614 18626
 <a:Name>service_version</a:Name>
18615 18627
 <a:Code>service_version</a:Code>
@@ -18621,7 +18633,7 @@ LABL 0 新宋体,8,N</a:FontList>
18621 18633
 <a:DataType>varchar(255)</a:DataType>
18622 18634
 <a:Length>255</a:Length>
18623 18635
 </o:Column>
18624
-<o:Column Id="o1104">
18636
+<o:Column Id="o1105">
18625 18637
 <a:ObjectID>3D77C63D-552E-4815-8BBB-148013A10319</a:ObjectID>
18626 18638
 <a:Name>type</a:Name>
18627 18639
 <a:Code>type</a:Code>
@@ -18633,7 +18645,7 @@ LABL 0 新宋体,8,N</a:FontList>
18633 18645
 <a:DataType>varchar(255)</a:DataType>
18634 18646
 <a:Length>255</a:Length>
18635 18647
 </o:Column>
18636
-<o:Column Id="o1105">
18648
+<o:Column Id="o1106">
18637 18649
 <a:ObjectID>1414BD13-AA8D-4144-BA19-810AED96EE55</a:ObjectID>
18638 18650
 <a:Name>update_address</a:Name>
18639 18651
 <a:Code>update_address</a:Code>
@@ -18647,7 +18659,7 @@ LABL 0 新宋体,8,N</a:FontList>
18647 18659
 </o:Column>
18648 18660
 </c:Columns>
18649 18661
 <c:Keys>
18650
-<o:Key Id="o1106">
18662
+<o:Key Id="o1107">
18651 18663
 <a:ObjectID>81BA3F75-E9E6-4FF0-BC41-4D8BAF735EDC</a:ObjectID>
18652 18664
 <a:Name>Key_1</a:Name>
18653 18665
 <a:Code>Key_1</a:Code>
@@ -18656,17 +18668,17 @@ LABL 0 新宋体,8,N</a:FontList>
18656 18668
 <a:ModificationDate>1557800616</a:ModificationDate>
18657 18669
 <a:Modifier>szc</a:Modifier>
18658 18670
 <c:Key.Columns>
18659
-<o:Column Ref="o1101"/>
18671
+<o:Column Ref="o1102"/>
18660 18672
 </c:Key.Columns>
18661 18673
 </o:Key>
18662 18674
 </c:Keys>
18663 18675
 <c:PrimaryKey>
18664
-<o:Key Ref="o1106"/>
18676
+<o:Key Ref="o1107"/>
18665 18677
 </c:PrimaryKey>
18666 18678
 </o:Table>
18667 18679
 </c:Tables>
18668 18680
 <c:DefaultGroups>
18669
-<o:Group Id="o1107">
18681
+<o:Group Id="o1108">
18670 18682
 <a:ObjectID>9FAF56B5-A351-488F-9A3B-D4A944CD4081</a:ObjectID>
18671 18683
 <a:Name>PUBLIC</a:Name>
18672 18684
 <a:Code>PUBLIC</a:Code>
@@ -19329,7 +19341,7 @@ LABL 0 新宋体,8,N</a:FontList>
19329 19341
 </o:ExtendedDependency>
19330 19342
 </c:ChildTraceabilityLinks>
19331 19343
 <c:TargetModels>
19332
-<o:TargetModel Id="o1108">
19344
+<o:TargetModel Id="o1109">
19333 19345
 <a:ObjectID>B86EB932-C352-4174-86E4-2D2B1DDE4A45</a:ObjectID>
19334 19346
 <a:Name>MySQL 5.0</a:Name>
19335 19347
 <a:Code>MYSQL50</a:Code>

+ 155
- 119
文档/MYSQL/smartCommunity.pdm 查看文件

@@ -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="1557818754" Name="smartCommunity" Objects="1163" Symbols="129" 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="1557819544" Name="smartCommunity" Objects="1167" Symbols="129" 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">
@@ -6979,7 +6979,7 @@ LABL 0 新宋体,8,N</a:FontList>
6979 6979
 <a:CreationDate>1557303510</a:CreationDate>
6980 6980
 <a:ModificationDate>1557306066</a:ModificationDate>
6981 6981
 <a:IconMode>-1</a:IconMode>
6982
-<a:Rect>((187327,18360), (204115,49558))</a:Rect>
6982
+<a:Rect>((187327,17010), (204115,50908))</a:Rect>
6983 6983
 <a:LineColor>12615680</a:LineColor>
6984 6984
 <a:FillColor>16570034</a:FillColor>
6985 6985
 <a:ShadowColor>12632256</a:ShadowColor>
@@ -17524,7 +17524,7 @@ LABL 0 新宋体,8,N</a:FontList>
17524 17524
 <a:Code>tp_rental_house</a:Code>
17525 17525
 <a:CreationDate>1557303510</a:CreationDate>
17526 17526
 <a:Creator>szc</a:Creator>
17527
-<a:ModificationDate>1557818754</a:ModificationDate>
17527
+<a:ModificationDate>1557819511</a:ModificationDate>
17528 17528
 <a:Modifier>szc</a:Modifier>
17529 17529
 <a:Comment>出租公寓表</a:Comment>
17530 17530
 <a:TotalSavingCurrency/>
@@ -17759,89 +17759,113 @@ LABL 0 新宋体,8,N</a:FontList>
17759 17759
 </o:Column>
17760 17760
 <o:Column Id="o1039">
17761 17761
 <a:ObjectID>0F598383-042D-42FD-B7DD-5EAD70E46C1B</a:ObjectID>
17762
-<a:Name>dining_table</a:Name>
17763
-<a:Code>dining_table</a:Code>
17762
+<a:Name>sofa</a:Name>
17763
+<a:Code>sofa</a:Code>
17764 17764
 <a:CreationDate>1557307121</a:CreationDate>
17765 17765
 <a:Creator>szc</a:Creator>
17766
-<a:ModificationDate>1557307546</a:ModificationDate>
17766
+<a:ModificationDate>1557819511</a:ModificationDate>
17767 17767
 <a:Modifier>szc</a:Modifier>
17768
-<a:Comment>餐桌 1 有</a:Comment>
17768
+<a:Comment>沙发 1 有</a:Comment>
17769 17769
 <a:DataType>varchar(1)</a:DataType>
17770 17770
 <a:Length>1</a:Length>
17771 17771
 </o:Column>
17772 17772
 <o:Column Id="o1040">
17773
-<a:ObjectID>7FB29743-6F55-4ADD-829C-886CD8235B78</a:ObjectID>
17774
-<a:Name>computer_desk</a:Name>
17775
-<a:Code>computer_desk</a:Code>
17773
+<a:ObjectID>95D69A16-BEA6-4D93-AE71-BD1F110A4B26</a:ObjectID>
17774
+<a:Name>washing_machine</a:Name>
17775
+<a:Code>washing_machine</a:Code>
17776 17776
 <a:CreationDate>1557307121</a:CreationDate>
17777 17777
 <a:Creator>szc</a:Creator>
17778 17778
 <a:ModificationDate>1557307546</a:ModificationDate>
17779 17779
 <a:Modifier>szc</a:Modifier>
17780
-<a:Comment>电脑桌 1 有</a:Comment>
17780
+<a:Comment> 洗衣机 1 有</a:Comment>
17781 17781
 <a:DataType>varchar(1)</a:DataType>
17782 17782
 <a:Length>1</a:Length>
17783 17783
 </o:Column>
17784 17784
 <o:Column Id="o1041">
17785
-<a:ObjectID>BD673A93-F61B-4C96-BEAD-2283ACDFAF64</a:ObjectID>
17786
-<a:Name>water_heater</a:Name>
17787
-<a:Code>water_heater</a:Code>
17785
+<a:ObjectID>DD7E6C40-AD47-4864-AFFB-FBB0E8D9121B</a:ObjectID>
17786
+<a:Name>air_conditioning</a:Name>
17787
+<a:Code>air_conditioning</a:Code>
17788 17788
 <a:CreationDate>1557307121</a:CreationDate>
17789 17789
 <a:Creator>szc</a:Creator>
17790 17790
 <a:ModificationDate>1557307546</a:ModificationDate>
17791 17791
 <a:Modifier>szc</a:Modifier>
17792
-<a:Comment>热水器 1 有</a:Comment>
17792
+<a:Comment>空调 1 有</a:Comment>
17793 17793
 <a:DataType>varchar(1)</a:DataType>
17794 17794
 <a:Length>1</a:Length>
17795 17795
 </o:Column>
17796 17796
 <o:Column Id="o1042">
17797
-<a:ObjectID>4F881349-E1A5-4DE0-8010-BC61A8DF88A3</a:ObjectID>
17798
-<a:Name>chair</a:Name>
17799
-<a:Code>chair</a:Code>
17800
-<a:CreationDate>1557307121</a:CreationDate>
17797
+<a:ObjectID>00143CC9-8BE2-4977-A1B3-83A931F33907</a:ObjectID>
17798
+<a:Name>fridge</a:Name>
17799
+<a:Code>fridge</a:Code>
17800
+<a:CreationDate>1557818776</a:CreationDate>
17801 17801
 <a:Creator>szc</a:Creator>
17802
-<a:ModificationDate>1557307546</a:ModificationDate>
17802
+<a:ModificationDate>1557819511</a:ModificationDate>
17803 17803
 <a:Modifier>szc</a:Modifier>
17804
-<a:Comment>椅子 1 有</a:Comment>
17804
+<a:Comment>冰箱 1 有</a:Comment>
17805 17805
 <a:DataType>varchar(1)</a:DataType>
17806 17806
 <a:Length>1</a:Length>
17807 17807
 </o:Column>
17808 17808
 <o:Column Id="o1043">
17809
-<a:ObjectID>95D69A16-BEA6-4D93-AE71-BD1F110A4B26</a:ObjectID>
17810
-<a:Name>washing_machine</a:Name>
17811
-<a:Code>washing_machine</a:Code>
17812
-<a:CreationDate>1557307121</a:CreationDate>
17809
+<a:ObjectID>2DA64D7F-937A-462D-8887-C882BF3B10CD</a:ObjectID>
17810
+<a:Name>TV</a:Name>
17811
+<a:Code>TV</a:Code>
17812
+<a:CreationDate>1557818776</a:CreationDate>
17813 17813
 <a:Creator>szc</a:Creator>
17814
-<a:ModificationDate>1557307546</a:ModificationDate>
17814
+<a:ModificationDate>1557819511</a:ModificationDate>
17815 17815
 <a:Modifier>szc</a:Modifier>
17816
-<a:Comment> 洗衣机 1 有</a:Comment>
17816
+<a:Comment>电视 1有</a:Comment>
17817 17817
 <a:DataType>varchar(1)</a:DataType>
17818 17818
 <a:Length>1</a:Length>
17819 17819
 </o:Column>
17820 17820
 <o:Column Id="o1044">
17821
-<a:ObjectID>DD7E6C40-AD47-4864-AFFB-FBB0E8D9121B</a:ObjectID>
17822
-<a:Name>air_conditioning</a:Name>
17823
-<a:Code>air_conditioning</a:Code>
17824
-<a:CreationDate>1557307121</a:CreationDate>
17821
+<a:ObjectID>A9AA4CDC-CAA9-4524-B36F-93BDC87C4F0E</a:ObjectID>
17822
+<a:Name>smart_lock</a:Name>
17823
+<a:Code>smart_lock</a:Code>
17824
+<a:CreationDate>1557818776</a:CreationDate>
17825 17825
 <a:Creator>szc</a:Creator>
17826
-<a:ModificationDate>1557307546</a:ModificationDate>
17826
+<a:ModificationDate>1557819511</a:ModificationDate>
17827 17827
 <a:Modifier>szc</a:Modifier>
17828
-<a:Comment>空调 1 有</a:Comment>
17828
+<a:Comment>智能锁 1有</a:Comment>
17829 17829
 <a:DataType>varchar(1)</a:DataType>
17830 17830
 <a:Length>1</a:Length>
17831 17831
 </o:Column>
17832 17832
 <o:Column Id="o1045">
17833
-<a:ObjectID>8F69DF57-D61E-47AB-8E05-BB0EBB0B5139</a:ObjectID>
17834
-<a:Name>table_lamp</a:Name>
17835
-<a:Code>table_lamp</a:Code>
17833
+<a:ObjectID>BD673A93-F61B-4C96-BEAD-2283ACDFAF64</a:ObjectID>
17834
+<a:Name>water_heater</a:Name>
17835
+<a:Code>water_heater</a:Code>
17836 17836
 <a:CreationDate>1557307121</a:CreationDate>
17837 17837
 <a:Creator>szc</a:Creator>
17838 17838
 <a:ModificationDate>1557307546</a:ModificationDate>
17839 17839
 <a:Modifier>szc</a:Modifier>
17840
-<a:Comment>台灯 1 有</a:Comment>
17840
+<a:Comment>热水器 1 有</a:Comment>
17841 17841
 <a:DataType>varchar(1)</a:DataType>
17842 17842
 <a:Length>1</a:Length>
17843 17843
 </o:Column>
17844 17844
 <o:Column Id="o1046">
17845
+<a:ObjectID>02B389B0-AF1E-4E9F-9FC6-F23DC270B992</a:ObjectID>
17846
+<a:Name>desk</a:Name>
17847
+<a:Code>desk</a:Code>
17848
+<a:CreationDate>1557818776</a:CreationDate>
17849
+<a:Creator>szc</a:Creator>
17850
+<a:ModificationDate>1557819511</a:ModificationDate>
17851
+<a:Modifier>szc</a:Modifier>
17852
+<a:Comment>桌子 1 有</a:Comment>
17853
+<a:DataType>varchar(1)</a:DataType>
17854
+<a:Length>1</a:Length>
17855
+</o:Column>
17856
+<o:Column Id="o1047">
17857
+<a:ObjectID>4F881349-E1A5-4DE0-8010-BC61A8DF88A3</a:ObjectID>
17858
+<a:Name>chair</a:Name>
17859
+<a:Code>chair</a:Code>
17860
+<a:CreationDate>1557307121</a:CreationDate>
17861
+<a:Creator>szc</a:Creator>
17862
+<a:ModificationDate>1557307546</a:ModificationDate>
17863
+<a:Modifier>szc</a:Modifier>
17864
+<a:Comment>椅子 1 有</a:Comment>
17865
+<a:DataType>varchar(1)</a:DataType>
17866
+<a:Length>1</a:Length>
17867
+</o:Column>
17868
+<o:Column Id="o1048">
17845 17869
 <a:ObjectID>0A425DF5-5766-4069-BD6E-771C1676BB85</a:ObjectID>
17846 17870
 <a:Name>WiFi</a:Name>
17847 17871
 <a:Code>WiFi</a:Code>
@@ -17853,31 +17877,43 @@ LABL 0 新宋体,8,N</a:FontList>
17853 17877
 <a:DataType>varchar(1)</a:DataType>
17854 17878
 <a:Length>1</a:Length>
17855 17879
 </o:Column>
17856
-<o:Column Id="o1047">
17880
+<o:Column Id="o1049">
17881
+<a:ObjectID>8F69DF57-D61E-47AB-8E05-BB0EBB0B5139</a:ObjectID>
17882
+<a:Name>kitchen</a:Name>
17883
+<a:Code>kitchen</a:Code>
17884
+<a:CreationDate>1557307121</a:CreationDate>
17885
+<a:Creator>szc</a:Creator>
17886
+<a:ModificationDate>1557819511</a:ModificationDate>
17887
+<a:Modifier>szc</a:Modifier>
17888
+<a:Comment>厨房 1 有</a:Comment>
17889
+<a:DataType>varchar(1)</a:DataType>
17890
+<a:Length>1</a:Length>
17891
+</o:Column>
17892
+<o:Column Id="o1050">
17857 17893
 <a:ObjectID>5CA481DC-A4C9-4723-B1E5-43F84387D203</a:ObjectID>
17858
-<a:Name>microwave_oven</a:Name>
17859
-<a:Code>microwave_oven</a:Code>
17894
+<a:Name>bathroom</a:Name>
17895
+<a:Code>bathroom</a:Code>
17860 17896
 <a:CreationDate>1557307121</a:CreationDate>
17861 17897
 <a:Creator>szc</a:Creator>
17862
-<a:ModificationDate>1557307546</a:ModificationDate>
17898
+<a:ModificationDate>1557819544</a:ModificationDate>
17863 17899
 <a:Modifier>szc</a:Modifier>
17864
-<a:Comment>微波炉 1 有</a:Comment>
17900
+<a:Comment>独卫 1 有</a:Comment>
17865 17901
 <a:DataType>varchar(1)</a:DataType>
17866 17902
 <a:Length>1</a:Length>
17867 17903
 </o:Column>
17868
-<o:Column Id="o1048">
17904
+<o:Column Id="o1051">
17869 17905
 <a:ObjectID>8100898B-1949-4F10-B73D-47B3D94A8826</a:ObjectID>
17870
-<a:Name>natural_gas</a:Name>
17871
-<a:Code>natural_gas</a:Code>
17906
+<a:Name>balcony</a:Name>
17907
+<a:Code>balcony</a:Code>
17872 17908
 <a:CreationDate>1557307121</a:CreationDate>
17873 17909
 <a:Creator>szc</a:Creator>
17874
-<a:ModificationDate>1557307546</a:ModificationDate>
17910
+<a:ModificationDate>1557819511</a:ModificationDate>
17875 17911
 <a:Modifier>szc</a:Modifier>
17876
-<a:Comment>天然气 1 有</a:Comment>
17912
+<a:Comment>阳台 1 有</a:Comment>
17877 17913
 <a:DataType>varchar(1)</a:DataType>
17878 17914
 <a:Length>1</a:Length>
17879 17915
 </o:Column>
17880
-<o:Column Id="o1049">
17916
+<o:Column Id="o1052">
17881 17917
 <a:ObjectID>86966D69-2983-4EEE-B469-B2630F47E55E</a:ObjectID>
17882 17918
 <a:Name>create_date</a:Name>
17883 17919
 <a:Code>create_date</a:Code>
@@ -17888,7 +17924,7 @@ LABL 0 新宋体,8,N</a:FontList>
17888 17924
 <a:Comment>创建时间</a:Comment>
17889 17925
 <a:DataType>datetime</a:DataType>
17890 17926
 </o:Column>
17891
-<o:Column Id="o1050">
17927
+<o:Column Id="o1053">
17892 17928
 <a:ObjectID>0E612C68-BF9C-4454-889C-68B6A3CAF9CB</a:ObjectID>
17893 17929
 <a:Name>create_user</a:Name>
17894 17930
 <a:Code>create_user</a:Code>
@@ -17900,7 +17936,7 @@ LABL 0 新宋体,8,N</a:FontList>
17900 17936
 <a:DataType>int(11)</a:DataType>
17901 17937
 <a:Length>11</a:Length>
17902 17938
 </o:Column>
17903
-<o:Column Id="o1051">
17939
+<o:Column Id="o1054">
17904 17940
 <a:ObjectID>44888D0B-ED44-4152-A948-FE2738CD4730</a:ObjectID>
17905 17941
 <a:Name>update_date</a:Name>
17906 17942
 <a:Code>update_date</a:Code>
@@ -17911,7 +17947,7 @@ LABL 0 新宋体,8,N</a:FontList>
17911 17947
 <a:Comment>更新时间</a:Comment>
17912 17948
 <a:DataType>datetime</a:DataType>
17913 17949
 </o:Column>
17914
-<o:Column Id="o1052">
17950
+<o:Column Id="o1055">
17915 17951
 <a:ObjectID>9ACA9B2C-9A46-43EC-AB23-5DD83CED5EF2</a:ObjectID>
17916 17952
 <a:Name>update_user</a:Name>
17917 17953
 <a:Code>update_user</a:Code>
@@ -17925,7 +17961,7 @@ LABL 0 新宋体,8,N</a:FontList>
17925 17961
 </o:Column>
17926 17962
 </c:Columns>
17927 17963
 <c:Keys>
17928
-<o:Key Id="o1053">
17964
+<o:Key Id="o1056">
17929 17965
 <a:ObjectID>148EAD21-CFA4-42E6-9F44-C31E1C508685</a:ObjectID>
17930 17966
 <a:Name>Key_1</a:Name>
17931 17967
 <a:Code>Key_1</a:Code>
@@ -17939,7 +17975,7 @@ LABL 0 新宋体,8,N</a:FontList>
17939 17975
 </o:Key>
17940 17976
 </c:Keys>
17941 17977
 <c:PrimaryKey>
17942
-<o:Key Ref="o1053"/>
17978
+<o:Key Ref="o1056"/>
17943 17979
 </c:PrimaryKey>
17944 17980
 </o:Table>
17945 17981
 <o:Table Id="o253">
@@ -17953,7 +17989,7 @@ LABL 0 新宋体,8,N</a:FontList>
17953 17989
 <a:Comment>商铺图片</a:Comment>
17954 17990
 <a:TotalSavingCurrency/>
17955 17991
 <c:Columns>
17956
-<o:Column Id="o1054">
17992
+<o:Column Id="o1057">
17957 17993
 <a:ObjectID>92BB3B4E-28C8-452C-B070-4A0755DE3BBC</a:ObjectID>
17958 17994
 <a:Name>id</a:Name>
17959 17995
 <a:Code>id</a:Code>
@@ -17966,7 +18002,7 @@ LABL 0 新宋体,8,N</a:FontList>
17966 18002
 <a:Identity>1</a:Identity>
17967 18003
 <a:Column.Mandatory>1</a:Column.Mandatory>
17968 18004
 </o:Column>
17969
-<o:Column Id="o1055">
18005
+<o:Column Id="o1058">
17970 18006
 <a:ObjectID>21087CE1-7882-4A27-ACD7-E1579649B207</a:ObjectID>
17971 18007
 <a:Name>community_id</a:Name>
17972 18008
 <a:Code>community_id</a:Code>
@@ -17978,7 +18014,7 @@ LABL 0 新宋体,8,N</a:FontList>
17978 18014
 <a:DataType>int(11)</a:DataType>
17979 18015
 <a:Length>11</a:Length>
17980 18016
 </o:Column>
17981
-<o:Column Id="o1056">
18017
+<o:Column Id="o1059">
17982 18018
 <a:ObjectID>6B2B261C-902C-41CE-848E-FF27C66FE85B</a:ObjectID>
17983 18019
 <a:Name>shop_id</a:Name>
17984 18020
 <a:Code>shop_id</a:Code>
@@ -17990,7 +18026,7 @@ LABL 0 新宋体,8,N</a:FontList>
17990 18026
 <a:DataType>int(11)</a:DataType>
17991 18027
 <a:Length>11</a:Length>
17992 18028
 </o:Column>
17993
-<o:Column Id="o1057">
18029
+<o:Column Id="o1060">
17994 18030
 <a:ObjectID>1903CA52-9255-47A8-9B59-B8CA06D703E0</a:ObjectID>
17995 18031
 <a:Name>img_url</a:Name>
17996 18032
 <a:Code>img_url</a:Code>
@@ -18002,7 +18038,7 @@ LABL 0 新宋体,8,N</a:FontList>
18002 18038
 <a:DataType>varchar(255)</a:DataType>
18003 18039
 <a:Length>255</a:Length>
18004 18040
 </o:Column>
18005
-<o:Column Id="o1058">
18041
+<o:Column Id="o1061">
18006 18042
 <a:ObjectID>D12DC8AD-CF58-4DE5-A9DC-ABB63D349D13</a:ObjectID>
18007 18043
 <a:Name>img_type</a:Name>
18008 18044
 <a:Code>img_type</a:Code>
@@ -18014,7 +18050,7 @@ LABL 0 新宋体,8,N</a:FontList>
18014 18050
 <a:DataType>varchar(2)</a:DataType>
18015 18051
 <a:Length>2</a:Length>
18016 18052
 </o:Column>
18017
-<o:Column Id="o1059">
18053
+<o:Column Id="o1062">
18018 18054
 <a:ObjectID>5BC7B1D6-E34E-4473-9DF1-CA6240B1C23F</a:ObjectID>
18019 18055
 <a:Name>create_date</a:Name>
18020 18056
 <a:Code>create_date</a:Code>
@@ -18027,7 +18063,7 @@ LABL 0 新宋体,8,N</a:FontList>
18027 18063
 </o:Column>
18028 18064
 </c:Columns>
18029 18065
 <c:Keys>
18030
-<o:Key Id="o1060">
18066
+<o:Key Id="o1063">
18031 18067
 <a:ObjectID>6EEDA542-1E85-47A3-BC57-7C65558D93D0</a:ObjectID>
18032 18068
 <a:Name>Key_1</a:Name>
18033 18069
 <a:Code>Key_1</a:Code>
@@ -18036,12 +18072,12 @@ LABL 0 新宋体,8,N</a:FontList>
18036 18072
 <a:ModificationDate>1557304098</a:ModificationDate>
18037 18073
 <a:Modifier>szc</a:Modifier>
18038 18074
 <c:Key.Columns>
18039
-<o:Column Ref="o1054"/>
18075
+<o:Column Ref="o1057"/>
18040 18076
 </c:Key.Columns>
18041 18077
 </o:Key>
18042 18078
 </c:Keys>
18043 18079
 <c:PrimaryKey>
18044
-<o:Key Ref="o1060"/>
18080
+<o:Key Ref="o1063"/>
18045 18081
 </c:PrimaryKey>
18046 18082
 </o:Table>
18047 18083
 <o:Table Id="o255">
@@ -18055,7 +18091,7 @@ LABL 0 新宋体,8,N</a:FontList>
18055 18091
 <a:Comment>出租房间图片</a:Comment>
18056 18092
 <a:TotalSavingCurrency/>
18057 18093
 <c:Columns>
18058
-<o:Column Id="o1061">
18094
+<o:Column Id="o1064">
18059 18095
 <a:ObjectID>98ED7313-E915-44A1-9D4F-80F5BC057C88</a:ObjectID>
18060 18096
 <a:Name>id</a:Name>
18061 18097
 <a:Code>id</a:Code>
@@ -18068,7 +18104,7 @@ LABL 0 新宋体,8,N</a:FontList>
18068 18104
 <a:Identity>1</a:Identity>
18069 18105
 <a:Column.Mandatory>1</a:Column.Mandatory>
18070 18106
 </o:Column>
18071
-<o:Column Id="o1062">
18107
+<o:Column Id="o1065">
18072 18108
 <a:ObjectID>C9DD2C07-B914-4F63-AFCD-05FA9EEC9184</a:ObjectID>
18073 18109
 <a:Name>community_id</a:Name>
18074 18110
 <a:Code>community_id</a:Code>
@@ -18080,7 +18116,7 @@ LABL 0 新宋体,8,N</a:FontList>
18080 18116
 <a:DataType>int(11)</a:DataType>
18081 18117
 <a:Length>11</a:Length>
18082 18118
 </o:Column>
18083
-<o:Column Id="o1063">
18119
+<o:Column Id="o1066">
18084 18120
 <a:ObjectID>B557681C-3BC2-492A-9313-38454B3D480A</a:ObjectID>
18085 18121
 <a:Name>rental_house_id</a:Name>
18086 18122
 <a:Code>rental_house_id</a:Code>
@@ -18092,7 +18128,7 @@ LABL 0 新宋体,8,N</a:FontList>
18092 18128
 <a:DataType>int(11)</a:DataType>
18093 18129
 <a:Length>11</a:Length>
18094 18130
 </o:Column>
18095
-<o:Column Id="o1064">
18131
+<o:Column Id="o1067">
18096 18132
 <a:ObjectID>7EFF853D-17E5-459D-8942-60286B8BF991</a:ObjectID>
18097 18133
 <a:Name>img_url</a:Name>
18098 18134
 <a:Code>img_url</a:Code>
@@ -18104,7 +18140,7 @@ LABL 0 新宋体,8,N</a:FontList>
18104 18140
 <a:DataType>varchar(255)</a:DataType>
18105 18141
 <a:Length>255</a:Length>
18106 18142
 </o:Column>
18107
-<o:Column Id="o1065">
18143
+<o:Column Id="o1068">
18108 18144
 <a:ObjectID>986D1A7D-1053-4346-AD5C-D64AEE62DD3F</a:ObjectID>
18109 18145
 <a:Name>img_type</a:Name>
18110 18146
 <a:Code>img_type</a:Code>
@@ -18116,7 +18152,7 @@ LABL 0 新宋体,8,N</a:FontList>
18116 18152
 <a:DataType>varchar(2)</a:DataType>
18117 18153
 <a:Length>2</a:Length>
18118 18154
 </o:Column>
18119
-<o:Column Id="o1066">
18155
+<o:Column Id="o1069">
18120 18156
 <a:ObjectID>A094BD2C-60B5-4AC9-A98E-176D07F29C66</a:ObjectID>
18121 18157
 <a:Name>create_date</a:Name>
18122 18158
 <a:Code>create_date</a:Code>
@@ -18129,7 +18165,7 @@ LABL 0 新宋体,8,N</a:FontList>
18129 18165
 </o:Column>
18130 18166
 </c:Columns>
18131 18167
 <c:Keys>
18132
-<o:Key Id="o1067">
18168
+<o:Key Id="o1070">
18133 18169
 <a:ObjectID>F8E42723-01EE-48CA-B9B4-9B70D9EE52C2</a:ObjectID>
18134 18170
 <a:Name>Key_1</a:Name>
18135 18171
 <a:Code>Key_1</a:Code>
@@ -18138,12 +18174,12 @@ LABL 0 新宋体,8,N</a:FontList>
18138 18174
 <a:ModificationDate>1557307564</a:ModificationDate>
18139 18175
 <a:Modifier>szc</a:Modifier>
18140 18176
 <c:Key.Columns>
18141
-<o:Column Ref="o1061"/>
18177
+<o:Column Ref="o1064"/>
18142 18178
 </c:Key.Columns>
18143 18179
 </o:Key>
18144 18180
 </c:Keys>
18145 18181
 <c:PrimaryKey>
18146
-<o:Key Ref="o1067"/>
18182
+<o:Key Ref="o1070"/>
18147 18183
 </c:PrimaryKey>
18148 18184
 </o:Table>
18149 18185
 <o:Table Id="o256">
@@ -18157,7 +18193,7 @@ LABL 0 新宋体,8,N</a:FontList>
18157 18193
 <a:Comment>用户车牌号表</a:Comment>
18158 18194
 <a:TotalSavingCurrency/>
18159 18195
 <c:Columns>
18160
-<o:Column Id="o1068">
18196
+<o:Column Id="o1071">
18161 18197
 <a:ObjectID>2ADC4DD9-6B52-46D7-80A7-0B269251996F</a:ObjectID>
18162 18198
 <a:Name>id</a:Name>
18163 18199
 <a:Code>id</a:Code>
@@ -18170,7 +18206,7 @@ LABL 0 新宋体,8,N</a:FontList>
18170 18206
 <a:Identity>1</a:Identity>
18171 18207
 <a:Column.Mandatory>1</a:Column.Mandatory>
18172 18208
 </o:Column>
18173
-<o:Column Id="o1069">
18209
+<o:Column Id="o1072">
18174 18210
 <a:ObjectID>B2476244-EFC3-4FF8-A728-50D1941D12BB</a:ObjectID>
18175 18211
 <a:Name>community_id</a:Name>
18176 18212
 <a:Code>community_id</a:Code>
@@ -18182,7 +18218,7 @@ LABL 0 新宋体,8,N</a:FontList>
18182 18218
 <a:DataType>int(11)</a:DataType>
18183 18219
 <a:Length>11</a:Length>
18184 18220
 </o:Column>
18185
-<o:Column Id="o1070">
18221
+<o:Column Id="o1073">
18186 18222
 <a:ObjectID>D4FE9889-F81C-40A2-9777-99934795E873</a:ObjectID>
18187 18223
 <a:Name>ta_user_id</a:Name>
18188 18224
 <a:Code>ta_user_id</a:Code>
@@ -18194,7 +18230,7 @@ LABL 0 新宋体,8,N</a:FontList>
18194 18230
 <a:DataType>int(11)</a:DataType>
18195 18231
 <a:Length>11</a:Length>
18196 18232
 </o:Column>
18197
-<o:Column Id="o1071">
18233
+<o:Column Id="o1074">
18198 18234
 <a:ObjectID>9AF156AE-3592-4A2F-ADD4-AF7D94A024F2</a:ObjectID>
18199 18235
 <a:Name>license_plate</a:Name>
18200 18236
 <a:Code>license_plate</a:Code>
@@ -18206,7 +18242,7 @@ LABL 0 新宋体,8,N</a:FontList>
18206 18242
 <a:DataType>varchar(255)</a:DataType>
18207 18243
 <a:Length>255</a:Length>
18208 18244
 </o:Column>
18209
-<o:Column Id="o1072">
18245
+<o:Column Id="o1075">
18210 18246
 <a:ObjectID>4AF2667F-B53D-4CAB-9DF9-7388FD52766D</a:ObjectID>
18211 18247
 <a:Name>order_number</a:Name>
18212 18248
 <a:Code>order_number</a:Code>
@@ -18218,7 +18254,7 @@ LABL 0 新宋体,8,N</a:FontList>
18218 18254
 <a:DataType>varchar(255)</a:DataType>
18219 18255
 <a:Length>255</a:Length>
18220 18256
 </o:Column>
18221
-<o:Column Id="o1073">
18257
+<o:Column Id="o1076">
18222 18258
 <a:ObjectID>33679CF5-35FC-4B38-9BFA-D008AFEB89C3</a:ObjectID>
18223 18259
 <a:Name>expire_date</a:Name>
18224 18260
 <a:Code>expire_date</a:Code>
@@ -18229,7 +18265,7 @@ LABL 0 新宋体,8,N</a:FontList>
18229 18265
 <a:Comment>到期时间</a:Comment>
18230 18266
 <a:DataType>datetime</a:DataType>
18231 18267
 </o:Column>
18232
-<o:Column Id="o1074">
18268
+<o:Column Id="o1077">
18233 18269
 <a:ObjectID>57CE5A0C-2BD4-4B1F-AED4-D8FFB7C53768</a:ObjectID>
18234 18270
 <a:Name>unit_price</a:Name>
18235 18271
 <a:Code>unit_price</a:Code>
@@ -18241,7 +18277,7 @@ LABL 0 新宋体,8,N</a:FontList>
18241 18277
 <a:DataType>varchar(255)</a:DataType>
18242 18278
 <a:Length>255</a:Length>
18243 18279
 </o:Column>
18244
-<o:Column Id="o1075">
18280
+<o:Column Id="o1078">
18245 18281
 <a:ObjectID>593C14C2-DC52-447D-9901-15585EB3D25E</a:ObjectID>
18246 18282
 <a:Name>parking_lot</a:Name>
18247 18283
 <a:Code>parking_lot</a:Code>
@@ -18253,7 +18289,7 @@ LABL 0 新宋体,8,N</a:FontList>
18253 18289
 <a:DataType>varchar(255)</a:DataType>
18254 18290
 <a:Length>255</a:Length>
18255 18291
 </o:Column>
18256
-<o:Column Id="o1076">
18292
+<o:Column Id="o1079">
18257 18293
 <a:ObjectID>B11B597D-C188-4F86-B983-1247AAC74386</a:ObjectID>
18258 18294
 <a:Name>renew_time</a:Name>
18259 18295
 <a:Code>renew_time</a:Code>
@@ -18265,7 +18301,7 @@ LABL 0 新宋体,8,N</a:FontList>
18265 18301
 <a:DataType>int(11)</a:DataType>
18266 18302
 <a:Length>11</a:Length>
18267 18303
 </o:Column>
18268
-<o:Column Id="o1077">
18304
+<o:Column Id="o1080">
18269 18305
 <a:ObjectID>B9A4F75B-5600-4E03-97CA-F52659AF4566</a:ObjectID>
18270 18306
 <a:Name>license_type</a:Name>
18271 18307
 <a:Code>license_type</a:Code>
@@ -18277,7 +18313,7 @@ LABL 0 新宋体,8,N</a:FontList>
18277 18313
 <a:DataType>int(11)</a:DataType>
18278 18314
 <a:Length>11</a:Length>
18279 18315
 </o:Column>
18280
-<o:Column Id="o1078">
18316
+<o:Column Id="o1081">
18281 18317
 <a:ObjectID>00FA4FFC-5A5F-4873-881A-EA8B4C2639BD</a:ObjectID>
18282 18318
 <a:Name>create_date</a:Name>
18283 18319
 <a:Code>create_date</a:Code>
@@ -18288,7 +18324,7 @@ LABL 0 新宋体,8,N</a:FontList>
18288 18324
 <a:Comment>创建时间</a:Comment>
18289 18325
 <a:DataType>datetime</a:DataType>
18290 18326
 </o:Column>
18291
-<o:Column Id="o1079">
18327
+<o:Column Id="o1082">
18292 18328
 <a:ObjectID>C3559530-E9AA-4BB9-A794-582963C4A4BF</a:ObjectID>
18293 18329
 <a:Name>create_user</a:Name>
18294 18330
 <a:Code>create_user</a:Code>
@@ -18300,7 +18336,7 @@ LABL 0 新宋体,8,N</a:FontList>
18300 18336
 <a:DataType>int(11)</a:DataType>
18301 18337
 <a:Length>11</a:Length>
18302 18338
 </o:Column>
18303
-<o:Column Id="o1080">
18339
+<o:Column Id="o1083">
18304 18340
 <a:ObjectID>AD4AC6D5-678E-49FC-93B0-BB84F617CD00</a:ObjectID>
18305 18341
 <a:Name>update_date</a:Name>
18306 18342
 <a:Code>update_date</a:Code>
@@ -18311,7 +18347,7 @@ LABL 0 新宋体,8,N</a:FontList>
18311 18347
 <a:Comment>更新时间</a:Comment>
18312 18348
 <a:DataType>datetime</a:DataType>
18313 18349
 </o:Column>
18314
-<o:Column Id="o1081">
18350
+<o:Column Id="o1084">
18315 18351
 <a:ObjectID>85836F40-5F4D-4AB8-9DC7-2345ED8AE5DA</a:ObjectID>
18316 18352
 <a:Name>update_user</a:Name>
18317 18353
 <a:Code>update_user</a:Code>
@@ -18325,7 +18361,7 @@ LABL 0 新宋体,8,N</a:FontList>
18325 18361
 </o:Column>
18326 18362
 </c:Columns>
18327 18363
 <c:Keys>
18328
-<o:Key Id="o1082">
18364
+<o:Key Id="o1085">
18329 18365
 <a:ObjectID>63206026-120F-43C3-AF49-7BF7198EAA64</a:ObjectID>
18330 18366
 <a:Name>Key_1</a:Name>
18331 18367
 <a:Code>Key_1</a:Code>
@@ -18334,12 +18370,12 @@ LABL 0 新宋体,8,N</a:FontList>
18334 18370
 <a:ModificationDate>1557367718</a:ModificationDate>
18335 18371
 <a:Modifier>szc</a:Modifier>
18336 18372
 <c:Key.Columns>
18337
-<o:Column Ref="o1068"/>
18373
+<o:Column Ref="o1071"/>
18338 18374
 </c:Key.Columns>
18339 18375
 </o:Key>
18340 18376
 </c:Keys>
18341 18377
 <c:PrimaryKey>
18342
-<o:Key Ref="o1082"/>
18378
+<o:Key Ref="o1085"/>
18343 18379
 </c:PrimaryKey>
18344 18380
 </o:Table>
18345 18381
 <o:Table Id="o257">
@@ -18353,7 +18389,7 @@ LABL 0 新宋体,8,N</a:FontList>
18353 18389
 <a:Comment>月租车缴费订单表</a:Comment>
18354 18390
 <a:TotalSavingCurrency/>
18355 18391
 <c:Columns>
18356
-<o:Column Id="o1083">
18392
+<o:Column Id="o1086">
18357 18393
 <a:ObjectID>08F36182-AB22-433F-8F51-E805E2ACC919</a:ObjectID>
18358 18394
 <a:Name>id</a:Name>
18359 18395
 <a:Code>id</a:Code>
@@ -18366,7 +18402,7 @@ LABL 0 新宋体,8,N</a:FontList>
18366 18402
 <a:Identity>1</a:Identity>
18367 18403
 <a:Column.Mandatory>1</a:Column.Mandatory>
18368 18404
 </o:Column>
18369
-<o:Column Id="o1084">
18405
+<o:Column Id="o1087">
18370 18406
 <a:ObjectID>45D65D52-E45F-466F-B13D-4BAB7431D881</a:ObjectID>
18371 18407
 <a:Name>community_id</a:Name>
18372 18408
 <a:Code>community_id</a:Code>
@@ -18378,7 +18414,7 @@ LABL 0 新宋体,8,N</a:FontList>
18378 18414
 <a:DataType>int(11)</a:DataType>
18379 18415
 <a:Length>11</a:Length>
18380 18416
 </o:Column>
18381
-<o:Column Id="o1085">
18417
+<o:Column Id="o1088">
18382 18418
 <a:ObjectID>80318F85-BB20-4024-9998-D987A98B2C8F</a:ObjectID>
18383 18419
 <a:Name>user_license_id</a:Name>
18384 18420
 <a:Code>ta_user_id</a:Code>
@@ -18390,7 +18426,7 @@ LABL 0 新宋体,8,N</a:FontList>
18390 18426
 <a:DataType>int(11)</a:DataType>
18391 18427
 <a:Length>11</a:Length>
18392 18428
 </o:Column>
18393
-<o:Column Id="o1086">
18429
+<o:Column Id="o1089">
18394 18430
 <a:ObjectID>63010136-6F76-4F2E-970D-D599445EE9B0</a:ObjectID>
18395 18431
 <a:Name>order_number</a:Name>
18396 18432
 <a:Code>order_number</a:Code>
@@ -18402,7 +18438,7 @@ LABL 0 新宋体,8,N</a:FontList>
18402 18438
 <a:DataType>varchar(255)</a:DataType>
18403 18439
 <a:Length>255</a:Length>
18404 18440
 </o:Column>
18405
-<o:Column Id="o1087">
18441
+<o:Column Id="o1090">
18406 18442
 <a:ObjectID>D575E6DD-CE84-4ED5-8208-C3C936932B7B</a:ObjectID>
18407 18443
 <a:Name>order_status</a:Name>
18408 18444
 <a:Code>order_status</a:Code>
@@ -18414,7 +18450,7 @@ LABL 0 新宋体,8,N</a:FontList>
18414 18450
 <a:DataType>varchar(255)</a:DataType>
18415 18451
 <a:Length>255</a:Length>
18416 18452
 </o:Column>
18417
-<o:Column Id="o1088">
18453
+<o:Column Id="o1091">
18418 18454
 <a:ObjectID>2D0B1C89-FCE7-43EB-9E46-3814A128EAA1</a:ObjectID>
18419 18455
 <a:Name>create_user</a:Name>
18420 18456
 <a:Code>create_user</a:Code>
@@ -18426,7 +18462,7 @@ LABL 0 新宋体,8,N</a:FontList>
18426 18462
 <a:DataType>int(11)</a:DataType>
18427 18463
 <a:Length>11</a:Length>
18428 18464
 </o:Column>
18429
-<o:Column Id="o1089">
18465
+<o:Column Id="o1092">
18430 18466
 <a:ObjectID>A1476C8B-868D-4B30-ACD0-08C86C003A27</a:ObjectID>
18431 18467
 <a:Name>create_date</a:Name>
18432 18468
 <a:Code>create_date</a:Code>
@@ -18437,7 +18473,7 @@ LABL 0 新宋体,8,N</a:FontList>
18437 18473
 <a:Comment>创建时间</a:Comment>
18438 18474
 <a:DataType>datetime</a:DataType>
18439 18475
 </o:Column>
18440
-<o:Column Id="o1090">
18476
+<o:Column Id="o1093">
18441 18477
 <a:ObjectID>BE3B494A-E8E4-421E-A871-FD700644271F</a:ObjectID>
18442 18478
 <a:Name>update_user</a:Name>
18443 18479
 <a:Code>update_user</a:Code>
@@ -18449,7 +18485,7 @@ LABL 0 新宋体,8,N</a:FontList>
18449 18485
 <a:DataType>int(11)</a:DataType>
18450 18486
 <a:Length>11</a:Length>
18451 18487
 </o:Column>
18452
-<o:Column Id="o1091">
18488
+<o:Column Id="o1094">
18453 18489
 <a:ObjectID>A34F3B8C-7F9A-41ED-BD96-44A95D08C547</a:ObjectID>
18454 18490
 <a:Name>update_date</a:Name>
18455 18491
 <a:Code>update_date</a:Code>
@@ -18460,7 +18496,7 @@ LABL 0 新宋体,8,N</a:FontList>
18460 18496
 <a:Comment>更新时间</a:Comment>
18461 18497
 <a:DataType>datetime</a:DataType>
18462 18498
 </o:Column>
18463
-<o:Column Id="o1092">
18499
+<o:Column Id="o1095">
18464 18500
 <a:ObjectID>8EA7049C-94A1-453E-B283-8E79F440BCEB</a:ObjectID>
18465 18501
 <a:Name>extension_month</a:Name>
18466 18502
 <a:Code>extension_month</a:Code>
@@ -18472,7 +18508,7 @@ LABL 0 新宋体,8,N</a:FontList>
18472 18508
 <a:DataType>int(11)</a:DataType>
18473 18509
 <a:Length>11</a:Length>
18474 18510
 </o:Column>
18475
-<o:Column Id="o1093">
18511
+<o:Column Id="o1096">
18476 18512
 <a:ObjectID>749D6A1D-5072-45E8-9826-22579FD72F1F</a:ObjectID>
18477 18513
 <a:Name>extension_price</a:Name>
18478 18514
 <a:Code>extension_price</a:Code>
@@ -18484,7 +18520,7 @@ LABL 0 新宋体,8,N</a:FontList>
18484 18520
 <a:DataType>varchar(255)</a:DataType>
18485 18521
 <a:Length>255</a:Length>
18486 18522
 </o:Column>
18487
-<o:Column Id="o1094">
18523
+<o:Column Id="o1097">
18488 18524
 <a:ObjectID>E0395793-A050-4735-96E3-F17749B36CEC</a:ObjectID>
18489 18525
 <a:Name>payment_tel</a:Name>
18490 18526
 <a:Code>payment_tel</a:Code>
@@ -18496,7 +18532,7 @@ LABL 0 新宋体,8,N</a:FontList>
18496 18532
 <a:DataType>varchar(255)</a:DataType>
18497 18533
 <a:Length>255</a:Length>
18498 18534
 </o:Column>
18499
-<o:Column Id="o1095">
18535
+<o:Column Id="o1098">
18500 18536
 <a:ObjectID>3D0DBFAF-ACCA-4178-AEC7-478CABDABE68</a:ObjectID>
18501 18537
 <a:Name>payment_name</a:Name>
18502 18538
 <a:Code>payment_name</a:Code>
@@ -18508,7 +18544,7 @@ LABL 0 新宋体,8,N</a:FontList>
18508 18544
 <a:DataType>varchar(255)</a:DataType>
18509 18545
 <a:Length>255</a:Length>
18510 18546
 </o:Column>
18511
-<o:Column Id="o1096">
18547
+<o:Column Id="o1099">
18512 18548
 <a:ObjectID>2C17C691-0E31-4CD5-A8A7-5D326BB722F7</a:ObjectID>
18513 18549
 <a:Name>payment_type</a:Name>
18514 18550
 <a:Code>payment_type</a:Code>
@@ -18520,7 +18556,7 @@ LABL 0 新宋体,8,N</a:FontList>
18520 18556
 <a:DataType>varchar(2)</a:DataType>
18521 18557
 <a:Length>2</a:Length>
18522 18558
 </o:Column>
18523
-<o:Column Id="o1097">
18559
+<o:Column Id="o1100">
18524 18560
 <a:ObjectID>431D00B1-22B7-4183-9E3C-8DC9222B68A9</a:ObjectID>
18525 18561
 <a:Name>expire_date</a:Name>
18526 18562
 <a:Code>expire_date</a:Code>
@@ -18531,7 +18567,7 @@ LABL 0 新宋体,8,N</a:FontList>
18531 18567
 <a:Comment>到期时间</a:Comment>
18532 18568
 <a:DataType>datetime</a:DataType>
18533 18569
 </o:Column>
18534
-<o:Column Id="o1098">
18570
+<o:Column Id="o1101">
18535 18571
 <a:ObjectID>9D078A47-1407-4881-9BAC-287FC15BBEB6</a:ObjectID>
18536 18572
 <a:Name>unit_price</a:Name>
18537 18573
 <a:Code>unit_price</a:Code>
@@ -18543,7 +18579,7 @@ LABL 0 新宋体,8,N</a:FontList>
18543 18579
 <a:DataType>varchar(255)</a:DataType>
18544 18580
 <a:Length>255</a:Length>
18545 18581
 </o:Column>
18546
-<o:Column Id="o1099">
18582
+<o:Column Id="o1102">
18547 18583
 <a:ObjectID>F78B78EC-E859-47C1-AC9D-A3E1B0CBA926</a:ObjectID>
18548 18584
 <a:Name>parking_lot</a:Name>
18549 18585
 <a:Code>parking_lot</a:Code>
@@ -18555,7 +18591,7 @@ LABL 0 新宋体,8,N</a:FontList>
18555 18591
 <a:DataType>varchar(255)</a:DataType>
18556 18592
 <a:Length>255</a:Length>
18557 18593
 </o:Column>
18558
-<o:Column Id="o1100">
18594
+<o:Column Id="o1103">
18559 18595
 <a:ObjectID>9273BE9C-B9DC-4C92-AA4D-018829225523</a:ObjectID>
18560 18596
 <a:Name>license_plate</a:Name>
18561 18597
 <a:Code>license_plate</a:Code>
@@ -18569,7 +18605,7 @@ LABL 0 新宋体,8,N</a:FontList>
18569 18605
 </o:Column>
18570 18606
 </c:Columns>
18571 18607
 <c:Keys>
18572
-<o:Key Id="o1101">
18608
+<o:Key Id="o1104">
18573 18609
 <a:ObjectID>F57D4E18-1528-44BD-BEBB-4680F3D77BDA</a:ObjectID>
18574 18610
 <a:Name>Key_1</a:Name>
18575 18611
 <a:Code>Key_1</a:Code>
@@ -18578,12 +18614,12 @@ LABL 0 新宋体,8,N</a:FontList>
18578 18614
 <a:ModificationDate>1557372945</a:ModificationDate>
18579 18615
 <a:Modifier>szc</a:Modifier>
18580 18616
 <c:Key.Columns>
18581
-<o:Column Ref="o1083"/>
18617
+<o:Column Ref="o1086"/>
18582 18618
 </c:Key.Columns>
18583 18619
 </o:Key>
18584 18620
 </c:Keys>
18585 18621
 <c:PrimaryKey>
18586
-<o:Key Ref="o1101"/>
18622
+<o:Key Ref="o1104"/>
18587 18623
 </c:PrimaryKey>
18588 18624
 </o:Table>
18589 18625
 <o:Table Id="o259">
@@ -18597,7 +18633,7 @@ LABL 0 新宋体,8,N</a:FontList>
18597 18633
 <a:Comment>app端版本号</a:Comment>
18598 18634
 <a:TotalSavingCurrency/>
18599 18635
 <c:Columns>
18600
-<o:Column Id="o1102">
18636
+<o:Column Id="o1105">
18601 18637
 <a:ObjectID>A9874095-1A7A-41B3-BDAA-89FF219B226F</a:ObjectID>
18602 18638
 <a:Name>id</a:Name>
18603 18639
 <a:Code>id</a:Code>
@@ -18609,7 +18645,7 @@ LABL 0 新宋体,8,N</a:FontList>
18609 18645
 <a:Length>11</a:Length>
18610 18646
 <a:Column.Mandatory>1</a:Column.Mandatory>
18611 18647
 </o:Column>
18612
-<o:Column Id="o1103">
18648
+<o:Column Id="o1106">
18613 18649
 <a:ObjectID>946CB4DD-6B85-465A-895E-5E8A8F2BA7C3</a:ObjectID>
18614 18650
 <a:Name>client_version</a:Name>
18615 18651
 <a:Code>client_version</a:Code>
@@ -18621,7 +18657,7 @@ LABL 0 新宋体,8,N</a:FontList>
18621 18657
 <a:DataType>varchar(255)</a:DataType>
18622 18658
 <a:Length>255</a:Length>
18623 18659
 </o:Column>
18624
-<o:Column Id="o1104">
18660
+<o:Column Id="o1107">
18625 18661
 <a:ObjectID>BDFD3026-FC17-4D03-A503-7AF3A37592A5</a:ObjectID>
18626 18662
 <a:Name>service_version</a:Name>
18627 18663
 <a:Code>service_version</a:Code>
@@ -18633,7 +18669,7 @@ LABL 0 新宋体,8,N</a:FontList>
18633 18669
 <a:DataType>varchar(255)</a:DataType>
18634 18670
 <a:Length>255</a:Length>
18635 18671
 </o:Column>
18636
-<o:Column Id="o1105">
18672
+<o:Column Id="o1108">
18637 18673
 <a:ObjectID>3D77C63D-552E-4815-8BBB-148013A10319</a:ObjectID>
18638 18674
 <a:Name>type</a:Name>
18639 18675
 <a:Code>type</a:Code>
@@ -18645,7 +18681,7 @@ LABL 0 新宋体,8,N</a:FontList>
18645 18681
 <a:DataType>varchar(255)</a:DataType>
18646 18682
 <a:Length>255</a:Length>
18647 18683
 </o:Column>
18648
-<o:Column Id="o1106">
18684
+<o:Column Id="o1109">
18649 18685
 <a:ObjectID>1414BD13-AA8D-4144-BA19-810AED96EE55</a:ObjectID>
18650 18686
 <a:Name>update_address</a:Name>
18651 18687
 <a:Code>update_address</a:Code>
@@ -18659,7 +18695,7 @@ LABL 0 新宋体,8,N</a:FontList>
18659 18695
 </o:Column>
18660 18696
 </c:Columns>
18661 18697
 <c:Keys>
18662
-<o:Key Id="o1107">
18698
+<o:Key Id="o1110">
18663 18699
 <a:ObjectID>81BA3F75-E9E6-4FF0-BC41-4D8BAF735EDC</a:ObjectID>
18664 18700
 <a:Name>Key_1</a:Name>
18665 18701
 <a:Code>Key_1</a:Code>
@@ -18668,17 +18704,17 @@ LABL 0 新宋体,8,N</a:FontList>
18668 18704
 <a:ModificationDate>1557800616</a:ModificationDate>
18669 18705
 <a:Modifier>szc</a:Modifier>
18670 18706
 <c:Key.Columns>
18671
-<o:Column Ref="o1102"/>
18707
+<o:Column Ref="o1105"/>
18672 18708
 </c:Key.Columns>
18673 18709
 </o:Key>
18674 18710
 </c:Keys>
18675 18711
 <c:PrimaryKey>
18676
-<o:Key Ref="o1107"/>
18712
+<o:Key Ref="o1110"/>
18677 18713
 </c:PrimaryKey>
18678 18714
 </o:Table>
18679 18715
 </c:Tables>
18680 18716
 <c:DefaultGroups>
18681
-<o:Group Id="o1108">
18717
+<o:Group Id="o1111">
18682 18718
 <a:ObjectID>9FAF56B5-A351-488F-9A3B-D4A944CD4081</a:ObjectID>
18683 18719
 <a:Name>PUBLIC</a:Name>
18684 18720
 <a:Code>PUBLIC</a:Code>
@@ -19341,7 +19377,7 @@ LABL 0 新宋体,8,N</a:FontList>
19341 19377
 </o:ExtendedDependency>
19342 19378
 </c:ChildTraceabilityLinks>
19343 19379
 <c:TargetModels>
19344
-<o:TargetModel Id="o1109">
19380
+<o:TargetModel Id="o1112">
19345 19381
 <a:ObjectID>B86EB932-C352-4174-86E4-2D2B1DDE4A45</a:ObjectID>
19346 19382
 <a:Name>MySQL 5.0</a:Name>
19347 19383
 <a:Code>MYSQL50</a:Code>