From e59e6a8a2fcf3ac2194a69927cd5690453a83e91 Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期三, 19 六月 2024 16:34:44 +0800
Subject: [PATCH] 投诉添加,云片短信添加

---
 project-enforce/src/main/java/com/project/enforce/mapper/EnforceComplaintLogMapper.java             |   13 
 project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java                     |    4 
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java      |   20 
 project-common/src/main/java/com/project/common/sms/YPSmsApi.java                                   |  120 ++++++++
 project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceComplaintLogQueryBo.java |   80 +++++
 project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java              |   27 +
 project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java              |    4 
 project-system/src/main/resources/mapper/system/SysDictDataMapper.xml                               |   10 
 project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceComplaintLogVo.java              |   72 ++++
 project-admin/src/main/resources/application.yml                                                    |    3 
 project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java              |    2 
 project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java             |    5 
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java         |    1 
 project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java        |    3 
 project-enforce/src/main/java/com/project/enforce/domain/EnforceComplaintLog.java                   |  104 ++++++
 project-enforce/src/main/resources/mapper/enforce/EnforceComplaintLogMapper.xml                     |   34 ++
 project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java                |    6 
 project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java                          |    4 
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java  |  115 +++++++
 project-admin/src/main/java/com/project/admin/controller/system/SysLoginController.java             |   10 
 project-system/src/main/java/com/project/system/mapper/SysDictDataMapper.java                       |   18 +
 project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml                            |    9 
 project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java          |   51 +++
 project-system/src/main/java/com/project/system/service/impl/SysDictDataServiceImpl.java            |   38 +
 project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceComplaintLogBo.java       |   98 ++++++
 25 files changed, 808 insertions(+), 43 deletions(-)

diff --git a/project-admin/src/main/java/com/project/admin/controller/system/SysLoginController.java b/project-admin/src/main/java/com/project/admin/controller/system/SysLoginController.java
index 11c8fe3..768b235 100644
--- a/project-admin/src/main/java/com/project/admin/controller/system/SysLoginController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/system/SysLoginController.java
@@ -49,23 +49,23 @@
     }
 
     @ApiOperation("鑾峰彇楠岃瘉鐮�")
-    @GetMapping("/getVerifyCode")
+    @GetMapping("/verify/get")
     @RepeatSubmit
     public AjaxResult getVerifyCode(@RequestParam("phone") String phone)
     {
         return AjaxResult.success(loginService.getVerifyCode(phone));
     }
 
-    @ApiOperation("鏍¢獙楠岃瘉鐮侀獙璇佺爜")
-    @PostMapping("/verify")
+    @ApiOperation("鏍¢獙楠岃瘉鐮�")
+    @PostMapping("/verify/check")
     @RepeatSubmit
     public AjaxResult verify(@RequestBody UserPhoneLoginBo bo)
     {
         return AjaxResult.success(loginService.verifyPhone(bo.getPhone(), bo.getCode()));
     }
 
-    @ApiOperation("鎵嬫満鍙烽獙璇佺爜鐧诲綍")
-    @PostMapping("/login/phone")
+    @ApiOperation("楠岃瘉鐮佺櫥褰�")
+    @PostMapping("/verify/login")
     @RepeatSubmit
     public AjaxResult phoneLogin(@RequestBody UserPhoneLoginBo bo)
     {
diff --git a/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java b/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java
index e09cec6..e9aaa5d 100644
--- a/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/system/SysUserController.java
@@ -137,8 +137,8 @@
         }
 
         user.setCreateBy(getUsername());
-        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         user.setRecommendUser(user.getPassword());
+        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         return toAjax(userService.insertUser(user));
     }
 
diff --git a/project-admin/src/main/resources/application.yml b/project-admin/src/main/resources/application.yml
index 8abf401..164f9a6 100644
--- a/project-admin/src/main/resources/application.yml
+++ b/project-admin/src/main/resources/application.yml
@@ -141,6 +141,5 @@
             - /websocket/**
             - /chat/**
             - /system/dict/**
-            - /getVerifyCode
-            - /login/phone
+            - /verify/**
             - /tool/**   #涓存椂鐧藉悕鍗�
diff --git a/project-common/src/main/java/com/project/common/sms/YPSmsApi.java b/project-common/src/main/java/com/project/common/sms/YPSmsApi.java
new file mode 100644
index 0000000..ef68dea
--- /dev/null
+++ b/project-common/src/main/java/com/project/common/sms/YPSmsApi.java
@@ -0,0 +1,120 @@
+package com.project.common.sms;
+
+import com.project.common.constant.Constants;
+import org.apache.http.HttpEntity;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 鐭俊http鎺ュ彛鐨刯ava浠g爜璋冪敤绀轰緥
+ * 鍩轰簬Apache HttpClient 4.3
+ * @author Mr.Zhao
+ */
+
+public class YPSmsApi {
+
+    /**
+     * 璇锋眰鍦板潃
+     */
+    private static final String YP_SMS_URI = "http://yunpian.com/v1/sms/send.json";
+
+    /**
+     * KEY
+     */
+    private static final String API_KEY = "faf531146ca1e38abacd3862fb3fc32b";
+
+    /**
+     * 绛惧悕
+     */
+    private static final String SIGN = "銆愰噾鏄庢簮銆�";
+
+    /**
+     * 楠岃瘉鐮佹ā鏉�
+     */
+    public static final String VERIFY_CODE_TEMPLATE = "鎮ㄧ殑楠岃瘉鐮佹槸{}";
+
+    /**
+     * 瀹℃壒閫氱煡妯℃澘
+     */
+    public static final String CHECK_NOTICE_TEMPLATE = SIGN + "{}鎻愪氦浜嗘墽娉曠敵璇峰崟锛岃鎮ㄥ強鏃跺鎵癸紒";
+
+    /**
+     * 瀹℃壒閫氳繃妯℃澘
+     */
+    public static final String CHECK_PASS_TEMPLATE = SIGN + "鎮ㄦ彁浜ょ殑鎵ф硶鐢宠鍗曞凡瀹℃壒閫氳繃锛岃鎮ㄥ強鏃舵煡鐪嬶紒";
+
+
+
+
+    /**
+     * 鍙戦�佺煭淇�
+     * @param mobile 銆�鎺ュ彈鐨勬墜鏈哄彿
+     * @param msg   銆�鐭俊鍐呭
+     */
+    public static String sendSms(String mobile, String msg)
+    {
+        Map<String, String> params = new HashMap<>(3);
+        params.put("apikey", API_KEY);
+        params.put("text", msg);
+        params.put("mobile", mobile);
+        return post(YP_SMS_URI, params);
+    }
+
+    public static void main(String[] args) {
+        sendSms("18537821663", "銆愰噾鏄庢簮銆戞偍鐨勯獙璇佺爜鏄�1234");
+    }
+
+
+    /**
+     * 鍩轰簬HttpClient 4.3鐨勯�氱敤POST鏂规硶
+     *
+     * @param url        鎻愪氦鐨刄RL
+     * @param paramsMap  鎻愪氦<鍙傛暟锛屽��>Map
+     * @return  鎻愪氦鍝嶅簲
+     */
+    public static String post(String url, Map<String, String> paramsMap)
+    {
+        CloseableHttpClient client = HttpClients.createDefault();
+        String responseText = "";
+        CloseableHttpResponse response = null;
+        try {
+            HttpPost method = new HttpPost(url);
+            if (paramsMap != null) {
+                List<NameValuePair> paramList = new ArrayList<NameValuePair>();
+                for (Map.Entry<String, String> param : paramsMap.entrySet()) {
+                    NameValuePair pair = new BasicNameValuePair(param.getKey(), param.getValue());
+                    paramList.add(pair);
+                }
+                method.setEntity(new UrlEncodedFormEntity(paramList, Constants.UTF8));
+            }
+            response = client.execute(method);
+            HttpEntity entity = response.getEntity();
+            if (entity != null) {
+                responseText = EntityUtils.toString(entity);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                if (response != null) {
+                    response.close();
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        System.out.println(responseText);//姝ゅ鎵撳嵃鍦╟onsole鍚庯紝浼氱粰鍑轰竴涓狪P鍦板潃
+        return responseText;
+    }
+}
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/EnforceComplaintLog.java b/project-enforce/src/main/java/com/project/enforce/domain/EnforceComplaintLog.java
new file mode 100644
index 0000000..b3a10ca
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/domain/EnforceComplaintLog.java
@@ -0,0 +1,104 @@
+package com.project.enforce.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.project.common.core.domain.BaseDomain;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+/**
+ * 鎶曡瘔璁板綍瀵硅薄 enforce_complaint_log
+ *
+ * @author manton
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("enforce_complaint_log")
+@ApiModel("鎶曡瘔璁板綍瀹炰綋瀵硅薄")
+public class EnforceComplaintLog extends BaseDomain {
+
+    private static final long serialVersionUID=1L;
+
+
+    @TableId(value = "id")
+    @ApiModelProperty("ID")
+    private Long id;
+
+
+    @ApiModelProperty("鎵ф硶鍗昳d")
+    private String orderId;
+
+
+    @ApiModelProperty("鎵ф硶鍗曞彿")
+    private String orderNo;
+
+
+    @ApiModelProperty("鎵ф硶涓婚")
+    private String enforceReason;
+
+
+    @ApiModelProperty("浼佷笟ID")
+    private Long companyId;
+
+
+    @ApiModelProperty("浼佷笟鍚�")
+    private String companyName;
+
+
+    @ApiModelProperty("浼佷笟鑱旂郴浜�")
+    private String companyUser;
+
+
+    @ApiModelProperty("浼佷笟鑱旂郴浜虹數璇濓紙璐﹀彿锛�")
+    private String companyPhone;
+
+
+    @ApiModelProperty("鎵ц浜�")
+    private Long executeUser;
+
+
+    @ApiModelProperty("鎵ц浜虹數璇�")
+    private Long executePhone;
+
+
+    @ApiModelProperty("鎵ц浜哄崟浣�")
+    private Long executeDeptName;
+
+
+    @ApiModelProperty("鎶曡瘔绫诲瀷")
+    private String complaintType;
+
+
+    @ApiModelProperty("鎶曡瘔鍐呭")
+    private String complaintReason;
+
+
+    @ApiModelProperty("鎶曡瘔鐘舵�侊細-1宸查┏鍥烇紝0寰呭搷搴旓紝1澶勭悊涓紝2宸插姙缁�")
+    private Integer complaintStatus;
+
+
+    @ApiModelProperty("椹冲洖鍘熷洜")
+    private String returnReason;
+
+
+    @ApiModelProperty("澶勭悊缁撴灉")
+    private String complaintResult;
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java b/project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java
index 961261b..66c85ce 100644
--- a/project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java
+++ b/project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java
@@ -193,6 +193,10 @@
     @ApiModelProperty("鏄惁鎶曡瘔锛�0鍚︼紝1鏄�")
     private Integer isComplaint;
 
+    /** 鎶曡瘔绫诲瀷 */
+    @ApiModelProperty("鎶曡瘔绫诲瀷")
+    private String complaintType;
+
     /** 鎶曡瘔鍐呭 */
     @ApiModelProperty("鎶曡瘔鍐呭")
     private String complaintReason;
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceComplaintLogBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceComplaintLogBo.java
new file mode 100644
index 0000000..41ec2e8
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceComplaintLogBo.java
@@ -0,0 +1,98 @@
+package com.project.enforce.domain.bo.editBo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+
+/**
+ * 鎶曡瘔璁板綍缂栬緫瀵硅薄 enforce_complaint_log
+ *
+ * @author manton
+ */
+
+@Data
+@ApiModel("鎶曡瘔璁板綍鎿嶄綔瀵硅薄")
+public class EnforceComplaintLogBo {
+
+
+    /** ID */
+    @ApiModelProperty("ID")
+    private Long id;
+
+    /** 鎵ф硶鍗昳d */
+    @ApiModelProperty("鎵ф硶鍗昳d")
+    private String orderId;
+
+    /** 鎵ф硶鍗曞彿 */
+    @ApiModelProperty("鎵ф硶鍗曞彿")
+    private String orderNo;
+
+    /** 鎵ф硶涓婚 */
+    @ApiModelProperty("鎵ф硶涓婚")
+    private String enforceReason;
+
+    /** 浼佷笟ID */
+    @ApiModelProperty("浼佷笟ID")
+    private Long companyId;
+
+    /** 浼佷笟鍚� */
+    @ApiModelProperty("浼佷笟鍚�")
+    private String companyName;
+
+    /** 浼佷笟鑱旂郴浜� */
+    @ApiModelProperty("浼佷笟鑱旂郴浜�")
+    private String companyUser;
+
+    /** 浼佷笟鑱旂郴浜虹數璇濓紙璐﹀彿锛� */
+    @ApiModelProperty("浼佷笟鑱旂郴浜虹數璇濓紙璐﹀彿锛�")
+    private String companyPhone;
+
+    /** 鎵ц浜� */
+    @ApiModelProperty("鎵ц浜�")
+    private Long executeUser;
+
+    /** 鎵ц浜虹數璇� */
+    @ApiModelProperty("鎵ц浜虹數璇�")
+    private Long executePhone;
+
+    /** 鎵ц浜哄崟浣� */
+    @ApiModelProperty("鎵ц浜哄崟浣�")
+    private Long executeDeptName;
+
+    /** 鎶曡瘔绫诲瀷 */
+    @ApiModelProperty("鎶曡瘔绫诲瀷")
+    private String complaintType;
+
+    /** 鎶曡瘔鍐呭 */
+    @ApiModelProperty("鎶曡瘔鍐呭")
+    private String complaintReason;
+
+    /** 鎶曡瘔鐘舵�侊細-1宸查┏鍥烇紝0寰呭搷搴旓紝1澶勭悊涓紝2宸插姙缁� */
+    @ApiModelProperty("鎶曡瘔鐘舵�侊細-1宸查┏鍥烇紝0寰呭搷搴旓紝1澶勭悊涓紝2宸插姙缁�")
+    private Integer complaintStatus;
+
+    /** 椹冲洖鍘熷洜 */
+    @ApiModelProperty("椹冲洖鍘熷洜")
+    private String returnReason;
+
+    /** 澶勭悊缁撴灉 */
+    @ApiModelProperty("澶勭悊缁撴灉")
+    private String complaintResult;
+
+    /** 鏇存柊浜� */
+    @ApiModelProperty("鏇存柊浜�")
+    private String updateBy;
+
+    /** 鏇存柊鏃堕棿 */
+    @ApiModelProperty("鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /** 澶囨敞 */
+    @ApiModelProperty("澶囨敞")
+    private String remark;
+}
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java
index 1ffb524..21d6bbc 100644
--- a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java
+++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java
@@ -188,6 +188,10 @@
     @ApiModelProperty("鏄惁鎶曡瘔锛�0鍚︼紝1鏄�")
     private Integer isComplaint;
 
+    /** 鎶曡瘔绫诲瀷 */
+    @ApiModelProperty("鎶曡瘔绫诲瀷")
+    private String complaintType;
+
     /** 鎶曡瘔鍐呭 */
     @ApiModelProperty("鎶曡瘔鍐呭")
     private String complaintReason;
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceComplaintLogQueryBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceComplaintLogQueryBo.java
new file mode 100644
index 0000000..0955138
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceComplaintLogQueryBo.java
@@ -0,0 +1,80 @@
+package com.project.enforce.domain.bo.queryBo;
+
+import com.project.common.core.domain.BaseQuery;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+ * 鎶曡瘔璁板綍鍒嗛〉鏌ヨ瀵硅薄 enforce_complaint_log
+ *
+ * @author manton
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel("鎶曡瘔璁板綍鍒嗛〉鏌ヨ瀵硅薄")
+public class EnforceComplaintLogQueryBo extends BaseQuery{
+
+	/** 鍒嗛〉澶у皬 */
+	@ApiModelProperty("鍒嗛〉澶у皬")
+	private Integer pageSize;
+	/** 褰撳墠椤垫暟 */
+	@ApiModelProperty("褰撳墠椤垫暟")
+	private Integer pageNum;
+	/** 鎺掑簭鍒� */
+	@ApiModelProperty("鎺掑簭鍒�")
+	private String orderByColumn;
+	/** 鎺掑簭鐨勬柟鍚慸esc鎴栬�卆sc */
+	@ApiModelProperty(value = "鎺掑簭鐨勬柟鍚�", example = "asc,desc")
+	private String isAsc;
+
+
+	/** 鎵ф硶鍗昳d */
+	@ApiModelProperty("鎵ф硶鍗昳d")
+	private String orderId;
+	/** 鎵ф硶鍗曞彿 */
+	@ApiModelProperty("鎵ф硶鍗曞彿")
+	private String orderNo;
+	/** 鎵ф硶涓婚 */
+	@ApiModelProperty("鎵ф硶涓婚")
+	private String enforceReason;
+	/** 浼佷笟ID */
+	@ApiModelProperty("浼佷笟ID")
+	private Long companyId;
+	/** 浼佷笟鍚� */
+	@ApiModelProperty("浼佷笟鍚�")
+	private String companyName;
+	/** 浼佷笟鑱旂郴浜� */
+	@ApiModelProperty("浼佷笟鑱旂郴浜�")
+	private String companyUser;
+	/** 浼佷笟鑱旂郴浜虹數璇濓紙璐﹀彿锛� */
+	@ApiModelProperty("浼佷笟鑱旂郴浜虹數璇濓紙璐﹀彿锛�")
+	private String companyPhone;
+	/** 鎵ц浜� */
+	@ApiModelProperty("鎵ц浜�")
+	private Long executeUser;
+	/** 鎵ц浜虹數璇� */
+	@ApiModelProperty("鎵ц浜虹數璇�")
+	private Long executePhone;
+	/** 鎵ц浜哄崟浣� */
+	@ApiModelProperty("鎵ц浜哄崟浣�")
+	private Long executeDeptName;
+	/** 鎶曡瘔绫诲瀷 */
+	@ApiModelProperty("鎶曡瘔绫诲瀷")
+	private String complaintType;
+	/** 鎶曡瘔鍐呭 */
+	@ApiModelProperty("鎶曡瘔鍐呭")
+	private String complaintReason;
+	/** 鎶曡瘔鐘舵�侊細-1宸查┏鍥烇紝0寰呭搷搴旓紝1澶勭悊涓紝2宸插姙缁� */
+	@ApiModelProperty("鎶曡瘔鐘舵�侊細-1宸查┏鍥烇紝0寰呭搷搴旓紝1澶勭悊涓紝2宸插姙缁�")
+	private Integer complaintStatus;
+	/** 椹冲洖鍘熷洜 */
+	@ApiModelProperty("椹冲洖鍘熷洜")
+	private String returnReason;
+	/** 澶勭悊缁撴灉 */
+	@ApiModelProperty("澶勭悊缁撴灉")
+	private String complaintResult;
+
+}
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java
index 5948912..f107541 100644
--- a/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java
+++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java
@@ -167,6 +167,9 @@
 	@ApiModelProperty("鎶曡瘔鍐呭")
 	private String complaintReason;
 
+	/** 鎶曡瘔绫诲瀷 */
+	@ApiModelProperty("鎶曡瘔绫诲瀷")
+	private String complaintType;
 
 	@ApiModelProperty("鐢宠閮ㄩ棬ids")
 	private List<Long> applyDeptIds;
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceComplaintLogVo.java b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceComplaintLogVo.java
new file mode 100644
index 0000000..82ccebb
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceComplaintLogVo.java
@@ -0,0 +1,72 @@
+package com.project.enforce.domain.vo;
+
+import com.project.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 鎶曡瘔璁板綍瑙嗗浘瀵硅薄 mall_package
+ *
+ * @author manton
+ */
+@Data
+@ApiModel("鎶曡瘔璁板綍瑙嗗浘瀵硅薄")
+public class EnforceComplaintLogVo {
+	private static final long serialVersionUID = 1L;
+
+	/** ID */
+	@ApiModelProperty("ID")
+	private Long id;
+
+	@Excel(name = "鎵ф硶鍗昳d")
+	@ApiModelProperty("鎵ф硶鍗昳d")
+	private String orderId;
+	@Excel(name = "鎵ф硶鍗曞彿")
+	@ApiModelProperty("鎵ф硶鍗曞彿")
+	private String orderNo;
+	@Excel(name = "鎵ф硶涓婚")
+	@ApiModelProperty("鎵ф硶涓婚")
+	private String enforceReason;
+	@Excel(name = "浼佷笟ID")
+	@ApiModelProperty("浼佷笟ID")
+	private Long companyId;
+	@Excel(name = "浼佷笟鍚�")
+	@ApiModelProperty("浼佷笟鍚�")
+	private String companyName;
+	@Excel(name = "浼佷笟鑱旂郴浜�")
+	@ApiModelProperty("浼佷笟鑱旂郴浜�")
+	private String companyUser;
+	@Excel(name = "浼佷笟鑱旂郴浜虹數璇�" , readConverterExp = "璐�=鍙�")
+	@ApiModelProperty("浼佷笟鑱旂郴浜虹數璇濓紙璐﹀彿锛�")
+	private String companyPhone;
+	@Excel(name = "鎵ц浜�")
+	@ApiModelProperty("鎵ц浜�")
+	private Long executeUser;
+	@Excel(name = "鎵ц浜虹數璇�")
+	@ApiModelProperty("鎵ц浜虹數璇�")
+	private Long executePhone;
+	@Excel(name = "鎵ц浜哄崟浣�")
+	@ApiModelProperty("鎵ц浜哄崟浣�")
+	private Long executeDeptName;
+	@Excel(name = "鎶曡瘔绫诲瀷")
+	@ApiModelProperty("鎶曡瘔绫诲瀷")
+	private String complaintType;
+	@Excel(name = "鎶曡瘔鍐呭")
+	@ApiModelProperty("鎶曡瘔鍐呭")
+	private String complaintReason;
+	@Excel(name = "鎶曡瘔鐘舵�侊細-1宸查┏鍥烇紝0寰呭搷搴旓紝1澶勭悊涓紝2宸插姙缁�")
+	@ApiModelProperty("鎶曡瘔鐘舵�侊細-1宸查┏鍥烇紝0寰呭搷搴旓紝1澶勭悊涓紝2宸插姙缁�")
+	private Integer complaintStatus;
+	@Excel(name = "椹冲洖鍘熷洜")
+	@ApiModelProperty("椹冲洖鍘熷洜")
+	private String returnReason;
+	@Excel(name = "澶勭悊缁撴灉")
+	@ApiModelProperty("澶勭悊缁撴灉")
+	private String complaintResult;
+	@Excel(name = "澶囨敞")
+	@ApiModelProperty("澶囨敞")
+	private String remark;
+
+}
diff --git a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java
index d2ca42d..07b5ae9 100644
--- a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java
+++ b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java
@@ -152,6 +152,10 @@
 	@ApiModelProperty("鏄惁鎶曡瘔锛�0鍚︼紝1鏄�")
 	private Integer isComplaint;
 
+	/** 鎶曡瘔绫诲瀷 */
+	@ApiModelProperty("鎶曡瘔绫诲瀷")
+	private String complaintType;
+
 	/** 鎶曡瘔鍐呭 */
 	@ApiModelProperty("鎶曡瘔鍐呭")
 	private String complaintReason;
diff --git a/project-enforce/src/main/java/com/project/enforce/mapper/EnforceComplaintLogMapper.java b/project-enforce/src/main/java/com/project/enforce/mapper/EnforceComplaintLogMapper.java
new file mode 100644
index 0000000..08e73ff
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/mapper/EnforceComplaintLogMapper.java
@@ -0,0 +1,13 @@
+package com.project.enforce.mapper;
+
+import com.project.enforce.domain.EnforceComplaintLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 鎶曡瘔璁板綍Mapper鎺ュ彛
+ *
+ * @author manton
+ */
+public interface EnforceComplaintLogMapper extends BaseMapper<EnforceComplaintLog> {
+
+}
diff --git a/project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java b/project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java
new file mode 100644
index 0000000..5f78b3a
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java
@@ -0,0 +1,51 @@
+package com.project.enforce.service;
+
+import com.project.common.mybatis.IBaseService;
+import com.project.enforce.domain.EnforceComplaintLog;
+import com.project.enforce.domain.bo.editBo.EnforceComplaintLogBo;
+import com.project.enforce.domain.bo.queryBo.EnforceComplaintLogQueryBo;
+import com.project.enforce.domain.vo.EnforceComplaintLogVo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 鎶曡瘔璁板綍Service鎺ュ彛
+ *
+ * @author manton
+ */
+public interface IEnforceComplaintLogService extends IBaseService<EnforceComplaintLog> {
+
+    /**
+	 * 鏌ヨ鍒楄〃
+	 */
+    List<EnforceComplaintLogVo> queryList(EnforceComplaintLogQueryBo bo);
+
+    /**
+	 * 鏌ヨ鍗曚釜
+	 * @return  EnforceComplaintLogVo
+	 */
+	EnforceComplaintLogVo queryById(Long id);
+
+
+	/**
+	 * 鏍规嵁鏂板涓氬姟瀵硅薄鎻掑叆鎶曡瘔璁板綍
+	 * @param bo 鎶曡瘔璁板綍鏂板涓氬姟瀵硅薄
+	 * @return  true鎴愬姛 false澶辫触
+	 */
+	Boolean insertByBo(EnforceComplaintLogBo bo);
+
+	/**
+	 * 鏍规嵁缂栬緫涓氬姟瀵硅薄淇敼鎶曡瘔璁板綍
+	 * @param bo 鎶曡瘔璁板綍缂栬緫涓氬姟瀵硅薄
+	 * @return  true鎴愬姛 false澶辫触
+	 */
+	Boolean updateByBo(EnforceComplaintLogBo bo);
+
+	/**
+	 * 鏍¢獙骞跺垹闄ゆ暟鎹�
+	 * @param ids 涓婚敭闆嗗悎
+	 * @return  true鎴愬姛 false澶辫触
+	 */
+	Boolean deleteByIds(Collection<Long> ids);
+}
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
index b3cb883..29fa7fe 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
@@ -12,6 +12,7 @@
 import com.project.enforce.service.IEnforceOrderService;
 import com.project.system.domain.SysCompany;
 import com.project.system.domain.bo.editBo.CheckBo;
+import com.project.system.domain.bo.editBo.SysCompanyBo;
 import com.project.system.service.ISysCompanyService;
 import com.project.system.service.ISysUserService;
 import lombok.RequiredArgsConstructor;
@@ -49,13 +50,18 @@
                 if (company==null) {
                     throw new BaseException("娌℃湁鎵惧埌瀵瑰簲鏁版嵁锛岃妫�鏌ュ鏍哥被鍨嬶紒");
                 }
+                SysCompanyBo companyBo = new SysCompanyBo();
+                companyBo.setCompanyId(company.getCompanyId());
                 if (bo.getCheckStatus()== -1){
                     company.setCheckStatus(-1);
+                    companyBo.setCompanyStatus(1);
                 } else {
                     company.setCheckStatus(2);
+                    companyBo.setCompanyStatus(0);
                 }
                 addCheckLog(company, bo);
                 company.setCheckReason(bo.getCheckReason());
+                companyService.updStatus(companyBo);
                 return companyService.updateById(company);
             case 2:
                 EnforceOrder order = orderService.getById(bo.getId());
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java
new file mode 100644
index 0000000..a1083fb
--- /dev/null
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java
@@ -0,0 +1,115 @@
+package com.project.enforce.service.impl;
+
+import cn.hutool.core.convert.Convert;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.project.common.utils.StringUtils;
+import com.project.enforce.domain.EnforceComplaintLog;
+import com.project.enforce.domain.bo.editBo.EnforceComplaintLogBo;
+import com.project.enforce.domain.bo.queryBo.EnforceComplaintLogQueryBo;
+import com.project.enforce.domain.vo.EnforceComplaintLogVo;
+import com.project.enforce.mapper.EnforceComplaintLogMapper;
+import com.project.enforce.service.IEnforceComplaintLogService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 鎶曡瘔璁板綍Service涓氬姟灞傚鐞�
+ *
+ * @author manton
+ */
+@Service
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+public class EnforceComplaintLogServiceImpl extends ServiceImpl<EnforceComplaintLogMapper, EnforceComplaintLog> implements IEnforceComplaintLogService {
+
+
+
+    @Override//鍒楄〃鏌ヨ
+    public List<EnforceComplaintLogVo> queryList(EnforceComplaintLogQueryBo bo)
+    {
+        QueryWrapper<EnforceComplaintLog> qw = getQw(bo);
+        List<EnforceComplaintLog> list = this.list(qw);
+        return Convert.toList(EnforceComplaintLogVo.class , list);
+    }
+
+    @Override//id鏌ヨ
+    public EnforceComplaintLogVo queryById(Long id)
+    {
+        EnforceComplaintLog db = this.baseMapper.selectById(id);
+        return Convert.convert(EnforceComplaintLogVo.class , db);
+    }
+
+
+    @Override//娣诲姞
+    @Transactional
+    public Boolean insertByBo(EnforceComplaintLogBo bo)
+    {
+        EnforceComplaintLog add = Convert.convert(EnforceComplaintLog.class, bo);
+        validEntityBeforeSave(add);
+        return this.save(add);
+    }
+
+    @Override//淇敼
+    @Transactional
+    public Boolean updateByBo(EnforceComplaintLogBo bo)
+    {
+        EnforceComplaintLog update = Convert.convert(EnforceComplaintLog.class, bo);
+        validEntityBeforeSave(update);
+        return this.updateById(update);
+    }
+
+    @Override//鍒犻櫎
+    @Transactional
+    public Boolean deleteByIds(Collection<Long> ids)
+    {
+
+        //鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�
+
+        return this.removeByIds(ids);
+    }
+
+
+//-------------------------------------------------------------------------------------
+
+    //淇濆瓨鍓嶆牎楠�
+    private void validEntityBeforeSave(EnforceComplaintLog entity)
+    {
+        //鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
+    }
+
+    //鑾峰彇鏌ヨ鍙傛暟
+    private QueryWrapper<EnforceComplaintLog> getQw(EnforceComplaintLogQueryBo bo)
+    {
+        QueryWrapper<EnforceComplaintLog> qw = Wrappers.query();
+
+            qw.eq(StringUtils.isNotEmpty(bo.getOrderId()), "order_id", bo.getOrderId());
+            qw.eq(StringUtils.isNotEmpty(bo.getOrderNo()), "order_no", bo.getOrderNo());
+            qw.eq(StringUtils.isNotEmpty(bo.getEnforceReason()), "enforce_reason", bo.getEnforceReason());
+            qw.eq(bo.getCompanyId() != null, "company_id", bo.getCompanyId());
+            qw.like(StringUtils.isNotEmpty(bo.getCompanyName()), "company_name", bo.getCompanyName());
+            qw.eq(StringUtils.isNotEmpty(bo.getCompanyUser()), "company_user", bo.getCompanyUser());
+            qw.eq(StringUtils.isNotEmpty(bo.getCompanyPhone()), "company_phone", bo.getCompanyPhone());
+            qw.eq(bo.getExecuteUser() != null, "execute_user", bo.getExecuteUser());
+            qw.eq(bo.getExecutePhone() != null, "execute_phone", bo.getExecutePhone());
+            qw.like(bo.getExecuteDeptName() != null, "execute_dept_name", bo.getExecuteDeptName());
+            qw.eq(StringUtils.isNotEmpty(bo.getComplaintType()), "complaint_type", bo.getComplaintType());
+            qw.eq(StringUtils.isNotEmpty(bo.getComplaintReason()), "complaint_reason", bo.getComplaintReason());
+            qw.eq(bo.getComplaintStatus() != null, "complaint_status", bo.getComplaintStatus());
+            qw.eq(StringUtils.isNotEmpty(bo.getReturnReason()), "return_reason", bo.getReturnReason());
+            qw.eq(StringUtils.isNotEmpty(bo.getComplaintResult()), "complaint_result", bo.getComplaintResult());
+        if (StringUtils.isNotEmpty(bo.getIsAsc()) && StringUtils.isNotEmpty(bo.getOrderByColumn())){
+            if ("acs".equals(bo.getIsAsc())) {
+                qw.orderByAsc(bo.getOrderByColumn());
+            } else if ("desc".equals(bo.getIsAsc())) {
+                qw.orderByDesc(bo.getOrderByColumn());
+            }
+        }
+        return qw;
+    }
+}
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java
index 8d08a34..d8fcbb8 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java
@@ -38,7 +38,7 @@
     {
         List<EnforceEvaluateQuestion> questionList = bo.getQuestionList();
         if (StringUtils.isEmpty(questionList)){
-            throw new BaseException("棰樼洰涓嶅彲涓虹┖锛�");
+            throw new BaseException("璇勪环椤逛笉鍙负绌猴紒");
         }
         for (EnforceEvaluateQuestion question : bo.getQuestionList()) {
             if (question.getQuestionType()==1 && StringUtils.isEmpty(question.getAnswerList())){
@@ -48,16 +48,8 @@
                 int count = questionService.count(questionService.lq()
                         .eq(EnforceEvaluateQuestion::getQuestionName, question.getQuestionId()));
                 if (count>0) {
-                    throw new BaseException(StringUtils.format("{}锛岄鐩噸澶嶏紝璇烽噸璇曪紒", question.getQuestionName()));
+                    throw new BaseException(StringUtils.format("{}锛岄噸澶嶏紝璇烽噸璇曪紒", question.getQuestionName()));
                 }
-                if (StringUtils.isNotEmpty(question.getAnswerList())){
-                    EnforceEvaluateQuestion one = questionService.getOne(questionService.lq().eq(EnforceEvaluateQuestion::getQuestionName, question.getQuestionName()));
-                    question.getAnswerList().forEach(enforceEvaluateAnswer -> {
-                        enforceEvaluateAnswer.setQuestionId(one.getQuestionId());
-                        enforceEvaluateAnswer.setQuestionName(one.getQuestionName());
-                    });
-                }
-
             } else {
                 int count = questionService.count(questionService.lq().
                         eq(EnforceEvaluateQuestion::getQuestionName, question.getQuestionId())
@@ -68,11 +60,15 @@
             }
             questionService.saveOrUpdate(question);
             if (StringUtils.isNotEmpty(question.getAnswerList())){
+                EnforceEvaluateQuestion one = questionService.getOne(questionService.lq().eq(EnforceEvaluateQuestion::getQuestionName, question.getQuestionName()));
+                question.getAnswerList().forEach(enforceEvaluateAnswer -> {
+                    enforceEvaluateAnswer.setQuestionId(one.getQuestionId());
+                    enforceEvaluateAnswer.setQuestionName(one.getQuestionName());
+                });
                 answerService.saveOrUpdateBatch(question.getAnswerList());
             }
         }
-
-        return null;
+        return true;
     }
 
     @Override//璇勪环璁剧疆璇︽儏
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
index 0468779..bd34b92 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
@@ -67,7 +67,6 @@
         }
 
         bo.setCheckDeptId(deptService.getCheckDeptIdByLoginDeptId(loginUser.getDeptId()));
-
         bo.setApplyDeptIds(deptService.getApplyDeptIdsByLoginUserId(loginUser.getUserId()));
 
         return this.baseMapper.selectCheckList(bo);
diff --git a/project-enforce/src/main/resources/mapper/enforce/EnforceComplaintLogMapper.xml b/project-enforce/src/main/resources/mapper/enforce/EnforceComplaintLogMapper.xml
new file mode 100644
index 0000000..22f600b
--- /dev/null
+++ b/project-enforce/src/main/resources/mapper/enforce/EnforceComplaintLogMapper.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.project.enforce.mapper.EnforceComplaintLogMapper">
+    
+    <resultMap type="EnforceComplaintLog" id="EnforceComplaintLogResult">
+        <result property="id"    column="id"    />
+        <result property="orderId"    column="order_id"    />
+        <result property="orderNo"    column="order_no"    />
+        <result property="enforceReason"    column="enforce_reason"    />
+        <result property="companyId"    column="company_id"    />
+        <result property="companyName"    column="company_name"    />
+        <result property="companyUser"    column="company_user"    />
+        <result property="companyPhone"    column="company_phone"    />
+        <result property="executeUser"    column="execute_user"    />
+        <result property="executePhone"    column="execute_phone"    />
+        <result property="executeDeptName"    column="execute_dept_name"    />
+        <result property="complaintType"    column="complaint_type"    />
+        <result property="complaintReason"    column="complaint_reason"    />
+        <result property="complaintStatus"    column="complaint_status"    />
+        <result property="returnReason"    column="return_reason"    />
+        <result property="complaintResult"    column="complaint_result"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+        <result property="delFlag"    column="del_flag"    />
+    </resultMap>
+
+
+
+</mapper>
\ No newline at end of file
diff --git a/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml b/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml
index 52c5596..fd174aa 100644
--- a/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml
+++ b/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml
@@ -82,10 +82,15 @@
                 AND check_level = #{checkLevel}
             </if>
 
-            <if test="checkLevel != null ">
-                AND apply_dept_id in #{checkLevel}
+            <if test="applyDeptIds != null ">
+                AND apply_dept_id in
+                <foreach collection="applyDeptIds" item="applyDeptId" open="(" separator="," close=")">
+                    #{applyDeptId}
+                </foreach>
             </if>
 
+
+
         </where>
     </select>
 
diff --git a/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java b/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java
index 0a9eb08..50cf765 100644
--- a/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java
+++ b/project-framework/src/main/java/com/project/framework/web/service/SysLoginService.java
@@ -21,6 +21,7 @@
 import com.project.common.exception.user.CaptchaException;
 import com.project.common.exception.user.CaptchaExpireException;
 import com.project.common.exception.user.UserPasswordNotMatchException;
+import com.project.common.sms.YPSmsApi;
 import com.project.common.utils.DateUtils;
 import com.project.common.utils.MessageUtils;
 import com.project.common.utils.ServletUtils;
@@ -125,14 +126,31 @@
         if (user==null){
             throw new BaseException("鎮ㄦ墜鏈哄彿灏氭湭娉ㄥ唽锛�");
         }
-
         // 鐢熸垚4浣嶉殢鏈烘暟
         String code = "";
         Random ran = new Random();
         int randomNum = ran.nextInt(10000);
         code = String.format("%04d", randomNum);
         log.info("鎵嬫満鍙凤細"+phone+"->楠岃瘉鐮侊細"+code);
-        Boolean flag = true;
+        boolean send = sendAl(phone, code);
+        if (send){
+            redisCache.setCacheObject(getCacheKey(phone), code, Constants.PHONE_EXPIRATION, TimeUnit.MINUTES);
+            return true;
+        }
+        redisCache.setCacheObject(getCacheKey(phone), code, Constants.PHONE_EXPIRATION, TimeUnit.MINUTES);
+        return false;
+    }
+
+    private boolean sendYp(String phone, String code ){
+        String result = YPSmsApi.sendSms(phone, StringUtils.format(YPSmsApi.VERIFY_CODE_TEMPLATE, code, Constants.PHONE_EXPIRATION));
+        if (result.contains("\"code\":0,\"msg\":\"OK\"")){
+            log.info("鍙戦�佹垚鍔� ->楠岃瘉鐮侊細"+code);
+            return true;
+        }
+        return false;
+    }
+
+    private boolean sendAl(String phone, String code ){
         DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", AliyunSmsConstants.SMS_APPID, AliyunSmsConstants.SMS_SECRET);
         IAcsClient client = new DefaultAcsClient(profile);
         CommonRequest request = new CommonRequest();
@@ -149,15 +167,12 @@
             JSONObject jsonObject = JSON.parseObject(response.getData());
             if ("OK".equals(jsonObject.get("Code"))) {
                 log.info("鍙戦�佹垚鍔� ->楠岃瘉鐮侊細"+code);
-                redisCache.setCacheObject(getCacheKey(phone), code, Constants.PHONE_EXPIRATION, TimeUnit.MINUTES);
                 return true;
             }
-
         } catch (ClientException e) {
             e.printStackTrace();
         }
-        redisCache.setCacheObject(getCacheKey(phone), code, Constants.PHONE_EXPIRATION, TimeUnit.MINUTES);
-        return flag;
+        return false;
     }
 
     /**
diff --git a/project-system/src/main/java/com/project/system/mapper/SysDictDataMapper.java b/project-system/src/main/java/com/project/system/mapper/SysDictDataMapper.java
index c7c941e..dc02d75 100644
--- a/project-system/src/main/java/com/project/system/mapper/SysDictDataMapper.java
+++ b/project-system/src/main/java/com/project/system/mapper/SysDictDataMapper.java
@@ -1,8 +1,9 @@
 package com.project.system.mapper;
 
-import java.util.List;
-import org.apache.ibatis.annotations.Param;
 import com.project.common.core.domain.entity.SysDictData;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 瀛楀吀琛� 鏁版嵁灞�
@@ -103,4 +104,17 @@
     public int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType);
 
 
+    /**
+     * 鏍规嵁瀛楀吀绫诲瀷鏌ヨ瀛楀吀鍊兼槸鍚﹀瓨鍦�
+     * @param dictType  绫诲瀷
+     * @return  鏉℃暟
+     */
+    public int countByDictTypeAndValue(@Param("dictType") String dictType, @Param("dictValue") String dictValue, @Param("dictCode") Long dictCode);
+
+    /**
+     * 鏍规嵁瀛楀吀绫诲瀷鏌ヨ瀛楀吀鍊兼槸鍚﹀瓨鍦�
+     * @param dictType  绫诲瀷
+     * @return  鏉℃暟
+     */
+    public int countByDictTypeAndLabel(@Param("dictType") String dictType, @Param("dictLabel") String dictLabel, @Param("dictCode") Long dictCode);
 }
diff --git a/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java
index 8b65360..f8335ef 100644
--- a/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java
+++ b/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java
@@ -60,6 +60,7 @@
     public Boolean insertByBo(SysCompanyBo bo)
     {
         SysCompany add = Convert.convert(SysCompany.class, bo);
+        add.setCompanyStatus(1);
         validEntityBeforeSave(add);
         boolean save = this.save(add);
         addCompanyUser(add, 0);
@@ -77,7 +78,7 @@
             if (!delUser) {
                 throw new BaseException("鍘熶紒涓氱敤鎴锋竻闄ゅけ璐ワ紝璇疯仈绯荤鐞嗗憳锛�");
             }
-            this.addCompanyUser(update, 0);
+            this.addCompanyUser(update, update.getCompanyStatus()==0 ? 1 : 0);
         }
         validEntityBeforeSave(update);
         return this.updateById(update);
@@ -269,6 +270,7 @@
         user.setPassword(phone);
         user.setDeptId(one.getCompanyId());
         user.setUserType("02");
+        user.setRecommendUser(user.getPassword());
         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user)))
         {
             return;
@@ -285,7 +287,6 @@
         }
         user.setCreateBy(SecurityUtils.getUsername());
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
-        user.setRecommendUser(user.getPassword());
         userService.insertUser(user);
     }
 
diff --git a/project-system/src/main/java/com/project/system/service/impl/SysDictDataServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysDictDataServiceImpl.java
index be855dc..a1a098e 100644
--- a/project-system/src/main/java/com/project/system/service/impl/SysDictDataServiceImpl.java
+++ b/project-system/src/main/java/com/project/system/service/impl/SysDictDataServiceImpl.java
@@ -1,16 +1,18 @@
 package com.project.system.service.impl;
 
-import java.util.List;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 import com.project.common.core.domain.entity.SysDictData;
+import com.project.common.exception.base.BaseException;
 import com.project.common.utils.DictUtils;
 import com.project.system.mapper.SysDictDataMapper;
 import com.project.system.service.ISysDictDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * 瀛楀吀 涓氬姟灞傚鐞�
- * 
+ *
  * @author project
  */
 @Service
@@ -21,7 +23,7 @@
 
     /**
      * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瀛楀吀鏁版嵁
-     * 
+     *
      * @param dictData 瀛楀吀鏁版嵁淇℃伅
      * @return 瀛楀吀鏁版嵁闆嗗悎淇℃伅
      */
@@ -33,7 +35,7 @@
 
     /**
      * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏搁敭鍊兼煡璇㈠瓧鍏告暟鎹俊鎭�
-     * 
+     *
      * @param dictType 瀛楀吀绫诲瀷
      * @param dictValue 瀛楀吀閿��
      * @return 瀛楀吀鏍囩
@@ -59,7 +61,7 @@
 
     /**
      * 鏍规嵁瀛楀吀鏁版嵁ID鏌ヨ淇℃伅
-     * 
+     *
      * @param dictCode 瀛楀吀鏁版嵁ID
      * @return 瀛楀吀鏁版嵁
      */
@@ -71,7 +73,7 @@
 
     /**
      * 鎵归噺鍒犻櫎瀛楀吀鏁版嵁淇℃伅
-     * 
+     *
      * @param dictCodes 闇�瑕佸垹闄ょ殑瀛楀吀鏁版嵁ID
      */
     @Override
@@ -88,13 +90,21 @@
 
     /**
      * 鏂板淇濆瓨瀛楀吀鏁版嵁淇℃伅
-     * 
+     *
      * @param data 瀛楀吀鏁版嵁淇℃伅
      * @return 缁撴灉
      */
     @Override
     public int insertDictData(SysDictData data)
     {
+        int valueCount = dictDataMapper.countByDictTypeAndValue(data.getDictType(),data.getDictValue(), null);
+        if (valueCount>0) {
+            throw new BaseException("绫诲瀷涓瓧鍏稿�煎凡瀛樺湪锛�");
+        }
+        int labelCount = dictDataMapper.countByDictTypeAndLabel(data.getDictType(),data.getDictLabel(), null);
+        if (labelCount>0) {
+            throw new BaseException("绫诲瀷涓瓧鍏告爣绛惧凡瀛樺湪锛�");
+        }
         int row = dictDataMapper.insertDictData(data);
         if (row > 0)
         {
@@ -106,13 +116,21 @@
 
     /**
      * 淇敼淇濆瓨瀛楀吀鏁版嵁淇℃伅
-     * 
+     *
      * @param data 瀛楀吀鏁版嵁淇℃伅
      * @return 缁撴灉
      */
     @Override
     public int updateDictData(SysDictData data)
     {
+        int valueCount = dictDataMapper.countByDictTypeAndValue(data.getDictType(),data.getDictValue(), data.getDictCode());
+        if (valueCount>0) {
+            throw new BaseException("绫诲瀷涓瓧鍏稿�煎凡瀛樺湪锛�");
+        }
+        int labelCount = dictDataMapper.countByDictTypeAndLabel(data.getDictType(),data.getDictLabel(), data.getDictCode());
+        if (labelCount>0) {
+            throw new BaseException("绫诲瀷涓瓧鍏告爣绛惧凡瀛樺湪锛�");
+        }
         int row = dictDataMapper.updateDictData(data);
         if (row > 0)
         {
diff --git a/project-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/project-system/src/main/resources/mapper/system/SysDictDataMapper.xml
index 301892e..29a9fb6 100644
--- a/project-system/src/main/resources/mapper/system/SysDictDataMapper.xml
+++ b/project-system/src/main/resources/mapper/system/SysDictDataMapper.xml
@@ -126,4 +126,14 @@
  		)
 	</insert>
 
+	<select id="countByDictTypeAndValue" resultType="Integer">
+		select count(1) from sys_dict_data where dict_type=#{dictType} and dict_value=#{dictValue}
+		<if test="dictCode != null"> and dict_code != #{dictCode} </if>
+	</select>
+
+	<select id="countByDictTypeAndLabel" resultType="Integer">
+		select count(1) from sys_dict_data where dict_type=#{dictType} and dict_label=#{dictLabel}
+		<if test="dictCode != null"> and dict_code != #{dictCode} </if>
+	</select>
+
 </mapper>

--
Gitblit v1.9.1