From ae288609394ba4ad2164f0dfb972227de27c5a29 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 27 十二月 2023 14:32:55 +0800
Subject: [PATCH] ERP接口

---
 server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java             |    1 
 server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniConfig.java                                  |   98 ++++++------
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java               |   53 ++++++
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java    |    1 
 server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java                                    |    1 
 server/dmvisit_service/src/main/java/com/doumee/dao/web/response/VisitDetailVO.java                        |   39 ++++
 server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java                                 |    8 
 server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java                           |   65 ++++++++
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java               |    1 
 server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java                                  |    2 
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java           |    1 
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java |    1 
 server/pom.xml                                                                                             |   30 ++-
 server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java                        |    9 +
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java              |    1 
 server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConfig.java                           |   53 ++++++
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java           |    1 
 server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniUtilService.java                             |   68 ++++----
 server/dmvisit_web/src/main/java/com/doumee/api/web/ProblemController.java                                 |    6 
 19 files changed, 333 insertions(+), 106 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
index b2d6bf7..e98b17d 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -213,6 +213,8 @@
     public static final String WX_PLATFORM_ACCESS_TOKEN = "WX_PLATFORM_ACCESS_TOKEN";
     public static final String WX_PLATFORM_APPID = "WX_PLATFORM_APPID";
     public static final String WX_PLATFORM_SECRET = "WX_PLATFORM_SECRET";
+    public static final String WX_PLATFORM_AUDIT_VISIT = "WX_PLATFORM_AUDIT_VISIT";
+    public static final String WX_PLATFORM_PREFIX = "WX_PLATFORM_PREFIX";
 
 
 
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniConfig.java b/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniConfig.java
index 4152f3c..75eb95e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniConfig.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniConfig.java
@@ -1,59 +1,59 @@
 package com.doumee.core.wx;
 
-import cn.binarywang.wx.miniapp.api.WxMaService;
-import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
-import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
-import com.doumee.config.mybatis.SpringUtils;
-import com.github.binarywang.wxpay.config.WxPayConfig;
-import com.github.binarywang.wxpay.constant.WxPayConstants;
-import com.github.binarywang.wxpay.service.WxPayService;
-import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-
-import javax.annotation.PostConstruct;
+//import cn.binarywang.wx.miniapp.api.WxMaService;
+//import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
+//import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
+//import com.doumee.config.mybatis.SpringUtils;
+//import com.github.binarywang.wxpay.config.WxPayConfig;
+//import com.github.binarywang.wxpay.constant.WxPayConstants;
+//import com.github.binarywang.wxpay.service.WxPayService;
+//import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
+//import org.apache.commons.lang3.StringUtils;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.context.annotation.Configuration;
+//
+//import javax.annotation.PostConstruct;
 
 /**
  * 寰俊灏忕▼搴忕粍浠�
  */
-@Configuration
+//@Configuration
 public class WxMiniConfig {
-    /********寰俊灏忕▼搴忔湇鍔�**********/
-    public static WxMaService wxMaService;
-    /********寰俊灏忕▼搴忔敮浠�**********/
-    public static WxPayService wxPayService;
-    /********寰俊APP鏀粯**********/
-    public static WxPayService wxAppPayService;
-
-
-    @Autowired
-    private WxPayProperties wxPayProperties;
-
-    public static WxMiniConfig me() {
-        return SpringUtils.get().getBean(WxMiniConfig.class);
-    }
-
-    @PostConstruct
-    void init() {
-        this.load_WxMaService();
-//        this.load_wxPayService();
-//        this.load_wxAppPayService();
-    }
-    /**
-     * 鍒濆鍖栧井淇″皬绋嬪簭
-     */
-    public void load_WxMaService() {
-        WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
-        config.setAppid(StringUtils.trimToNull(wxPayProperties.getAppId()));
-        config.setSecret(StringUtils.trimToNull(wxPayProperties.getAppSecret()));
-        config.setMsgDataFormat("JSON");
-        //config.setToken("");
-        //config.setAesKey("");
-        WxMaService wxMaService = new WxMaServiceImpl();
-        wxMaService.setWxMaConfig(config);
-        this.wxMaService = wxMaService;
-    }
+//    /********寰俊灏忕▼搴忔湇鍔�**********/
+//    public static WxMaService wxMaService;
+//    /********寰俊灏忕▼搴忔敮浠�**********/
+//    public static WxPayService wxPayService;
+//    /********寰俊APP鏀粯**********/
+//    public static WxPayService wxAppPayService;
+//
+//
+//    @Autowired
+//    private WxPayProperties wxPayProperties;
+//
+//    public static WxMiniConfig me() {
+//        return SpringUtils.get().getBean(WxMiniConfig.class);
+//    }
+//
+//    @PostConstruct
+//    void init() {
+//        this.load_WxMaService();
+////        this.load_wxPayService();
+////        this.load_wxAppPayService();
+//    }
+//    /**
+//     * 鍒濆鍖栧井淇″皬绋嬪簭
+//     */
+//    public void load_WxMaService() {
+//        WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
+//        config.setAppid(StringUtils.trimToNull(wxPayProperties.getAppId()));
+//        config.setSecret(StringUtils.trimToNull(wxPayProperties.getAppSecret()));
+//        config.setMsgDataFormat("JSON");
+//        //config.setToken("");
+//        //config.setAesKey("");
+//        WxMaService wxMaService = new WxMaServiceImpl();
+//        wxMaService.setWxMaConfig(config);
+//        this.wxMaService = wxMaService;
+//    }
 
     /**
      * 鍒濆鍖栧井淇″皬绋嬪簭鏀粯
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniUtilService.java b/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
index 71d329e..8dca404 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
@@ -3,10 +3,10 @@
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.utils.ID;
-import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
-import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
-import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
-import com.github.binarywang.wxpay.exception.WxPayException;
+//import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
+//import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
+//import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
+//import com.github.binarywang.wxpay.exception.WxPayException;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -20,34 +20,34 @@
 @Slf4j
 public class WxMiniUtilService {
 
-
-    /**
-     * 璁㈠崟寰俊閫�娆�
-     * orderNo:鍟嗘埛璁㈠崟鍙�
-     * totalPrice锛氳鍗曟�婚噾棰�
-     * refundPrice锛涢��娆鹃噾棰�
-     */
-    @Transactional(rollbackFor = Exception.class)
-    public static String wxRefund(String orderNo, BigDecimal totalPrice, BigDecimal refundPrice) {
-        try {
-            // 鍙戦�侀��娆捐姹�
-            String refNum = ID.nextGUID();
-            WxPayRefundRequest request = new WxPayRefundRequest();
-            request.setOutTradeNo(orderNo);
-            request.setOutRefundNo(refNum);
-           // request.setTotalFee(2);
-          //  request.setRefundFee(1);
-            request.setTotalFee(BaseWxPayRequest.yuanToFen(totalPrice.toString()));
-            request.setRefundFee(BaseWxPayRequest.yuanToFen(refundPrice.toString()));
-            WxPayRefundResult response = WxMiniConfig.wxPayService.refund(request);
-            if ("SUCCESS".equals(response.getReturnCode()) && "SUCCESS".equals(response.getResultCode())) {
-                return refNum;
-            } else {
-                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),response.getErrCode() + response.getErrCodeDes());
-            }
-        } catch (WxPayException e) {
-            e.printStackTrace();
-        }
-        throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"閫�娆惧彂鐢熷紓甯歌鑱旂郴绠$悊鍛�");
-    }
+//
+//    /**
+//     * 璁㈠崟寰俊閫�娆�
+//     * orderNo:鍟嗘埛璁㈠崟鍙�
+//     * totalPrice锛氳鍗曟�婚噾棰�
+//     * refundPrice锛涢��娆鹃噾棰�
+//     */
+//    @Transactional(rollbackFor = Exception.class)
+//    public static String wxRefund(String orderNo, BigDecimal totalPrice, BigDecimal refundPrice) {
+//        try {
+//            // 鍙戦�侀��娆捐姹�
+//            String refNum = ID.nextGUID();
+//            WxPayRefundRequest request = new WxPayRefundRequest();
+//            request.setOutTradeNo(orderNo);
+//            request.setOutRefundNo(refNum);
+//           // request.setTotalFee(2);
+//          //  request.setRefundFee(1);
+//            request.setTotalFee(BaseWxPayRequest.yuanToFen(totalPrice.toString()));
+//            request.setRefundFee(BaseWxPayRequest.yuanToFen(refundPrice.toString()));
+//            WxPayRefundResult response = WxMiniConfig.wxPayService.refund(request);
+//            if ("SUCCESS".equals(response.getReturnCode()) && "SUCCESS".equals(response.getResultCode())) {
+//                return refNum;
+//            } else {
+//                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),response.getErrCode() + response.getErrCodeDes());
+//            }
+//        } catch (WxPayException e) {
+//            e.printStackTrace();
+//        }
+//        throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"閫�娆惧彂鐢熷紓甯歌鑱旂郴绠$悊鍛�");
+//    }
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConfig.java b/server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConfig.java
new file mode 100644
index 0000000..14cbdca
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConfig.java
@@ -0,0 +1,53 @@
+
+package com.doumee.core.wx.wxPlat;
+
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.utils.Constants;
+import me.chanjar.weixin.mp.api.WxMpService;
+import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
+import me.chanjar.weixin.mp.config.WxMpConfigStorage;
+import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/12/27 9:30
+ */
+@Configuration
+public class WxPlatConfig {
+
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+
+    @Bean
+    public WxMpConfigStorage wxMpConfigStorage() {
+        WxMpDefaultConfigImpl configStorage = new WxMpDefaultConfigImpl();
+        // 鍏紬鍙穉ppId
+        configStorage.setAppId(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode());
+        // 鍏紬鍙穉ppSecret
+        configStorage.setSecret(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_SECRET).getCode());
+        // 鍏紬鍙稵oken
+        configStorage.setToken(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode());
+        // 鍏紬鍙稥ncodingAESKey
+//        configStorage.setAesKey();
+        return configStorage;
+    }
+
+
+    /**
+     * 澹版槑瀹炰緥
+     *
+     * @return
+     */
+    @Bean
+    public WxMpService wxMpService() {
+        WxMpService wxMpService = new WxMpServiceImpl();
+        wxMpService.setWxMpConfigStorage(wxMpConfigStorage());
+        return wxMpService;
+    }
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java b/server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
new file mode 100644
index 0000000..45b73db
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
@@ -0,0 +1,65 @@
+package com.doumee.core.wx.wxPlat;
+
+import com.doumee.dao.business.model.Visits;
+import lombok.extern.slf4j.Slf4j;
+import me.chanjar.weixin.common.error.WxErrorException;
+import me.chanjar.weixin.mp.api.WxMpService;
+import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
+import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+/**
+ * 寰俊鍏紬鍙烽�氱煡
+ *
+ * @Author : Rk
+ * @create 2023/12/27 9:19
+ */
+@Slf4j
+@Component
+public class WxPlatNotice {
+
+    /**
+     * 寰俊鍏紬鍙稟PI鐨凷ervice
+     */
+    private final WxMpService wxMpService;
+
+    public WxPlatNotice(WxMpService wxMpService) {
+        this.wxMpService = wxMpService;
+    }
+
+    /**
+     * 璁垮璁板綍瀹℃壒涓氬姟閫氱煡
+     */
+    public Boolean  sendVisitAuditTemplateNotice(Visits visits,String prefix,String tempId){
+        if(StringUtils.isBlank(visits.getOpenid())){
+            return false;
+        }
+        WxMpTemplateMessage templateMessage =  WxMpTemplateMessage.builder()
+                .toUser(visits.getOpenid())
+                .templateId(tempId)
+                .url(prefix + "pages/appointmentDetails/appointmentDetails?id="+visits.getId())
+                .build();
+        String thing1 = "寰呭鎵�";
+        if(visits.getStatus()==2){
+            thing1 = "瀹℃牳閫氳繃";
+        }else if(visits.getStatus()==3){
+            thing1 = "瀹℃牳涓嶉�氳繃";
+        }
+        // 娣诲姞妯℃澘鏁版嵁
+        templateMessage.addData(new WxMpTemplateData("thing1", thing1))
+                .addData(new WxMpTemplateData("thing2", visits.getName()))
+                .addData(new WxMpTemplateData("phone_number6", visits.getPhone()));
+        String msgId = null;
+        try {
+            // 鍙戦�佹ā鏉挎秷鎭�
+            msgId = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
+        } catch (WxErrorException e) {
+            e.printStackTrace();
+        }
+        log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", msgId != null ? "鎴愬姛" : "澶辫触");
+        return msgId != null;
+    }
+
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/VisitDetailVO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/VisitDetailVO.java
new file mode 100644
index 0000000..8395318
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/VisitDetailVO.java
@@ -0,0 +1,39 @@
+package com.doumee.dao.web.response;
+
+import com.doumee.dao.business.model.Visits;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/12/7 11:19
+ */
+@Data
+public class VisitDetailVO {
+
+    @ApiModelProperty(value = "瀹℃壒鐘舵��")
+    private Integer status;
+
+    @ApiModelProperty(value = "琚浜哄悕绉�")
+    private String visitUserName;
+
+    @ApiModelProperty(value = "鎷滆浜嬬敱")
+    private String visitReason;
+
+    @ApiModelProperty(value = "杞﹁締淇℃伅")
+    private String carNos;
+
+    @ApiModelProperty(value = "闂ㄧ缁勫悕绉�")
+    private List<String> doorGroupName;
+
+    @ApiModelProperty(value = "鎷滆鏃堕棿")
+    private String visitTime;
+
+    @ApiModelProperty(value = "闅忚浜哄憳淇℃伅")
+    private List<Visits> withVisitsList;
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
index 0d0e2f9..eb754cc 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -3,6 +3,8 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.Visits;
+import com.doumee.dao.web.response.VisitDetailVO;
+
 import java.util.List;
 
 /**
@@ -98,4 +100,11 @@
      * @return long
      */
     long count(Visits visits);
+
+    /**
+     * 璁垮璁板綍璇︽儏 - 寰俊鍏紬鍙�
+     * @param id
+     * @return
+     */
+    VisitDetailVO getVisitDetail(Integer id);
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index 62c0042..8ff7556 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -36,7 +36,6 @@
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
-import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
index 7fa419f..1eb177e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -27,7 +27,6 @@
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
-import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 8d0b612..886df7b 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -45,7 +45,6 @@
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.DateUtils;
 import org.apache.shiro.SecurityUtils;
-import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java
index fac7159..1772d7a 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java
@@ -24,7 +24,6 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index 40f22bd..e4c3e02 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -22,6 +22,7 @@
 import com.doumee.core.utils.DESUtil;
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
 import com.doumee.dao.admin.response.MemberInfoDTO;
 import com.doumee.dao.business.DeviceRoleMapper;
 import com.doumee.dao.business.MemberMapper;
@@ -30,6 +31,7 @@
 import com.doumee.dao.business.join.DeviceJoinMapper;
 import com.doumee.dao.business.join.VisitsJoinMapper;
 import com.doumee.dao.business.model.*;
+import com.doumee.dao.web.response.VisitDetailVO;
 import com.doumee.service.business.VisitsService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -72,6 +74,8 @@
     @Autowired
     private DeviceJoinMapper deviceJoinMapper;
 
+    @Autowired
+    private WxPlatNotice wxPlatNotice;
 
     @Override
     public Integer create(Visits visits) {
@@ -94,7 +98,9 @@
         getHkDeviceRoles(visits);
         //妫�楠屾嫓璁夸汉鏄惁鍚堟硶
         Member visitMember = isValideVisitedUser(visits.getReceptMemberId());
-        if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType()) &&!IdcardUtil.isValidCard(visits.getIdcardNo())){
+        if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType())&&visits.getIdcardNo().length()!=18
+            //&&!IdcardUtil.isValidCard(visits.getIdcardNo())
+        ){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
         }
         Date date = new Date();
@@ -114,11 +120,15 @@
         if(StringUtils.isNotBlank(erpId)){
             visits.setErpId(erpId);
         }else{
-            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�");
+//            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�");
         }
         visitsMapper.insert(visits);
         initWithVisitInfo(visits);
         updateProblemLog(visits,problemLog,member);
+        //鍙戦�佸井淇″叕浼楀彿閫氱煡
+        wxPlatNotice.sendVisitAuditTemplateNotice(visits,
+                systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(),
+                systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode());
         return visits.getId();
     }
 
@@ -664,4 +674,43 @@
         return PageData.from(result);
     }
 
+
+
+    @Override
+    public VisitDetailVO getVisitDetail(Integer id){
+        Visits visits = visitsMapper.selectById(id);
+        if(Objects.isNull(visits)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        Member member = memberMapper.selectById(visits.getReceptMemberId());
+        if(Objects.isNull(member)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌琚鍛樺伐淇℃伅");
+        }
+        VisitDetailVO visitDetailVO = new VisitDetailVO();
+        visitDetailVO.setStatus(visits.getStatus());
+        visitDetailVO.setCarNos(visits.getCarNos());
+        visitDetailVO.setVisitUserName(member.getName());
+        visitDetailVO.setVisitReason(visits.getReason());
+        visitDetailVO.setVisitTime(DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm") + " 鑷� " + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm") );
+        if(StringUtils.isNotBlank(visits.getDoors())){
+            List<DeviceRole> deviceRoleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
+                            .select(DeviceRole::getName)
+                            .eq(DeviceRole::getIsdeleted,Constants.ZERO)
+                    .in(DeviceRole::getId,visits.getDoors().split(",")));
+            if(CollectionUtils.isNotEmpty(deviceRoleList)){
+                visitDetailVO.setDoorGroupName(
+                        deviceRoleList.stream().map(m->m.getName()).collect(Collectors.toList())
+                );
+            }
+        }
+        visitDetailVO.setWithVisitsList(visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
+                .select(Visits::getName,Visits::getPhone)
+                .eq(Visits::getParentId,id)));
+        return visitDetailVO;
+    }
+
+
+
+
+
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
index ed4e845..2f2f9d1 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
@@ -26,7 +26,6 @@
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index ae82319..a6ed00d 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -28,7 +28,6 @@
 import com.hikvision.artemis.sdk.config.ArtemisConfig;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
index fcdcb57..92c67c6 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
@@ -1,6 +1,5 @@
 package com.doumee.service.system.impl;
 
-import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
diff --git a/server/dmvisit_web/src/main/java/com/doumee/api/web/ProblemController.java b/server/dmvisit_web/src/main/java/com/doumee/api/web/ProblemController.java
index 854619d..00c2be3 100644
--- a/server/dmvisit_web/src/main/java/com/doumee/api/web/ProblemController.java
+++ b/server/dmvisit_web/src/main/java/com/doumee/api/web/ProblemController.java
@@ -2,6 +2,7 @@
 
 import com.doumee.core.annotation.trace.Trace;
 import com.doumee.core.model.ApiResponse;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
 import com.doumee.dao.web.reqeust.FinishAnswerDTO;
 import com.doumee.dao.web.response.ProblemsVO;
 import com.doumee.service.business.ProblemLogService;
@@ -36,6 +37,9 @@
     @Autowired
     private ProblemLogService problemLogService;
 
+    @Autowired
+    private WxPlatNotice wxPlatNotice;
+
 
     @ApiOperation(value = "鑾峰彇棰樼洰鏁版嵁", notes = "H5")
     @GetMapping("/getProblemsVO")
@@ -54,4 +58,6 @@
     }
 
 
+
+
 }
diff --git a/server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java b/server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java
index 27d0acb..a858624 100644
--- a/server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java
+++ b/server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java
@@ -16,7 +16,6 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
diff --git a/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java b/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java
index a930855..4182942 100644
--- a/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java
+++ b/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java
@@ -6,6 +6,7 @@
 import com.doumee.dao.business.model.Visits;
 import com.doumee.dao.web.reqeust.CheckVisitedDTO;
 import com.doumee.dao.web.response.MemberVO;
+import com.doumee.dao.web.response.VisitDetailVO;
 import com.doumee.dao.web.response.WxAuthorizeVO;
 import com.doumee.service.business.MemberService;
 import com.doumee.service.business.VisitsService;
@@ -14,7 +15,7 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-import org.checkerframework.checker.units.qual.A;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -66,4 +67,9 @@
     }
 
 
+    @ApiOperation(value = "璁垮璁板綍璇︽儏", notes = "璁垮璁板綍璇︽儏")
+    @GetMapping("/detail")
+    public ApiResponse<VisitDetailVO> detail(@RequestParam Integer id) {
+        return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.getVisitDetail(id));
+    }
 }
diff --git a/server/pom.xml b/server/pom.xml
index 6044bf1..90fb96f 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -216,18 +216,18 @@
       <artifactId>pinyin4j</artifactId>
       <version>2.5.1</version>
     </dependency>
-    <!-- WeChat 灏忕▼搴� -->
-    <dependency>
-      <groupId>com.github.binarywang</groupId>
-      <artifactId>weixin-java-miniapp</artifactId>
-      <version>${weixin-java-miniapp.version}</version>
-    </dependency>
-    <!-- WeChat 鏀粯 -->
-    <dependency>
-      <groupId>com.github.binarywang</groupId>
-      <artifactId>weixin-java-pay</artifactId>
-      <version>${weixin-java-pay.version}</version>
-    </dependency>
+<!--    &lt;!&ndash; WeChat 灏忕▼搴� &ndash;&gt;-->
+<!--    <dependency>-->
+<!--      <groupId>com.github.binarywang</groupId>-->
+<!--      <artifactId>weixin-java-miniapp</artifactId>-->
+<!--      <version>${weixin-java-miniapp.version}</version>-->
+<!--    </dependency>-->
+<!--    &lt;!&ndash; WeChat 鏀粯 &ndash;&gt;-->
+<!--    <dependency>-->
+<!--      <groupId>com.github.binarywang</groupId>-->
+<!--      <artifactId>weixin-java-pay</artifactId>-->
+<!--      <version>${weixin-java-pay.version}</version>-->
+<!--    </dependency>-->
 
     <!--  闃块噷浜慜SS-->
     <dependency>
@@ -281,6 +281,12 @@
       <artifactId>spring-boot-starter-data-redis</artifactId>
     </dependency>
 
+    <!-- WxJava鍏紬鍙� -->
+    <dependency>
+      <groupId>com.github.binarywang</groupId>
+      <artifactId>weixin-java-mp</artifactId>
+      <version>3.6.0</version>
+    </dependency>
 
   </dependencies>
   <build>

--
Gitblit v1.9.3