Răsfoiți Sursa

1、住户人脸表单编辑更新
2、人脸下发bug修复

wenxgdev 5 ani în urmă
părinte
comite
8deac23008

+ 1 - 0
sptg-config/src/main/resources/conf/application.yml

@@ -17,6 +17,7 @@ spring:
     host: ${mvn.spring.redis.host}
     port: ${mvn.spring.redis.port}
     password: ${mvn.spring.redis.password}
+    database: 2
   # RabbitMq配置
   rabbitmq:
     host: ${mvn.spring.rabbitmq.host}

+ 6 - 0
sptg-estate/sptg-estate-api/src/main/java/com/sptg/estate/api/entity/User.java

@@ -263,6 +263,12 @@ public class User extends BaseUser {
     @TableField(value = "i_cert_type")
     private Integer certType;
 
+    /**
+     * 是否国内,1:国内,2:国外
+     */
+    @TableField(value = "i_abroad")
+    private Integer abroad;
+
     /**
      * 证件有效期
      */

+ 1 - 1
sptg-estate/sptg-estate-biz/src/main/java/com/sptg/estate/biz/service/impl/UserServiceImpl.java

@@ -786,7 +786,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                 user.setImageUri(userDto.getImageUri());
                 user.setFaceCode(userDto.getFaceCode());
                 user.setCreateFaceImageType(OperationConstant.ONE);
-                user.setFaceEnable(OperationConstant.ONE);
+//                user.setFaceEnable(OperationConstant.ONE);
                 if (this.updateById(user)) {
                     residential.setUserFaceNumber(residential.getUserNumber()+1);
                     if(this.residentialServiceInterface.updateById(residential)){

+ 1 - 0
sptg-estate/sptg-estate-biz/src/main/resources/mapper/UserMapper.xml

@@ -49,6 +49,7 @@
         <result column="s_file_image_uri" property="fileImageUri"/>
         <result column="i_cert_type" property="certType"/>
         <result column="t_valid_date" property="validDate"/>
+        <result column="i_abroad" property="abroad"/>
         <!--门禁卡-->
         <result column="s_card_no" property="cardNo"/>
     </resultMap>

+ 12 - 0
sptg-gateway/sptg-housekeeper-gateway/src/main/java/com/sptg/gateway/controller/estate/UserController.java

@@ -26,6 +26,8 @@ import com.sptg.statistics.api.constant.SysLogMenuConstant;
 import com.sptg.statistics.api.entity.SysOperationLog;
 import com.sptg.statistics.api.feigns.SysOperationLogFeign;
 import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.util.Assert;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
@@ -390,6 +392,16 @@ public class UserController {
     @PostMapping(value = "/addUser")
     @Security(token = EstateSecurityToken.ESTATE_USER_ADD,format = DataFormatEnum.JSON)
     public ResultBean<Boolean> addUser(UserDto userDto){
+        if(userDto.getAbroad() != null){
+            if(userDto.getAbroad() == OperationConstant.ONE){
+                Assert.isTrue(StringUtils.isNotBlank(userDto.getName()), "中文姓名不能为空");
+            }else if(userDto.getAbroad() == OperationConstant.TWO){
+                Assert.isTrue(StringUtils.isNotBlank(userDto.getEngFirstName()), "英文名不能为空");
+                Assert.isTrue(StringUtils.isNotBlank(userDto.getEngLastName()), "英文姓不能为空");
+            }
+        }else{
+            Assert.isTrue(StringUtils.isNotBlank(userDto.getName()), "中文姓名不能为空");
+        }
         Account onLineUser = this.securityServiceInterface.getOnLineUser();
         userDto.setCreateId(onLineUser.getId());
         //后台录入

+ 23 - 1
sptg-gateway/sptg-housekeeper-gateway/src/main/resources/static/js/estate/user-add.js

@@ -711,7 +711,29 @@ layui.extend({
             name: 'dictValue',
             value: 'dictKey',
         },
-        on: function (data) {},
+        on: function (data) {
+            var reg = new RegExp("中国");
+            let dictValue = data.arr[0].dictValue;
+            if(dictValue.match(reg)){
+                console.log("【国内】" + dictValue);
+                $('#abroadInput')[0].value = 1;
+                $('#engLastNameSpan')[0].style.visibility = "hidden";
+                $('#engFirstNameSpan')[0].style.visibility = "hidden";
+                $('#chineseNameSpan')[0].style.visibility = "visible";
+                $('#engLastNameInput')[0].removeAttribute("lay-verify");
+                $('#engFirstNameInput')[0].removeAttribute("lay-verify");
+                $('#chineseNameInput')[0].setAttribute("lay-verify", "required|specialCharacters|length");
+            }else{
+                console.log("【国外】" + dictValue);
+                $('#abroadInput')[0].value = 2;
+                $('#chineseNameSpan')[0].style.visibility = "hidden";
+                $('#engLastNameSpan')[0].style.visibility = "visible";
+                $('#engFirstNameSpan')[0].style.visibility = "visible";
+                $('#chineseNameInput')[0].removeAttribute("lay-verify");
+                $('#engLastNameInput')[0].setAttribute("lay-verify", "required");
+                $('#engFirstNameInput')[0].setAttribute("lay-verify", "required");
+            }
+        },
         model: {
             label: {
                 type: 'text',

+ 49 - 3
sptg-gateway/sptg-housekeeper-gateway/src/main/resources/static/js/estate/user-edit.js

@@ -86,6 +86,27 @@ layui.extend({
         url: '/permissions/dict/getByCode/country',
         success: function (result) {
             countryDic.update({data:result.list}).setValue([$('#countryValue').val()])
+            let countryValue = $('#countryValue').val();
+            var reg = new RegExp("China|Hong Kong|Macao|Taiwan");
+            if(countryValue.match(reg)){
+                console.log("【国内】" + countryValue);
+                $('#abroadInput')[0].value = 1;
+                $('#engLastNameSpan')[0].style.visibility = "hidden";
+                $('#engFirstNameSpan')[0].style.visibility = "hidden";
+                $('#chineseNameSpan')[0].style.visibility = "visible";
+                $('#engLastNameInput')[0].removeAttribute("lay-verify");
+                $('#engFirstNameInput')[0].removeAttribute("lay-verify");
+                $('#chineseNameInput')[0].setAttribute("lay-verify", "required|specialCharacters|length");
+            }else{
+                console.log("【国外】" + countryValue);
+                $('#abroadInput')[0].value = 2;
+                $('#chineseNameSpan')[0].style.visibility = "hidden";
+                $('#engLastNameSpan')[0].style.visibility = "visible";
+                $('#engFirstNameSpan')[0].style.visibility = "visible";
+                $('#chineseNameInput')[0].removeAttribute("lay-verify");
+                $('#engLastNameInput')[0].setAttribute("lay-verify", "required");
+                $('#engFirstNameInput')[0].setAttribute("lay-verify", "required");
+            }
         },
     });
     var countryDic = xmSelect.render({
@@ -98,7 +119,30 @@ layui.extend({
             name: 'dictValue',
             value: 'dictKey',
         },
-        on: function (data) {},
+        on: function (data) {
+            debugger
+            var reg = new RegExp("中国");
+            let dictValue = data.arr[0].dictValue;
+            if(dictValue.match(reg)){
+                console.log("【国内】" + dictValue);
+                $('#abroadInput')[0].value = 1;
+                $('#engLastNameSpan')[0].style.visibility = "hidden";
+                $('#engFirstNameSpan')[0].style.visibility = "hidden";
+                $('#chineseNameSpan')[0].style.visibility = "visible";
+                $('#engLastNameInput')[0].removeAttribute("lay-verify");
+                $('#engFirstNameInput')[0].removeAttribute("lay-verify");
+                $('#chineseNameInput')[0].setAttribute("lay-verify", "required|specialCharacters|length");
+            }else{
+                console.log("【国外】" + dictValue);
+                $('#abroadInput')[0].value = 2;
+                $('#chineseNameSpan')[0].style.visibility = "hidden";
+                $('#engLastNameSpan')[0].style.visibility = "visible";
+                $('#engFirstNameSpan')[0].style.visibility = "visible";
+                $('#chineseNameInput')[0].removeAttribute("lay-verify");
+                $('#engLastNameInput')[0].setAttribute("lay-verify", "required");
+                $('#engFirstNameInput')[0].setAttribute("lay-verify", "required");
+            }
+        },
         model: {
             label: {
                 type: 'text',
@@ -327,8 +371,10 @@ layui.extend({
             }
         },
         phoneNum : function (value) {
-            if(value.length != 11){
-                return '请输入正确的手机号码!';
+            if(value != ''){
+                if(value.length != 11){
+                    return '请输入正确的手机号码!';
+                }
             }
         },
     });

+ 2 - 0
sptg-gateway/sptg-housekeeper-gateway/src/main/resources/static/js/estate/user-manage.js

@@ -129,6 +129,8 @@ layui.extend({
             , cols: [[
                 { type: 'checkbox' }
                 ,{ field: 'name',title: '姓名',align: 'center'}
+                ,{ field: 'engLastName',title: '英文姓',align: 'center'}
+                ,{ field: 'engFirstName',title: '英文名',align: 'center'}
                 ,{ field: 'sex', title: '性别',templet: '#is_sex',align: 'center',sort:true}
                 ,{ field: 'residentialName', title: '所属小区',align: 'center'}
                 ,{ field: 'buildingName', title: '所属楼栋',align: 'center'}

+ 18 - 17
sptg-gateway/sptg-housekeeper-gateway/src/main/resources/templates/estate/user-add.html

@@ -14,6 +14,7 @@
                     <div class="layui-card">
                         <div class="layui-card-body" pad15>
                             <div class="layui-form" lay-filter="userInfo">
+                                <input type="hidden" name="abroad" id="abroadInput" value="1" />
                                 <div class="layui-form-item">
                                     <label class="layui-form-label"><span class="must">*</span>所属小区</label>
                                     <div name="residential" class="layui-input-inline">
@@ -52,21 +53,25 @@
                                     <button id="readCard" class="layui-btn">读取身份证信息</button>
                                 </div>
                                 <div class="layui-form-item">
-                                    <label class="layui-form-label"><span class="must">*</span>姓名</label>
+                                    <label class="layui-form-label"><span class="must" id="chineseNameSpan">*</span>姓名</label>
                                     <div class="layui-input-inline">
-                                        <input type="text" name="name" lay-verify="required|specialCharacters|length" placeholder="" autocomplete="off" class="layui-input">
+                                        <input type="text" name="name" id="chineseNameInput" lay-verify="required|specialCharacters|length" placeholder="" autocomplete="off" class="layui-input">
                                     </div>
-                                    <label class="layui-form-label"><span class="must">*</span>性别</label>
+                                    <label class="layui-form-label"><span class="must" id="engLastNameSpan">*</span>英文姓</label>
                                     <div class="layui-input-inline">
-                                        <div id="sex"></div>
+                                        <input type="text" name="engLastName" id="engLastNameInput" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
+                                    </div>
+                                    <label class="layui-form-label"><span class="must" id="engFirstNameSpan">*</span>英文名</label>
+                                    <div class="layui-input-inline">
+                                        <input type="text" name="engFirstName" id="engFirstNameInput" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                                     </div>
+                                </div>
+                                <div class="layui-form-item">
                                     <label class="layui-form-label"><span class="must">*</span>证件号码</label>
                                     <div class="layui-input-inline">
                                         <input  type="text" name="idCard" lay-verify="cardNum" placeholder="" autocomplete="off"
                                                 class="layui-input">
                                     </div>
-                                </div>
-                                <div class="layui-form-item">
                                     <label class="layui-form-label">证件有效期</label>
                                     <div class="layui-input-inline">
                                         <input type="text" name="validDate" lay-verify="" placeholder="" autocomplete="off"
@@ -77,24 +82,20 @@
                                         <input type="text" name="birthDate" lay-verify="" placeholder="" autocomplete="off"
                                                class="layui-input">
                                     </div>
-                                    <label class="layui-form-label">籍贯地址</label>
-                                    <div class="layui-input-inline">
-                                        <input type="text" name="birthPlace" lay-verify="" placeholder="" autocomplete="off"
-                                               class="layui-input">
-                                    </div>
                                 </div>
                                 <div class="layui-form-item">
-                                    <label class="layui-form-label">手机号</label>
+                                    <label class="layui-form-label"><span class="must">*</span>性别</label>
                                     <div class="layui-input-inline">
-                                        <input type="number"  name="tel" placeholder="" autocomplete="off" class="layui-input" lay-verify="phoneNum">
+                                        <div id="sex"></div>
                                     </div>
-                                    <label class="layui-form-label">英文姓</label>
+                                    <label class="layui-form-label">手机号</label>
                                     <div class="layui-input-inline">
-                                        <input  type="text" name="engLastName" placeholder="" autocomplete="off" class="layui-input">
+                                        <input type="number"  name="tel" placeholder="" autocomplete="off" class="layui-input" lay-verify="phoneNum">
                                     </div>
-                                    <label class="layui-form-label">英文名</label>
+                                    <label class="layui-form-label">籍贯地址</label>
                                     <div class="layui-input-inline">
-                                        <input  type="text" name="engFirstName" placeholder="" autocomplete="off" class="layui-input">
+                                        <input type="text" name="birthPlace" lay-verify="" placeholder="" autocomplete="off"
+                                               class="layui-input">
                                     </div>
                                 </div>
                                 <div class="layui-form-item">

+ 19 - 19
sptg-gateway/sptg-housekeeper-gateway/src/main/resources/templates/estate/user-edit.html

@@ -11,6 +11,7 @@
                     <div class="layui-card">
                         <div class="layui-card-body" pad15>
                             <div class="layui-form" lay-filter="userInfo">
+                                <input type="hidden" name="abroad" id="abroadInput" value="1" />
                                 <input type="hidden" lay-verify="required" name="id" th:value="${user.id}" />
                                 <!--以后换成下拉树形-->
                                 <div class="layui-form-item layui-form">
@@ -58,22 +59,25 @@
                                     </div>
                                 </div>
                                 <div class="layui-form-item">
-                                    <label class="layui-form-label"><span class="must">*</span>住户姓名</label>
+                                    <label class="layui-form-label"><span class="must" id="chineseNameSpan">*</span>姓名</label>
                                     <div class="layui-input-inline">
-                                        <input type="text" name="name" th:value="${user.name}" lay-verify="required|specialCharacters|length" placeholder="" autocomplete="off" class="layui-input">
+                                        <input type="text" name="name" th:value="${user.name}" id="chineseNameInput" lay-verify="required|specialCharacters|length" placeholder="" autocomplete="off" class="layui-input">
                                     </div>
-                                    <label class="layui-form-label"><span class="must">*</span>性别</label>
+                                    <label class="layui-form-label"><span class="must" id="engLastNameSpan">*</span>英文姓</label>
                                     <div class="layui-input-inline">
-                                        <div id="sex"></div>
-                                        <input type="hidden" id="sexValue" th:value="${user.sex}">
+                                        <input  type="text" name="engLastName" id="engLastNameInput" lay-verify="required" placeholder="" th:value="${user.engLastName}" autocomplete="off" class="layui-input">
                                     </div>
+                                    <label class="layui-form-label"><span class="must" id="engFirstNameSpan">*</span>英文名</label>
+                                    <div class="layui-input-inline">
+                                        <input  type="text" name="engFirstName" id="engFirstNameInput" placeholder="" lay-verify="required" th:value="${user.engFirstName}" autocomplete="off" class="layui-input">
+                                    </div>
+                                </div>
+                                <div class="layui-form-item">
                                     <label class="layui-form-label"><span class="must"></span>证件号码</label>
                                     <div class="layui-input-inline">
                                         <input type="text" name="idCard"  th:value="${user.idCard}" lay-verify="cardNum" placeholder="" autocomplete="off"
                                                class="layui-input">
                                     </div>
-                                </div>
-                                <div class="layui-form-item">
                                     <label class="layui-form-label">证件有效期</label>
                                     <div class="layui-input-inline">
                                         <input type="text" name="validDate" lay-verify="" th:value="${#dates.format(user.validDate,'yyyy.MM.dd')}" placeholder="" autocomplete="off"
@@ -84,29 +88,25 @@
                                         <input type="text" name="birthDate" lay-verify="" th:value="${#dates.format(user.birthDate,'yyyy年MM月dd日')}" placeholder="" autocomplete="off"
                                                class="layui-input">
                                     </div>
-                                    <label class="layui-form-label">籍贯地址</label>
-                                    <div class="layui-input-inline">
-                                        <input type="text" name="birthPlace" lay-verify="" th:value="${user.birthPlace}" placeholder="" autocomplete="off"
-                                               class="layui-input">
-                                    </div>
                                 </div>
                                 <div class="layui-form-item">
+                                    <label class="layui-form-label"><span class="must">*</span>性别</label>
+                                    <div class="layui-input-inline">
+                                        <div id="sex"></div>
+                                        <input type="hidden" id="sexValue" th:value="${user.sex}">
+                                    </div>
                                     <label class="layui-form-label">手机号</label>
                                     <div class="layui-input-inline">
                                         <input type="number" name="tel" lay-verify="phoneNum" th:value="${user.tel}" placeholder="" autocomplete="off"
                                                class="layui-input">
                                     </div>
-                                    <label class="layui-form-label">英文姓</label>
-                                    <div class="layui-input-inline">
-                                        <input  type="text" name="engLastName" placeholder="" th:value="${user.engLastName}" autocomplete="off" class="layui-input">
-                                    </div>
-                                    <label class="layui-form-label">英文名</label>
+                                    <label class="layui-form-label">籍贯地址</label>
                                     <div class="layui-input-inline">
-                                        <input  type="text" name="engFirstName" placeholder="" th:value="${user.engFirstName}" autocomplete="off" class="layui-input">
+                                        <input type="text" name="birthPlace" lay-verify="" th:value="${user.birthPlace}" placeholder="" autocomplete="off"
+                                               class="layui-input">
                                     </div>
                                 </div>
                                 <div class="layui-form-item">
-
                                     <label class="layui-form-label">居住地址</label>
                                     <div class="layui-input-inline">
                                         <input type="text" name="address" lay-verify="" th:value="${user.address}" placeholder="" autocomplete="off"

+ 17 - 3
sptg-gateway/sptg-housekeeper-gateway/src/main/resources/templates/estate/user-face-detail.html

@@ -19,6 +19,16 @@
                                         <div class="layui-input-inline">
                                             <span class="detail-info"  th:text="${user.name}"></span>
                                         </div>
+                                        <label class="layui-form-label">英文姓:</label>
+                                        <div class="layui-input-inline">
+                                            <span class="detail-info"  th:text="${user.engLastName}"></span>
+                                        </div>
+                                        <label class="layui-form-label">英文名:</label>
+                                        <div class="layui-input-inline">
+                                            <span class="detail-info"  th:text="${user.engFirstName}"></span>
+                                        </div>
+                                    </div>
+                                    <div class="layui-form-item">
                                         <label class="layui-form-label">手机号:</label>
                                         <div class="layui-input-inline">
                                             <span class="detail-info"  th:text="${user.tel}"></span>
@@ -28,9 +38,10 @@
                                             <span class="layui-badge layui-bg-blue" style="margin-top: 10px;"
                                                   th:each="item : ${userTypeDict}" th:if="${user.type} == ${item.dictKey}"
                                                   th:text="${item.dictValue}" ></span>
-                                            <!--<span th:if="${user.type == 0}" class="detail-info">业主</span>
-                                            <span th:if="${user.type == 1}" class="detail-info">家属</span>
-                                            <span th:if="${user.type == 2}" class="detail-info">租客</span>-->
+                                        </div>
+                                        <label class="layui-form-label">居住地址:</label>
+                                        <div class="layui-input-inline">
+                                            <span class="detail-info"  th:text="${user.address}"></span>
                                         </div>
                                     </div>
                                     <div class="layui-form-item">
@@ -73,6 +84,9 @@
                                             <span class="detail-info" th:text="${user.idCard}"></span>
                                         </div>
                                         <label class="layui-form-label">籍贯地址:</label>
+                                        <div class="layui-input-inline">
+                                            <span class="detail-info" th:text="${user.birthPlace}"></span>
+                                        </div>
                                         <label class="layui-form-label">备注:</label>
                                         <div class="layui-input-inline">
                                             <span class="detail-info" th:text="${user.remark}"></span>