Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	fjs-scenic-wx/src/main/resources/application-qjldcx.properties
pj 1 rok temu
rodzic
commit
95a8b8f79f
58 zmienionych plików z 2062 dodań i 17507 usunięć
  1. 123 0
      .gitignore
  2. 36 0
      .idea/inspectionProfiles/Project_Default.xml
  3. 6 1
      .idea/jarRepositories.xml
  4. 0 0
      .idea/sonarlint/issuestore/index.pb
  5. 4 15945
      .idea/workspace.xml
  6. 12 0
      fjs-parent.iml
  7. 50 10
      fjs-scenic-common/src/main/java/com/fjs/scenic/utils/Cons.java
  8. 10 0
      fjs-scenic-entity/pom.xml
  9. 20 0
      fjs-scenic-entity/src/main/java/com/fjs/scenic/dto/InputInfoDto.java
  10. 27 0
      fjs-scenic-entity/src/main/java/com/fjs/scenic/dto/InputInfoPageParam.java
  11. 23 0
      fjs-scenic-entity/src/main/java/com/fjs/scenic/dto/ManageListDto.java
  12. 32 0
      fjs-scenic-entity/src/main/java/com/fjs/scenic/entity/system/InpIncome.java
  13. 52 0
      fjs-scenic-entity/src/main/java/com/fjs/scenic/entity/system/InputInfo.java
  14. 39 0
      fjs-scenic-entity/src/main/java/com/fjs/scenic/entity/system/TypeAuthority.java
  15. 5 0
      fjs-scenic-manager/pom.xml
  16. 0 34
      fjs-scenic-manager/src/main/java/com/fjs/scenic/component/Configration.java
  17. 24 0
      fjs-scenic-manager/src/main/java/com/fjs/scenic/config/MyExceptionHandler.java
  18. 45 0
      fjs-scenic-manager/src/main/java/com/fjs/scenic/config/PrintHomeUrl.java
  19. 1 1
      fjs-scenic-manager/src/main/java/com/fjs/scenic/controller/UploadPicController.java
  20. 140 0
      fjs-scenic-manager/src/main/java/com/fjs/scenic/controller/system/InputInfoController.java
  21. 30 17
      fjs-scenic-manager/src/main/java/com/fjs/scenic/controller/system/ManageController.java
  22. 1 0
      fjs-scenic-manager/src/main/java/com/fjs/scenic/handler/MyUserDetailsService.java
  23. 0 125
      fjs-scenic-manager/src/main/resources/application-ddm.properties
  24. 8 54
      fjs-scenic-manager/src/main/resources/application-dev.properties
  25. 0 111
      fjs-scenic-manager/src/main/resources/application-fjs.properties
  26. 0 124
      fjs-scenic-manager/src/main/resources/application-fjsfjq.properties
  27. 0 106
      fjs-scenic-manager/src/main/resources/application-local.properties
  28. 10 0
      fjs-scenic-manager/src/main/resources/application-prod.properties
  29. 0 107
      fjs-scenic-manager/src/main/resources/application-qjldcx.properties
  30. 66 1
      fjs-scenic-manager/src/main/resources/application.properties
  31. 1 1
      fjs-scenic-manager/src/main/resources/templates/incloud/header.ftl
  32. 1 0
      fjs-scenic-manager/src/main/resources/templates/incloud/left.ftl
  33. 605 0
      fjs-scenic-manager/src/main/resources/templates/system/inputInfo.html
  34. 295 280
      fjs-scenic-manager/src/main/resources/templates/system/manage.html
  35. 30 21
      fjs-scenic-mapper/pom.xml
  36. 14 0
      fjs-scenic-mapper/src/main/java/com/fjs/scenic/mapper/system/InpIncomeMapper.java
  37. 14 0
      fjs-scenic-mapper/src/main/java/com/fjs/scenic/mapper/system/InputInfoMapper.java
  38. 14 0
      fjs-scenic-mapper/src/main/java/com/fjs/scenic/mapper/system/TypeAuthorityMapper.java
  39. 14 0
      fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/InpIncomeService.java
  40. 14 0
      fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/InputInfoService.java
  41. 1 1
      fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/ManageService.java
  42. 14 0
      fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/TypeAuthorityService.java
  43. 18 0
      fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/impl/InpIncomeServiceImpl.java
  44. 18 0
      fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/impl/InputInfoServiceImpl.java
  45. 56 12
      fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/impl/ManageServiceImpl.java
  46. 18 0
      fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/impl/TypeAuthorityServiceImpl.java
  47. 5 1
      fjs-scenic-wx/pom.xml
  48. 65 13
      fjs-scenic-wx/src/main/java/com/fjs/scenic/controller/LeaderQueryController.java
  49. 0 89
      fjs-scenic-wx/src/main/resources/application-ddm.properties
  50. 8 88
      fjs-scenic-wx/src/main/resources/application-dev.properties
  51. 0 100
      fjs-scenic-wx/src/main/resources/application-fjs.properties
  52. 0 91
      fjs-scenic-wx/src/main/resources/application-fjsdev.properties
  53. 0 93
      fjs-scenic-wx/src/main/resources/application-fjsfjq.properties
  54. 0 57
      fjs-scenic-wx/src/main/resources/application-local.properties
  55. 9 0
      fjs-scenic-wx/src/main/resources/application-prod.properties
  56. 1 1
      fjs-scenic-wx/src/main/resources/application-qjldcx.properties
  57. 63 1
      fjs-scenic-wx/src/main/resources/application.properties
  58. 20 22
      pom.xml

+ 123 - 0
.gitignore

@@ -0,0 +1,123 @@
+# Created by .ignore support plugin (hsz.mobi)
+### Maven template
+target/
+pom.xml.tag
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+pom.xml.next
+release.properties
+dependency-reduced-pom.xml
+buildNumber.properties
+.mvn/timing.properties
+# https://github.com/takari/maven-wrapper#usage-without-binary-jar
+.mvn/wrapper/maven-wrapper.jar
+
+### Vue template
+# gitignore template for Vue.js projects
+#
+# Recommended template: Node.gitignore
+
+# TODO: where does this rule come from?
+docs/_book
+
+# TODO: where does this rule come from?
+test/
+
+### Java template
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
+### JetBrains template
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+
+# Generated files
+.idea/**/contentModel.xml
+
+# Sensitive or high-churn files
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/dbnavigator.xml
+
+# Gradle
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# Gradle and Maven with auto-import
+# When using Gradle or Maven with auto-import, you should exclude module files,
+# since they will be recreated, and may cause churn.  Uncomment if using
+# auto-import.
+# .idea/artifacts
+# .idea/compiler.xml
+# .idea/jarRepositories.xml
+# .idea/modules.xml
+# .idea/*.iml
+# .idea/modules
+# *.iml
+# *.ipr
+
+# CMake
+cmake-build-*/
+
+# Mongo Explorer plugin
+.idea/**/mongoSettings.xml
+
+# File-based project format
+*.iws
+
+# IntelliJ
+out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Cursive Clojure plugin
+.idea/replstate.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+# Editor-based Rest Client
+.idea/httpRequests
+
+# Android studio 3.1+ serialized cache file
+.idea/caches/build_file_checksums.ser
+

+ 36 - 0
.idea/inspectionProfiles/Project_Default.xml

@@ -0,0 +1,36 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true">
+      <option name="TOP_LEVEL_CLASS_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="INNER_CLASS_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="METHOD_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="@return@param@throws or @exception" />
+        </value>
+      </option>
+      <option name="FIELD_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="IGNORE_DEPRECATED" value="false" />
+      <option name="IGNORE_JAVADOC_PERIOD" value="true" />
+      <option name="IGNORE_DUPLICATED_THROWS" value="false" />
+      <option name="IGNORE_POINT_TO_ITSELF" value="false" />
+      <option name="myAdditionalJavadocTags" value="date" />
+    </inspection_tool>
+  </profile>
+</component>

+ 6 - 1
.idea/jarRepositories.xml

@@ -4,7 +4,7 @@
     <remote-repository>
       <option name="id" value="central" />
       <option name="name" value="Central Repository" />
-      <option name="url" value="https://maven.aliyun.com/repository/public" />
+      <option name="url" value="https://repo.maven.apache.org/maven2" />
     </remote-repository>
     <remote-repository>
       <option name="id" value="central" />
@@ -16,5 +16,10 @@
       <option name="name" value="JBoss Community repository" />
       <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://maven.aliyun.com/repository/public" />
+    </remote-repository>
   </component>
 </project>

+ 0 - 0
.idea/sonarlint/issuestore/index.pb


Plik diff jest za duży
+ 4 - 15945
.idea/workspace.xml


+ 12 - 0
fjs-parent.iml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 50 - 10
fjs-scenic-common/src/main/java/com/fjs/scenic/utils/Cons.java

@@ -1,8 +1,14 @@
 package com.fjs.scenic.utils;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
 /**
  * This class is used for ...
  * 常量
+ *
  * @author lfj
  * @version 1.0
  * @CreateDate ${date} ${time}
@@ -15,12 +21,12 @@ public class Cons {
     /**
      * session的描述
      */
-    public static final String SESSION_INFO = "wsessionInfo" ;
+    public static final String SESSION_INFO = "wsessionInfo";
 
     /**
      * 管理账号状态
      */
-    public interface MANAGE_STATUS{
+    public interface MANAGE_STATUS {
         /**
          * 正常使用中
          */
@@ -35,7 +41,7 @@ public class Cons {
     /**
      * 普通用户账号状态
      */
-    public interface USER_STATUS{
+    public interface USER_STATUS {
         /**
          * 正常使用中
          */
@@ -50,7 +56,7 @@ public class Cons {
     /**
      * 景区级别
      */
-    public interface SCENIC_GRADE{
+    public interface SCENIC_GRADE {
         /**
          * 3A景区
          */
@@ -65,7 +71,7 @@ public class Cons {
         public static final Byte LEVEL5 = 5;
 
     }
-    
+
     /**
      * token名称
      */
@@ -125,8 +131,10 @@ public class Cons {
          */
         public static final String REFUND_ERROR = "9";
     }
-    
-    /**异常订单状态*/
+
+    /**
+     * 异常订单状态
+     */
     public interface ERROR_ORDER_TYPE {
         /**
          * 出票失败
@@ -142,7 +150,9 @@ public class Cons {
         public static final String PAY_ERROR = "3";
     }
 
-    /**梵净山决策系统权限*/
+    /**
+     * 梵净山决策系统权限
+     */
     public interface DECISION_PERMISSIONS {
         /**
          * 总统计
@@ -182,7 +192,9 @@ public class Cons {
         public static final String WESTSLIVE = "westslive";
     }
 
-    /**梵净山门票暂停、恢复售票*/
+    /**
+     * 梵净山门票暂停、恢复售票
+     */
     public interface SaleTicket_Type {
         /**
          * 暂停售票
@@ -195,7 +207,9 @@ public class Cons {
     }
 
 
-    /**日志类型*/
+    /**
+     * 日志类型
+     */
     public interface LOGS_TYPE {
         /**
          * 系统一般日志
@@ -206,4 +220,30 @@ public class Cons {
          */
         public static final Byte ERROR = 2;
     }
+
+    /**
+     * 公司列表 必须跟前端必须一一对应
+     */
+    public static final List<String> COMPANYS = new ArrayList<>(Arrays.asList("巴拉胡景区管理公司", "芭拉胡公司", "爱莉丝公司", "阿蓬江旅行社公司"));
+
+    /**
+     * 景区列表 必须跟前端必须一一对应
+     */
+    public static final List<String> SCENICS = new ArrayList<>(Arrays.asList("大峡谷景区", "水车坪景区", "濯水景区", "小南海", "十三寨",
+            "神龟峡景区", "官村", "爱莉丝", "阿蓬江旅行社公司"));
+
+
+    /**
+     * 后台管理员 景区资料录入权限信息
+     */
+    public interface TYPE_AUTHORITY {
+        /**
+         * 可读可写
+         */
+        public static final Byte ALL = 0;
+        /**
+         * 只读
+         */
+        public static final Byte READ = 1;
+    }
 }

+ 10 - 0
fjs-scenic-entity/pom.xml

@@ -12,5 +12,15 @@
       <artifactId>fjs-scenic-common</artifactId>
       <version>0.0.1-SNAPSHOT</version>
     </dependency>
+      <dependency>
+          <groupId>org.projectlombok</groupId>
+          <artifactId>lombok</artifactId>
+      </dependency>
+      <dependency>
+          <groupId>com.baomidou</groupId>
+          <artifactId>mybatis-plus-annotation</artifactId>
+          <version>3.4.3</version>
+          <scope>compile</scope>
+      </dependency>
   </dependencies>
 </project>

+ 20 - 0
fjs-scenic-entity/src/main/java/com/fjs/scenic/dto/InputInfoDto.java

@@ -0,0 +1,20 @@
+package com.fjs.scenic.dto;
+
+import com.fjs.scenic.entity.system.InpIncome;
+import com.fjs.scenic.entity.system.InputInfo;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @program: fjs-parent
+ * @description: 日报统计基础信息
+ * @author: lfj
+ * @since: 2021-09-30 15:26
+ **/
+
+@Data
+public class InputInfoDto extends InputInfo {
+    private List<InpIncome> income;
+}

+ 27 - 0
fjs-scenic-entity/src/main/java/com/fjs/scenic/dto/InputInfoPageParam.java

@@ -0,0 +1,27 @@
+package com.fjs.scenic.dto;
+
+import com.fjs.scenic.BasePage;
+import lombok.Data;
+import org.springframework.data.domain.Page;
+
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * @program: fjs-parent
+ * @description: 日报统计基础信息查询条件
+ * @author: lfj
+ * @since: 2021-09-30 16:31
+ **/
+
+@Data
+public class InputInfoPageParam {
+    private String startCreateTime;
+    private String endtCreateTime;
+    private String startStaticDate;
+    private String endStaticDate;
+    private List<String> scenics;
+    private String manager;
+    private Integer pageSize = 10;
+    private Integer currentPage = 1;
+}

+ 23 - 0
fjs-scenic-entity/src/main/java/com/fjs/scenic/dto/ManageListDto.java

@@ -0,0 +1,23 @@
+package com.fjs.scenic.dto;
+
+import com.fjs.scenic.entity.system.Manage;
+import lombok.Data;
+
+/**
+ * @program: fjs-parent
+ * @description: 后台管理员维护页面的list
+ * @author: lfj
+ * @since: 2021-09-28 11:06
+ **/
+
+@Data
+public class ManageListDto extends Manage {
+    /**
+     * 公司
+     */
+    private String company;
+    /**
+     * 景区
+     */
+    private String scenic;
+}

+ 32 - 0
fjs-scenic-entity/src/main/java/com/fjs/scenic/entity/system/InpIncome.java

@@ -0,0 +1,32 @@
+package com.fjs.scenic.entity.system;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * (InpIncome)实体类
+ *
+ * @author lfj
+ * @since 2021-09-30 15:16:31
+ */
+
+@Data
+public class InpIncome implements Serializable {
+    private static final long serialVersionUID = 702062402388139779L;
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private Integer inputInfoId;
+    /**
+     * 条目名称
+     */
+    private String item;
+    /**
+     * 值
+     */
+    private Integer sum;
+
+}

+ 52 - 0
fjs-scenic-entity/src/main/java/com/fjs/scenic/entity/system/InputInfo.java

@@ -0,0 +1,52 @@
+package com.fjs.scenic.entity.system;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.util.Date;
+
+/**
+ * (InputInfo)实体类
+ *
+ * @author lfj
+ * @since 2021-09-30 15:20:54
+ */
+
+@Data
+public class InputInfo implements Serializable {
+    private static final long serialVersionUID = 685778159669072758L;
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+    /**
+     * 公司名
+     */
+    private String company;
+    /**
+     * 景区名
+     */
+    private String scenic;
+    /**
+     * 合计金额
+     */
+    private Integer total;
+    /**
+     * 合计人次
+     */
+    private Integer personTimes;
+    /**
+     * 统计日期
+     */
+    private LocalDate staticDate;
+    /**
+     * 创建时间
+     */
+    private LocalDate createTime;
+    /**
+     * 上传人
+     */
+    private String manager;
+
+}

+ 39 - 0
fjs-scenic-entity/src/main/java/com/fjs/scenic/entity/system/TypeAuthority.java

@@ -0,0 +1,39 @@
+package com.fjs.scenic.entity.system;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+/**
+ * 后台管理员 景区资料录入权限信息(TypeAuthority)实体类
+ *
+ * @author lfj
+ * @since 2021-09-27 15:18:34
+ */
+
+@Data
+public class TypeAuthority implements Serializable {
+    private static final long serialVersionUID = 756719672169315134L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+    /**
+     * 公司
+     */
+    private Integer company;
+    /**
+     * 景区
+     */
+    private Integer scenic;
+    /**
+     * 0全部 1只读;景区销售权限
+     */
+    private Boolean authority;
+    /**
+     * 管理者
+     */
+    private Integer manager;
+
+}

+ 5 - 0
fjs-scenic-manager/pom.xml

@@ -91,6 +91,11 @@
 			<artifactId>log4j</artifactId>
 			<version>1.2.17</version>
 		</dependency>
+		<dependency>
+			<groupId>cn.hutool</groupId>
+			<artifactId>hutool-all</artifactId>
+			<version>5.7.13</version>
+		</dependency>
 	</dependencies>
 	<build>
 		<finalName>manager</finalName>

+ 0 - 34
fjs-scenic-manager/src/main/java/com/fjs/scenic/component/Configration.java

@@ -1,34 +0,0 @@
-package com.fjs.scenic.component;
-
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.PropertySource;
-import org.springframework.stereotype.Component;
-
-@Component
-@PropertySource("classpath:application.properties")
-public class Configration {
-
-	@Value("${ordersTasks.timmer}")
-	private String ordersTasks;
-	
-	@Value("${materialTasks.timmer}")
-	private String materialTasks;
-
-	public String getOrdersTasks() {
-		return ordersTasks;
-	}
-
-	public void setOrdersTasks(String ordersTasks) {
-		this.ordersTasks = ordersTasks;
-	}
-
-	public String getMaterialTasks() {
-		return materialTasks;
-	}
-
-	public void setMaterialTasks(String materialTasks) {
-		this.materialTasks = materialTasks;
-	}
-	
-	
-}

+ 24 - 0
fjs-scenic-manager/src/main/java/com/fjs/scenic/config/MyExceptionHandler.java

@@ -0,0 +1,24 @@
+package com.fjs.scenic.config;
+
+import com.fjs.scenic.utils.ReturnResult;
+import lombok.Data;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+/**
+ * @program: fjs-parent
+ * @description: 全局异常捕获
+ * @author: lfj
+ * @since: 2021-09-30 16:15
+ **/
+
+@ControllerAdvice
+public class MyExceptionHandler {
+
+    @ExceptionHandler(value =Exception.class)
+    @ResponseBody
+    public ReturnResult exceptionHandler(Exception e){
+        return ReturnResult.error(e.getMessage());
+    }
+}

+ 45 - 0
fjs-scenic-manager/src/main/java/com/fjs/scenic/config/PrintHomeUrl.java

@@ -0,0 +1,45 @@
+package com.fjs.scenic.config;
+
+import lombok.Data;
+import org.springframework.beans.BeansException;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+/**
+ * @program: fjs-parent
+ * @description: 打印首页地址
+ * @author: lfj
+ * @since: 2021-09-29 10:08
+ **/
+
+@Component
+public class PrintHomeUrl implements CommandLineRunner, ApplicationContextAware {
+    private static ApplicationContext ctx = null;
+
+    @Override
+    public void run(String... args) throws Exception {
+        try {
+            String host = InetAddress.getLocalHost().getHostAddress();
+            TomcatServletWebServerFactory tomcatServletWebServerFactory = (TomcatServletWebServerFactory) ctx
+                    .getBean("tomcatServletWebServerFactory");
+            int port = tomcatServletWebServerFactory.getPort();
+            String contextPath = tomcatServletWebServerFactory.getContextPath();
+            System.out.println("---------启动成功,访问: http://" + host + ":" + port + contextPath + "/");
+        } catch (UnknownHostException e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+        ctx = applicationContext;
+    }
+}

+ 1 - 1
fjs-scenic-manager/src/main/java/com/fjs/scenic/controller/UploadPicController.java

@@ -8,7 +8,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
 import com.fasterxml.jackson.annotation.ObjectIdGenerators;
-import org.apache.commons.io.FileUtils;
+import org.apache.tomcat.util.http.fileupload.FileUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.Assert;

+ 140 - 0
fjs-scenic-manager/src/main/java/com/fjs/scenic/controller/system/InputInfoController.java

@@ -0,0 +1,140 @@
+package com.fjs.scenic.controller.system;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjs.scenic.controller.common.BaseController;
+import com.fjs.scenic.dto.InputInfoDto;
+import com.fjs.scenic.dto.InputInfoPageParam;
+import com.fjs.scenic.entity.system.InpIncome;
+import com.fjs.scenic.entity.system.InputInfo;
+import com.fjs.scenic.entity.system.Manage;
+import com.fjs.scenic.entity.system.TypeAuthority;
+import com.fjs.scenic.service.system.InpIncomeService;
+import com.fjs.scenic.service.system.InputInfoService;
+import com.fjs.scenic.service.system.TypeAuthorityService;
+import com.fjs.scenic.service.system.impl.ManageServiceImpl;
+import com.fjs.scenic.utils.Cons;
+import com.fjs.scenic.utils.ReturnResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.Assert;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import javax.validation.Valid;
+import java.security.Principal;
+import java.time.LocalDate;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * This class is used for ...
+ *
+ * @author lfj
+ * @version 1.0
+ * @CreateDate ${date} ${time}
+ */
+@RestController
+@RequestMapping("/inputInfo")
+public class InputInfoController {
+    @Autowired
+    private InputInfoService inputInfoService;
+    @Autowired
+    private InpIncomeService inpIncomeService;
+    @Autowired
+    private ManageServiceImpl manageService;
+    @Autowired
+    private TypeAuthorityService typeAuthorityService;
+
+    @GetMapping("/index")
+    public ModelAndView sceniclist() {
+        return new ModelAndView("system/inputInfo");
+    }
+
+    @PostMapping("/add")
+    @Transactional(rollbackFor = Exception.class)
+    public ReturnResult add(@Valid @RequestBody List<InputInfoDto> inputInfoDtos, Principal principal) {
+        String account = principal.getName();
+        Manage manage = manageService.getMangerByAccount(account);
+        for (InputInfoDto inputInfoDto : inputInfoDtos) {
+            inputInfoDto.setCreateTime(LocalDate.now());
+            inputInfoDto.setManager(manage.getName());
+            int sum = inputInfoService.count(new LambdaQueryWrapper<InputInfo>()
+                    .eq(InputInfo::getStaticDate, inputInfoDto.getStaticDate())
+                    .eq(InputInfo::getScenic, inputInfoDto.getScenic()));
+            Assert.isTrue(sum == 0, "请勿重复添加");
+            inputInfoService.save(inputInfoDto);
+            if (inputInfoDto.getIncome() != null) {
+                for (InpIncome inpIncome : inputInfoDto.getIncome()) {
+                    inpIncome.setInputInfoId(inputInfoDto.getId());
+                    inpIncomeService.save(inpIncome);
+                }
+            }
+        }
+        return ReturnResult.ok();
+    }
+
+    @PostMapping("/edit")
+    @Transactional(rollbackFor = Exception.class)
+    public ReturnResult edit(@RequestBody List<InputInfoDto> inputInfoDtos) {
+        InputInfoDto inputInfoDto = inputInfoDtos.get(0);
+        inputInfoService.updateById(inputInfoDto);
+        if (inputInfoDto.getIncome() != null) {
+            inpIncomeService.updateBatchById(inputInfoDto.getIncome());
+        }
+        return ReturnResult.ok();
+    }
+
+    @PostMapping("/page")
+    public ReturnResult page(@RequestBody InputInfoPageParam param) {
+        return ReturnResult.ok(inputInfoService
+                .page(new Page<>(param.getCurrentPage(), param.getPageSize()), new LambdaQueryWrapper<InputInfo>()
+                        .gt(ObjectUtil.isNotEmpty(param.getStartCreateTime()), InputInfo::getCreateTime, param.getStartCreateTime())
+                        .le(ObjectUtil.isNotEmpty(param.getEndtCreateTime()), InputInfo::getCreateTime, param.getEndtCreateTime())
+                        .gt(ObjectUtil.isNotEmpty(param.getStartStaticDate()), InputInfo::getStaticDate, param.getStartStaticDate())
+                        .le(ObjectUtil.isNotEmpty(param.getEndStaticDate()), InputInfo::getStaticDate, param.getEndStaticDate())
+                        .in(ObjectUtil.isNotEmpty(param.getScenics()), InputInfo::getScenic, param.getScenics())
+                        .eq(ObjectUtil.isNotEmpty(param.getManager()), InputInfo::getManager, param.getManager())
+                )
+        );
+    }
+
+    @PostMapping("/del")
+    @ResponseBody
+    public ReturnResult del(int id) {
+        inpIncomeService.remove(new LambdaQueryWrapper<InpIncome>().eq(InpIncome::getInputInfoId, id));
+        return ReturnResult.ok(inputInfoService.removeById(id));
+    }
+
+    @PostMapping("/getTypeAuthority")
+    public ReturnResult getTypeAuthority(Principal principal) {
+        String account = principal.getName();
+        Manage manage = manageService.getMangerByAccount(account);
+        List<TypeAuthority> typeAuthorities = typeAuthorityService.list(new LambdaQueryWrapper<TypeAuthority>()
+                .eq(TypeAuthority::getManager, manage.getId())
+                .eq(TypeAuthority::getAuthority, Cons.TYPE_AUTHORITY.ALL));
+        if (typeAuthorities.isEmpty()) {
+            return ReturnResult.ok();
+        }
+        return ReturnResult.ok(typeAuthorities.stream().map(TypeAuthority::getScenic).collect(Collectors.toList()));
+    }
+
+    /**
+     * 获取 income
+     *
+     * @param id
+     * @return
+     */
+    @PostMapping("/get")
+    public ReturnResult get(Integer id) {
+        return ReturnResult.ok(inpIncomeService.list(new LambdaQueryWrapper<InpIncome>().eq(InpIncome::getInputInfoId, id)));
+    }
+
+}

+ 30 - 17
fjs-scenic-manager/src/main/java/com/fjs/scenic/controller/system/ManageController.java

@@ -6,17 +6,16 @@ import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fjs.scenic.entity.system.TypeAuthority;
+import com.fjs.scenic.service.system.TypeAuthorityService;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
 import com.fjs.scenic.controller.common.BaseController;
@@ -40,6 +39,8 @@ public class ManageController extends BaseController<Manage> {
     private ManageServiceImpl manageService;
     @Autowired
     private BCryptPasswordEncoder passwordEncoder;
+    @Autowired
+    private TypeAuthorityService typeAuthorityService;
 
     @GetMapping("/index")
     public ModelAndView sceniclist(HttpSession session) {
@@ -48,7 +49,7 @@ public class ManageController extends BaseController<Manage> {
 
     @PostMapping("/addManage")
     public ReturnResult addManage(Manage record, HttpServletRequest request) {
-       /* WSessionInfo sessionInfo = (WSessionInfo) request.getSession().getAttribute(Cons.SESSION_INFO);*/
+        /* WSessionInfo sessionInfo = (WSessionInfo) request.getSession().getAttribute(Cons.SESSION_INFO);*/
 
         //检验用户名是否存在
         Manage nameRepet = new Manage();
@@ -82,6 +83,22 @@ public class ManageController extends BaseController<Manage> {
         return manageService.saveManageRole(id, roles);
     }
 
+    @PostMapping("/saveTypeAuthority")
+    @ResponseBody
+    public ReturnResult saveTypeAuthority(@RequestBody List<TypeAuthority> typeAuthoritys) {
+        typeAuthorityService.remove(new LambdaQueryWrapper<TypeAuthority>().eq(TypeAuthority::getManager, typeAuthoritys.get(0).getManager()));
+        return ReturnResult.ok(typeAuthorityService.saveBatch(typeAuthoritys));
+    }
+
+    @PostMapping("/getTypeAuthority/{id}")
+    @ResponseBody
+    public ReturnResult getTypeAuthority(@PathVariable("id") Integer id) {
+        return ReturnResult.ok(typeAuthorityService.listMaps(new LambdaQueryWrapper<TypeAuthority>()
+                .select(TypeAuthority::getCompany, TypeAuthority::getScenic, TypeAuthority::getAuthority)
+                .eq(TypeAuthority::getManager, id)
+        ));
+    }
+
     @GetMapping("/get/{id}")
     public ReturnResult get(@PathVariable("id") Integer id) {
         return manageService.get(id);
@@ -89,12 +106,7 @@ public class ManageController extends BaseController<Manage> {
 
     @PostMapping("/page1")
     public ReturnResult page1(Manage record, int currentPage, int pageSize) {
-        currentPage = (currentPage == 0) ? 1 : currentPage;
-        pageSize = (pageSize == 0) ? 1 : pageSize;
-        PageHelper.startPage(currentPage, pageSize);
-        List<Manage> manages = manageService.page1(record);
-        PageInfo<Manage> pageInfo = new PageInfo<>(manages);
-        return ReturnResult.ok(pageInfo);
+        return manageService.selfPage(record,currentPage,pageSize);
     }
 
     /**
@@ -112,9 +124,10 @@ public class ManageController extends BaseController<Manage> {
 
     /**
      * 修改密码
+     *
      * @param principal
-     * @param oldPWD 原密码
-     * @param newPWD 新密码
+     * @param oldPWD    原密码
+     * @param newPWD    新密码
      * @return
      */
     @PostMapping("/updatePWD")
@@ -133,9 +146,9 @@ public class ManageController extends BaseController<Manage> {
     @PostMapping("/update")
     public ReturnResult update(Manage record) {
         String password = record.getPassword();
-        if(!StringUtils.isEmpty(password)){
+        if (!StringUtils.isEmpty(password)) {
             record.setPassword(passwordEncoder.encode(password));
-        }else{
+        } else {
             record.setPassword(null);
         }
         return ReturnResult.ok(manageService.update(record));

+ 1 - 0
fjs-scenic-manager/src/main/java/com/fjs/scenic/handler/MyUserDetailsService.java

@@ -48,6 +48,7 @@ public class MyUserDetailsService implements UserDetailsService {
 	private List<GrantedAuthority> getAuthorities(Manage manager) {
 		List<GrantedAuthority> authorities = new ArrayList();
 		authorities.add(new SimpleGrantedAuthority("/manage/index"));
+		authorities.add(new SimpleGrantedAuthority("/inputInfo/index"));
 		authorities.add(new SimpleGrantedAuthority("/leaderManage/index"));
 		authorities.add(new SimpleGrantedAuthority("/statisticalPermissions/index"));
 		authorities.add(new SimpleGrantedAuthority("/statisticalPermissions/page"));

+ 0 - 125
fjs-scenic-manager/src/main/resources/application-ddm.properties

@@ -1,125 +0,0 @@
-server.port=8089
-
-#spring.thymeleaf.cache=false
-#spring.thymeleaf.mode=LEGACYHTML5
-#spring.thymeleaf.encoding=UTF-8
-#spring.thymeleaf.servlet.content-type=text/html
-#spring.thymeleaf.prefix=classpath:/templates/
-#spring.thymeleaf.suffix=.html
-#freemarker
-spring.freemarker.allow-request-override=false
-spring.freemarker.allow-session-override=false
-spring.freemarker.cache=false
-spring.freemarker.charset=UTF-8
-spring.freemarker.spring.freemarker.check-template-location=true
-spring.freemarker.content-type=text/html
-spring.freemarker.enabled=true
-spring.freemarker.expose-request-attributes=false
-spring.freemarker.expose-session-attributes=false
-spring.freemarker.expose-spring-macro-helpers=true
-spring.freemarker.prefer-file-system-access=true
-spring.freemarker.suffix=.html
-spring.freemarker.template-loader-path=classpath:/templates/
-spring.freemarker.settings.template_update_delay=0
-spring.freemarker.settings.default_encoding=UTF-8
-spring.freemarker.settings.classic_compatible=true
-
-
-
-jdbc.driverClass=com.mysql.jdbc.Driver
-#spring.datasource.url=jdbc:mysql://119.23.48.168:61111/fjs_scenic?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-#spring.datasource.username=root
-#spring.datasource.password=Ectrip2019
-spring.datasource.url=jdbc:mysql://47.95.230.126:33066/fjs-scenic?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-spring.datasource.username=root
-spring.datasource.password=root
-
-
-#spring.redis.database=4
-#spring.redis.host=119.23.48.168
-##spring.redis.cluster.nodes=119.23.48.168:61379,47.95.230.126:6379
-#spring.redis.port=61379
-#spring.redis.password=
-#spring.redis.pool.max-active=8
-#spring.redis.pool.max-wait=-1
-#spring.redis.pool.max-idle=8
-#spring.redis.pool.min-idle=0
-#spring.redis.timeout=5000
-spring.redis.database=0
-spring.redis.host=119.23.48.168
-spring.redis.port=61379
-spring.redis.password=
-#spring.redis.host=47.111.181.152
-#spring.redis.port=6379
-#spring.redis.password=fjsfjq
-
-#spring.redis.host=47.95.230.126
-#spring.redis.port=6379
-#spring.redis.password=
-spring.redis.pool.max-active=8
-spring.redis.pool.max-wait=-1
-spring.redis.pool.max-idle=8
-spring.redis.pool.min-idle=0
-spring.redis.timeout=5000
-
-
-
-spring.servlet.multipart.max-file-size=100Mb
-spring.servlet.multipart.max-request-size=100Mb
-mybatis.mapper-locations=classpath:mapper/**/*.xml
-mybatis.type-aliases-package=com.fjs.scenic.entity
-# 驼峰命�规范 如:数�库字段是  order_id 那么 实体字段就�写� orderId
-mybatis.configuration.map-underscore-to-camel-case=true
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-logging.level.com.fjs.scenic.mapper=debug
-
-#FTP
-FTP_ADDRESS = ftp.cqhsrj.com
-FTP_PORT = 21
-FTP_USERNAME = ftpuser
-FTP_PASSWORD = ectrip2018
-FTP_BASEPATH = /images/fjs
-FTP_VOID_BASEPATH = /void/fjs
-NGINX_PORT = 8081
-
-
-#img.path=D://yangya//workspace//fjs-parent//fjs-scenic-manager//src//main//resources//static//images/
-#img.addr=http://127.0.0.1:8089/images/
-img.path=/data/fjs/images/
-img.addr=http://t.cqhsrj.com/images/
-
-
-CERT_FILE_NAME=/opt/fjs/cert/apiclient_cert.p12
-APPID=wx0e590add1244fd18
-MCH_ID=1532732751
-API_KEY=bd3be4ff95714b07bdaf1373e5577761
-NOTIFY_URL=http://wx.fjsfjq.com/wechat/notify
-FEFUND_NOTIFY=http://wx.fjsfjq.com/wechat/refund/notify
-
-
-
-#°¢Àï¶ÌÐÅ
-ACCESS_KEY_ID= LTAIJWmL1IRgUsUh
-ACCESS_KEY_SECRET = 0v8d87GzDdlmKkkOBqxlACPhLSo0mM
-SIGN_NAME = \u68b5\u51c0\u5c71
-#Ä£°åID
-CAPTACHA_PHONE = SMS_163450757
-
-
-
-
-ota.cyt.createUser = cytfjszy
-#ota.cyt.key = Test1234
-ota.cyt.key = fjsWx12345678
-#ota.cyt.apiUrl = http://192.168.100.122:8080/service/distributor.do
-ota.cyt.apiUrl = http://fx.fjsfjq.com:8086/service/distributor.do
-#ota.cyt.apiUrl = http://47.99.243.13:8081/service/distributor.do
-
-
-#timmer
-ordersTasks.timmer=* 0/5 * * * ?
-materialTasks.timmer=0 0 1 * * ?
-
-
-

+ 8 - 54
fjs-scenic-manager/src/main/resources/application-dev.properties

@@ -1,56 +1,10 @@
 server.port=8081
-spring.thymeleaf.cache=false
-spring.thymeleaf.mode=LEGACYHTML5
-spring.thymeleaf.encoding=UTF-8
-spring.thymeleaf.servlet.content-type=text/html
-jdbc.driverClass=com.mysql.jdbc.Driver
-spring.datasource.url=jdbc:mysql://119.23.48.168:61111/fjs_scenic?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
+spring.datasource.url=jdbc:mysql://47.108.219.126:3306/lingdaochaxun?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 spring.datasource.username=root
-spring.datasource.password=Ectrip2019
-
-
-spring.redis.database=4
-spring.redis.host=119.23.48.168
-#spring.redis.cluster.nodes=119.23.48.168:61379,47.95.230.126:6379
-spring.redis.port=61379
-spring.redis.password=
-spring.redis.pool.max-active=8
-spring.redis.pool.max-wait=-1
-spring.redis.pool.max-idle=8
-spring.redis.pool.min-idle=0
-spring.redis.timeout=5000
-
-
-
-spring.servlet.multipart.max-file-size=100Mb
-spring.servlet.multipart.max-request-size=100Mb
-mybatis.mapper-locations=classpath:mapper/**/*.xml
-mybatis.type-aliases-package=com.fjs.scenic.entity
-# 驼峰命名规范 如:数据库字段是  order_id 那么 实体字段就要写成 orderId
-mybatis.configuration.map-underscore-to-camel-case=true
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-logging.level.com.fjs.scenic.mapper=debug
-
-#FTP
-FTP_ADDRESS = ftp.cqhsrj.com
-FTP_PORT = 21
-FTP_USERNAME = ftpuser
-FTP_PASSWORD = ectrip2018
-FTP_BASEPATH = /images/fjs
-FTP_VOID_BASEPATH = /void/fjs
-NGINX_PORT = 8081
-
-
-ota.cyt.createUser = cytfjszy
-#ota.cyt.key = Test1234
-ota.cyt.key = 12345678
-ota.cyt.apiUrl = http://192.168.100.122:8080/service/distributor.do
-#ota.cyt.apiUrl = http://192.168.100.153:8080/service/distributor.do
-
-
-#timmer
-ordersTasks.timmer=* 0/5 * * * ?
-materialTasks.timmer=0 0 1 * * ?
-
-
+spring.datasource.password=sRGjx8iLlTfV.
+spring.redis.database=0
+spring.redis.host=47.108.219.126
+spring.redis.port=6379
+spring.redis.password=Dingyou2020
+#票务接口
+pw.api=http://localhost:8080/services/cytDataService/doWxQueryRequest.action

+ 0 - 111
fjs-scenic-manager/src/main/resources/application-fjs.properties

@@ -1,111 +0,0 @@
-server.port=8089
-
-
-#logging.level.com.fjs.scenic.mapper=debug
-
-#freemarker
-spring.freemarker.allow-request-override=false
-spring.freemarker.allow-session-override=false
-spring.freemarker.cache=false
-spring.freemarker.charset=UTF-8
-spring.freemarker.spring.freemarker.check-template-location=true
-spring.freemarker.content-type=text/html
-spring.freemarker.enabled=true
-spring.freemarker.expose-request-attributes=false
-spring.freemarker.expose-session-attributes=false
-spring.freemarker.expose-spring-macro-helpers=true
-spring.freemarker.prefer-file-system-access=true
-spring.freemarker.suffix=.html
-spring.freemarker.template-loader-path=classpath:/templates/
-spring.freemarker.settings.template_update_delay=0
-spring.freemarker.settings.default_encoding=UTF-8
-spring.freemarker.settings.classic_compatible=true
-
-
-
-jdbc.driverClass=com.mysql.jdbc.Driver
-#spring.datasource.url=jdbc:mysql://47.111.185.0:3306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-#spring.datasource.url=jdbc:mysql://127.0.0.1:13306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-spring.datasource.url=jdbc:mysql://127.0.0.1:3306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-spring.datasource.username=root
-spring.datasource.password=Fjsdy@123
-
-spring.redis.database=4
-#spring.redis.host=47.111.181.152
-#spring.redis.host=172.16.151.164
-spring.redis.host=127.0.0.1
-spring.redis.port=6379
-spring.redis.password=fjsfjq
-#spring.redis.host=127.0.0.1
-#spring.redis.password=fjsfjq
-#spring.redis.port=6379
-spring.redis.pool.max-active=8
-spring.redis.pool.max-wait=-1
-spring.redis.pool.max-idle=8
-spring.redis.pool.min-idle=0
-spring.redis.timeout=5000
-
-
-
-spring.servlet.multipart.max-file-size=500Mb
-spring.servlet.multipart.max-request-size=500Mb
-mybatis.mapper-locations=classpath:mapper/**/*.xml
-mybatis.type-aliases-package=com.fjs.scenic.entity
-mybatis.configuration.map-underscore-to-camel-case=true
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-#logging.level.com.fjs.scenic.mapper=debug
-
-#FTP
-FTP_ADDRESS = wx.fjsfjq.com
-FTP_PORT = 21
-FTP_USERNAME = ftpuser
-FTP_PASSWORD = ectrip2018
-FTP_BASEPATH = /images/fjs
-FTP_VOID_BASEPATH = /images/fjs
-
-NGINX_PORT = 8081
-
-#img.path=/data/fjs/images/
-#img.addr=http://jq.fjsfjq.com/images/
-img.path=/data/fjs/images/
-img.addr=https://wx.fjsstlyq.com/images/
-
-
-
-wechat.mpAppId=wx0e590add1244fd18
-wechat.mpAppSecret=8258bce8b4ebfde0ea6b8a391478ad26
-wechat.token=mywechattoken2297455150
-#CERT_FILE_NAME=F:\\apiclient_cert.p12
-CERT_FILE_NAME=/opt/fjs/cert/apiclient_cert.p12
-APPID=wx0e590add1244fd18
-MCH_ID=1532732751
-API_KEY=bd3be4ff95714b07bdaf1373e5577761
-NOTIFY_URL=https://wx.fjsstlyq.com/wechat/notify
-FEFUND_NOTIFY=https://wx.fjsstlyq.com/wechat/refund/notify
-
-#�������
-ACCESS_KEY_ID= LTAIJWmL1IRgUsUh
-ACCESS_KEY_SECRET = 0v8d87GzDdlmKkkOBqxlACPhLSo0mM
-SIGN_NAME = \u68b5\u51c0\u5c71
-#�ID
-CAPTACHA_PHONE = SMS_163450757
-
-
-
-
-ota.cyt.createUser = cytfjszy
-#ota.cyt.key = Test1234
-ota.cyt.key = fjsWx12345678
-#ota.cyt.apiUrl = http://192.168.100.122:8080/service/distributor.do
-#ota.cyt.apiUrl = http://192.168.100.153:8080/service/distributor.do
-#ota.cyt.apiUrl = http://47.99.243.13:8081/service/distributor.do
-ota.cyt.apiUrl = https://fx.fjsstlyq.com/service/distributor.do
-
-
-#timmer
-ordersTasks.timmer=* 0/5 * * * ?
-materialTasks.timmer=0 0 1 * * ?
-
-
-

+ 0 - 124
fjs-scenic-manager/src/main/resources/application-fjsfjq.properties

@@ -1,124 +0,0 @@
-server.port=8089
-#spring.thymeleaf.cache=false
-#spring.thymeleaf.mode=LEGACYHTML5
-#spring.thymeleaf.encoding=UTF-8
-#spring.thymeleaf.servlet.content-type=text/html
-#spring.thymeleaf.prefix=classpath:/templates/
-#spring.thymeleaf.suffix=.html
-#freemarker
-spring.freemarker.allow-request-override=false
-spring.freemarker.allow-session-override=false
-spring.freemarker.cache=false
-spring.freemarker.charset=UTF-8
-spring.freemarker.spring.freemarker.check-template-location=true
-spring.freemarker.content-type=text/html
-spring.freemarker.enabled=true
-spring.freemarker.expose-request-attributes=false
-spring.freemarker.expose-session-attributes=false
-spring.freemarker.expose-spring-macro-helpers=true
-spring.freemarker.prefer-file-system-access=true
-spring.freemarker.suffix=.html
-spring.freemarker.template-loader-path=classpath:/templates/
-spring.freemarker.settings.template_update_delay=0
-spring.freemarker.settings.default_encoding=UTF-8
-spring.freemarker.settings.classic_compatible=true
-
-
-
-jdbc.driverClass=com.mysql.jdbc.Driver
-#spring.datasource.url=jdbc:mysql://119.23.48.168:61111/fjs_scenic?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-#spring.datasource.username=root
-#spring.datasource.password=Ectrip2019
-spring.datasource.url=jdbc:mysql://47.95.230.126:33066/fjs-scenic?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-spring.datasource.username=root
-spring.datasource.password=root
-
-
-#spring.redis.database=4
-#spring.redis.host=119.23.48.168
-##spring.redis.cluster.nodes=119.23.48.168:61379,47.95.230.126:6379
-#spring.redis.port=61379
-#spring.redis.password=
-#spring.redis.pool.max-active=8
-#spring.redis.pool.max-wait=-1
-#spring.redis.pool.max-idle=8
-#spring.redis.pool.min-idle=0
-#spring.redis.timeout=5000
-spring.redis.database=0
-spring.redis.host=119.23.48.168
-spring.redis.port=61379
-spring.redis.password=
-#spring.redis.host=47.111.181.152
-#spring.redis.port=6379
-#spring.redis.password=fjsfjq
-
-#spring.redis.host=47.95.230.126
-#spring.redis.port=6379
-#spring.redis.password=
-spring.redis.pool.max-active=8
-spring.redis.pool.max-wait=-1
-spring.redis.pool.max-idle=8
-spring.redis.pool.min-idle=0
-spring.redis.timeout=5000
-
-
-
-spring.servlet.multipart.max-file-size=100Mb
-spring.servlet.multipart.max-request-size=100Mb
-mybatis.mapper-locations=classpath:mapper/**/*.xml
-mybatis.type-aliases-package=com.fjs.scenic.entity
-# 驼峰命�规范 如:数�库字段是  order_id 那么 实体字段就�写� orderId
-mybatis.configuration.map-underscore-to-camel-case=true
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-logging.level.com.fjs.scenic.mapper=debug
-
-#FTP
-FTP_ADDRESS = ftp.cqhsrj.com
-FTP_PORT = 21
-FTP_USERNAME = ftpuser
-FTP_PASSWORD = ectrip2018
-FTP_BASEPATH = /images/fjs
-FTP_VOID_BASEPATH = /void/fjs
-NGINX_PORT = 8081
-
-
-#img.path=D://yangya//workspace//fjs-parent//fjs-scenic-manager//src//main//resources//static//images/
-#img.addr=http://127.0.0.1:8089/images/
-img.path=/data/java/images/
-img.addr=https://fjsstlyq.com/images/
-
-
-CERT_FILE_NAME=/opt/fjs/cert/apiclient_cert.p12
-APPID=wx0e590add1244fd18
-MCH_ID=1532732751
-API_KEY=bd3be4ff95714b07bdaf1373e5577761
-NOTIFY_URL=https://fjsstlyq.com/wechat/notify
-FEFUND_NOTIFY=https://fjsstlyq.com/wechat/refund/notify
-
-
-
-#°¢Àï¶ÌÐÅ
-ACCESS_KEY_ID= LTAIJWmL1IRgUsUh
-ACCESS_KEY_SECRET = 0v8d87GzDdlmKkkOBqxlACPhLSo0mM
-SIGN_NAME = \u68b5\u51c0\u5c71
-#Ä£°åID
-CAPTACHA_PHONE = SMS_163450757
-
-
-
-
-ota.cyt.createUser = cytfjszy
-#ota.cyt.key = Test1234
-ota.cyt.key = fjsWx12345678
-#ota.cyt.apiUrl = http://192.168.100.122:8080/service/distributor.do
-ota.cyt.apiUrl = http://fx.fjsfjq.com:8086/service/distributor.do
-#ota.cyt.apiUrl = http://47.99.243.13:8081/service/distributor.do
-
-
-#timmer
-ordersTasks.timmer=* 0/5 * * * ?
-materialTasks.timmer=0 0 1 * * ?
-
-
-

+ 0 - 106
fjs-scenic-manager/src/main/resources/application-local.properties

@@ -1,106 +0,0 @@
-server.port=8089
-
-
-logging.level.com.fjs.scenic.mapper=debug
-
-#freemarker
-spring.freemarker.allow-request-override=false
-spring.freemarker.allow-session-override=false
-spring.freemarker.cache=false
-spring.freemarker.charset=UTF-8
-spring.freemarker.spring.freemarker.check-template-location=true
-spring.freemarker.content-type=text/html
-spring.freemarker.enabled=true
-spring.freemarker.expose-request-attributes=false
-spring.freemarker.expose-session-attributes=false
-spring.freemarker.expose-spring-macro-helpers=true
-spring.freemarker.prefer-file-system-access=true
-spring.freemarker.suffix=.html
-spring.freemarker.template-loader-path=classpath:/templates/
-spring.freemarker.settings.template_update_delay=0
-spring.freemarker.settings.default_encoding=UTF-8
-spring.freemarker.settings.classic_compatible=true
-
-
-
-jdbc.driverClass=com.mysql.jdbc.Driver
-spring.datasource.url=jdbc:mysql://127.0.0.1:3306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-spring.datasource.username=root
-spring.datasource.password=root
-
-#jdbc.driverClass=com.mysql.jdbc.Driver
-#spring.datasource.url=jdbc:mysql://47.111.181.152:13306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-#spring.datasource.username=root
-#spring.datasource.password=fjsdyFx
-
-spring.redis.database=4
-spring.redis.host=47.111.181.152
-#spring.redis.host=127.0.0.1
-spring.redis.port=6379
-spring.redis.password=fjsfjq
-spring.redis.jedis.pool.max-idle=8
-spring.redis.jedis.pool.max-wait=-1
-spring.redis.jedis.pool.min-idle=0
-spring.redis.timeout=5000
-
-
-
-spring.servlet.multipart.max-file-size=500Mb
-spring.servlet.multipart.max-request-size=500Mb
-mybatis.mapper-locations=classpath:mapper/**/*.xml
-mybatis.type-aliases-package=com.fjs.scenic.entity
-mybatis.configuration.map-underscore-to-camel-case=true
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-#logging.level.com.fjs.scenic.mapper=debug
-
-#FTP
-FTP_ADDRESS = wx.fjsfjq.com
-FTP_PORT = 21
-FTP_USERNAME = ftpuser
-FTP_PASSWORD = ectrip2018
-FTP_BASEPATH = /images/fjs
-FTP_VOID_BASEPATH = /images/fjs
-
-NGINX_PORT = 8081
-
-img.path=/data/fjs/images/
-img.addr=http://t.cqhsrj.com/images/
-
-
-wechat.mpAppId=wx0e590add1244fd18
-wechat.mpAppSecret=8258bce8b4ebfde0ea6b8a391478ad26
-wechat.token=mywechattoken2297455150
-#CERT_FILE_NAME=F:\\apiclient_cert.p12
-CERT_FILE_NAME=/opt/fjs/cert/apiclient_cert.p12
-APPID=wx0e590add1244fd18
-MCH_ID=1532732751
-API_KEY=bd3be4ff95714b07bdaf1373e5577761
-NOTIFY_URL=http://wx.fjsfjq.com/wechat/notify
-FEFUND_NOTIFY=http://wx.fjsfjq.com/wechat/refund/notify
-
-#°¢Àï¶ÌÐÅ
-ACCESS_KEY_ID= LTAIJWmL1IRgUsUh
-ACCESS_KEY_SECRET = 0v8d87GzDdlmKkkOBqxlACPhLSo0mM
-SIGN_NAME = \u68b5\u51c0\u5c71
-#Ä£°åID
-CAPTACHA_PHONE = SMS_163450757
-
-
-
-
-ota.cyt.createUser = cytfjszy
-#ota.cyt.key = Test1234
-ota.cyt.key = 12345678
-#ota.cyt.apiUrl = http://192.168.100.122:8080/service/distributor.do
-#ota.cyt.apiUrl = http://192.168.100.153:8080/service/distributor.do
-#ota.cyt.apiUrl = http://47.99.243.13:8081/service/distributor.do
-ota.cyt.apiUrl = http://172.16.151.165/service/distributor.do
-
-
-#timmer
-ordersTasks.timmer=* 0/5 * * * ?
-materialTasks.timmer=0 0 1 * * ?
-
-
-

+ 10 - 0
fjs-scenic-manager/src/main/resources/application-prod.properties

@@ -0,0 +1,10 @@
+spring.datasource.url=jdbc:mysql://222.179.205.139:16004/lingdaochaxun?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
+spring.datasource.username=root
+spring.datasource.password=ExcriptQj2020ABCD!@
+
+spring.redis.database=0
+spring.redis.host=localhost
+spring.redis.port=6379
+spring.redis.password=
+#票务接口
+pw.api=http://localhost:8080/services/cytDataService/doWxQueryRequest.action

+ 0 - 107
fjs-scenic-manager/src/main/resources/application-qjldcx.properties

@@ -1,107 +0,0 @@
-server.port=8111
-
-#spring.thymeleaf.cache=false
-#spring.thymeleaf.mode=LEGACYHTML5
-#spring.thymeleaf.encoding=UTF-8
-#spring.thymeleaf.servlet.content-type=text/html
-#spring.thymeleaf.prefix=classpath:/templates/
-#spring.thymeleaf.suffix=.html
-#freemarker
-spring.freemarker.allow-request-override=false
-spring.freemarker.allow-session-override=false
-spring.freemarker.cache=false
-spring.freemarker.charset=UTF-8
-spring.freemarker.spring.freemarker.check-template-location=true
-spring.freemarker.content-type=text/html
-spring.freemarker.enabled=true
-spring.freemarker.expose-request-attributes=false
-spring.freemarker.expose-session-attributes=false
-spring.freemarker.expose-spring-macro-helpers=true
-spring.freemarker.prefer-file-system-access=true
-spring.freemarker.suffix=.html
-spring.freemarker.template-loader-path=classpath:/templates/
-spring.freemarker.settings.template_update_delay=0
-spring.freemarker.settings.default_encoding=UTF-8
-spring.freemarker.settings.classic_compatible=true
-
-
-
-jdbc.driverClass=com.mysql.jdbc.Driver
-#spring.datasource.url=jdbc:mysql://192.168.100.218/lingdaochaxun?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-#spring.datasource.password=ExcriptQj2020ABCD!@#
-spring.datasource.url=jdbc:mysql://222.179.205.139:16004/lingdaochaxun?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-spring.datasource.username=root
-spring.datasource.password=ExcriptQj2020ABCD!@#
-
-
-spring.redis.database=0
-spring.redis.host=localhost
-spring.redis.port=6379
-spring.redis.password=
-spring.redis.jedis.pool.max-idle=8
-spring.redis.jedis.pool.max-wait=-1
-spring.redis.jedis.pool.min-idle=0
-spring.redis.timeout=5000
-
-#票务接口
-pw.api = http://localhost:8080/services/cytDataService/doWxQueryRequest.action
-
-spring.servlet.multipart.max-file-size=100Mb
-spring.servlet.multipart.max-request-size=100Mb
-mybatis.mapper-locations=classpath:mapper/**/*.xml
-mybatis.type-aliases-package=com.fjs.scenic.entity
-# 驼峰命名规范 如:数据库字段是  order_id 那么 实体字段就要写成 orderId
-mybatis.configuration.map-underscore-to-camel-case=true
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-logging.level.com.fjs.scenic.mapper=debug
-
-#FTP
-FTP_ADDRESS = ftp.cqhsrj.com
-FTP_PORT = 21
-FTP_USERNAME = ftpuser
-FTP_PASSWORD = ectrip2018
-FTP_BASEPATH = /images/fjs
-FTP_VOID_BASEPATH = /void/fjs
-NGINX_PORT = 8081
-
-
-#img.path=D://yangya//workspace//fjs-parent//fjs-scenic-manager//src//main//resources//static//images/
-#img.addr=http://127.0.0.1:8089/images/
-img.path=/data/fjs/images/
-img.addr=http://t.cqhsrj.com/images/
-
-
-CERT_FILE_NAME=/opt/fjs/cert/apiclient_cert.p12
-APPID=wx0e590add1244fd18
-MCH_ID=1532732751
-API_KEY=bd3be4ff95714b07bdaf1373e5577761
-NOTIFY_URL=http://wx.fjsfjq.com/wechat/notify
-FEFUND_NOTIFY=http://wx.fjsfjq.com/wechat/refund/notify
-
-
-
-#�������
-ACCESS_KEY_ID= LTAIJWmL1IRgUsUh
-ACCESS_KEY_SECRET = 0v8d87GzDdlmKkkOBqxlACPhLSo0mM
-SIGN_NAME = \u68b5\u51c0\u5c71
-#�ID
-CAPTACHA_PHONE = SMS_163450757
-
-
-
-
-ota.cyt.createUser = cytfjszy
-#ota.cyt.key = Test1234
-ota.cyt.key = fjsWx12345678
-#ota.cyt.apiUrl = http://192.168.100.122:8080/service/distributor.do
-ota.cyt.apiUrl = http://fx.fjsfjq.com:8086/service/distributor.do
-#ota.cyt.apiUrl = http://47.99.243.13:8081/service/distributor.do
-
-
-#timmer
-ordersTasks.timmer=* 0/5 * * * ?
-materialTasks.timmer=0 0 1 * * ?
-
-
-

+ 66 - 1
fjs-scenic-manager/src/main/resources/application.properties

@@ -1 +1,66 @@
-spring.profiles.active = qjldcx
+spring.profiles.active=@profiles.active@
+#freemarker
+spring.freemarker.allow-request-override=false
+spring.freemarker.allow-session-override=false
+spring.freemarker.cache=false
+spring.freemarker.charset=UTF-8
+spring.freemarker.spring.freemarker.check-template-location=true
+spring.freemarker.content-type=text/html
+spring.freemarker.enabled=true
+spring.freemarker.expose-request-attributes=false
+spring.freemarker.expose-session-attributes=false
+spring.freemarker.expose-spring-macro-helpers=true
+spring.freemarker.prefer-file-system-access=true
+spring.freemarker.suffix=.html
+spring.freemarker.template-loader-path=classpath:/templates/
+spring.freemarker.settings.template_update_delay=0
+spring.freemarker.settings.default_encoding=UTF-8
+spring.freemarker.settings.classic_compatible=true
+jdbc.driverClass=com.mysql.jdbc.Driver
+spring.redis.jedis.pool.max-idle=8
+spring.redis.jedis.pool.max-wait=-1
+spring.redis.jedis.pool.min-idle=0
+spring.redis.timeout=5000
+spring.servlet.multipart.max-file-size=100Mb
+spring.servlet.multipart.max-request-size=100Mb
+mybatis.mapper-locations=classpath:mapper/**/*.xml
+mybatis.type-aliases-package=com.fjs.scenic.entity
+mybatis.configuration.map-underscore-to-camel-case=true
+spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
+spring.jackson.time-zone=GMT+8
+logging.level.com.fjs.scenic.mapper=debug
+spring.datasource.hikari.maximum-pool-size=60
+spring.datasource.hikari.connection-timeout=60000
+spring.datasource.hikari.idle-timeout=60000
+spring.datasource.hikari.validation-timeout=3000
+spring.datasource.hikari.max-lifetime=60000
+spring.datasource.hikari.login-timeout=5
+spring.datasource.hikari.minimum-idle=10
+
+#FTP
+FTP_ADDRESS=null
+FTP_PORT=0
+FTP_USERNAME=null
+FTP_PASSWORD=null
+FTP_BASEPATH=null
+FTP_VOID_BASEPATH=null
+# 上传
+NGINX_PORT=0
+img.path=null
+img.addr=null
+# 微信
+CERT_FILE_NAME=null
+APPID=null
+MCH_ID=null
+API_KEY=null
+NOTIFY_URL=null
+FEFUND_NOTIFY=null
+#短信
+ACCESS_KEY_ID=null
+ACCESS_KEY_SECRET=null
+SIGN_NAME=null
+CAPTACHA_PHONE=null
+# cyt
+ota.cyt.createUser=null
+ota.cyt.key=null
+ota.cyt.apiUrl=null

+ 1 - 1
fjs-scenic-manager/src/main/resources/templates/incloud/header.ftl

@@ -32,7 +32,7 @@
     <!--工具js-->
     <script src="/js/util/dyMixin.js"></script>
     <!--vue-->
-    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.9/dist/vue.js"></script>
+    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
     <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
     <script src="https://unpkg.com/element-ui/lib/index.js"></script>
     <![endif]-->

+ 1 - 0
fjs-scenic-manager/src/main/resources/templates/incloud/left.ftl

@@ -38,6 +38,7 @@
                 <li><a href="/manage/index"><i class="fa fa-link"></i> <span>后台管理员维护</span></a></li>
                 <li><a href="/leaderManage/index"><i class="fa fa-link"></i> <span>领导账户维护</span></a></li>
                 <li><a href="/statisticalPermissions/index"><i class="fa fa-link"></i> <span>微信统计查看权限维护</span></a></li>
+                <li><a href="/inputInfo/index"><i class="fa fa-link"></i> <span>统计信息录入</span></a></li>
             </ul>
             <!--<ul class="sidebar-menu" data-widget="tree">
                 <li class="header">HEADER</li>

+ 605 - 0
fjs-scenic-manager/src/main/resources/templates/system/inputInfo.html

@@ -0,0 +1,605 @@
+<#include "/incloud/header.ftl" />
+<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd">
+<html>
+<@header></@header>
+
+<body class="hold-transition skin-blue sidebar-mini">
+    <div class="wrapper">
+
+        <@top></@top>
+        <@left></@left>
+
+        <!-- Content Wrapper. Contains page content -->
+        <div class="content-wrapper">
+            <!-- Content Header (Page header) -->
+            <section class="content-header">
+                <h1>
+                    统计信息录入1
+                    <small>Optional description</small>
+                </h1>
+                <ol class="breadcrumb">
+                    <li><a href="#"><i class="fa fa-dashboard"></i> Level</a></li>
+                    <li class="active">Here</li>
+                </ol>
+            </section>
+            <!-- Main content -->
+            <section class="content container-fluid" id="app">
+                <div class="box-body">
+                    <!--查询区域-->
+                    <div class="query">
+                        <el-form :inline="true" :model="con" class="demo-form-inline">
+                            <el-form-item label="" :label-width="queryLabelWidth">
+                                <el-date-picker v-model="con.createTime" type="daterange" range-separator="至"
+                                    start-placeholder="新增开始日期" end-placeholder="新增结束日期">
+                                </el-date-picker>
+                            </el-form-item>
+                            <el-form-item label="" :label-width="queryLabelWidth">
+                                <el-date-picker v-model="con.dataTime" type="daterange" range-separator="至"
+                                    start-placeholder="数据开始日期" end-placeholder="数据结束日期">
+                                </el-date-picker>
+                            </el-form-item>
+                            <el-form-item label="" :label-width="queryLabelWidth">
+                                <el-cascader placeholder="景区" v-model="con.companyScenic"
+                                    :options="companyScenicOptions" :props="{ multiple: true }">
+                            </el-form-item>
+                            </el-cascader>
+                            <el-form-item label="" :label-width="queryLabelWidth">
+                                <el-input v-model="con.name" placeholder="姓名" maxlength="4" minlength="2"></el-input>
+                            </el-form-item>
+                            <el-form-item label="" :label-width="queryLabelWidth">
+                                <el-button type="primary" @click="loadTable1()">查询</el-button>
+                            </el-form-item>
+                        </el-form>
+                    </div>
+                    <!--功能按钮区-->
+                    <div class="buttonDiv">
+                        <el-button size="mini" type="primary" class="pagination-but" @click="addClick">新增
+                        </el-button>
+                    </div>
+                    <!--表格区-->
+                    <el-table border :data="tableData" style="width: 100%">
+                        <el-table-column min-width="150px" label="上报日期" prop="createTime">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="上报人" prop="manager">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="公司" prop="company">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="景区" prop="scenic">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="数据日期" prop="staticDate">
+                        </el-table-column>
+                        <el-table-column label="操作" min-width="300px">
+                            <template slot-scope="scope">
+                                <el-button size="mini" type="primary" @click="table1View(scope.$index, scope.row)">
+                                    查看
+                                </el-button>
+                                <el-button size="mini" type="primary" @click="table1View(scope.$index, scope.row,'edit')">修改
+                                </el-button>
+                                <el-button size="mini" type="danger" @click="table1Del(scope.$index, scope.row)">删除
+                                </el-button>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                    <!--分页-->
+                    <div class="block">
+                        <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
+                            :current-page="con.currentPage" :page-sizes="[1,10, 50, 200, 500]" :page-size="con.pageSize"
+                            layout="total, sizes, prev, pager, next, jumper, slot" :total="con.total">
+                        </el-pagination>
+                    </div>
+                    <!--对话框1 新增-->
+                    <el-dialog title="新增" :visible.sync="dialog1Visible" :custom-class="'ele-dialog'" :center="true">
+                            <span class="demonstration">数据日期</span>
+                            <el-date-picker
+                                v-model="staticDate"
+                                :disabled="disableStaticDate"
+                                type="date"
+                                format="yyyy-MM-dd"
+                                value-format="yyyy-MM-dd"
+                                :clearable = "false"
+                                :editable = "false"
+                                placeholder="选择日期">
+                            </el-date-picker>
+                        <el-collapse v-model="collapse">
+                            <el-collapse-item title="大峡谷景区" name="0" v-if="addData[0].show">
+                                <el-form :model="addData[0]" status-icon :label-width="formLabelWidth" inline ref="form0" :disabled="disableForm">
+                                    <template v-for="(item,i) in addData[0].income">
+                                        <el-form-item :label="item.item" :prop="'income['+i+'].sum'" :rules="commonRule">
+                                            <el-input-number v-model="item.sum" controls-position="right" :min="0"></el-input-number>
+                                        </el-form-item>
+                                    </template>
+                                    <el-form-item label="合计收入" prop="total" :rules="commonRule">
+                                        <el-input-number 
+                                        :value="countVal(addData[0],2,6)" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false"
+                                        @input="bind(addData[0],'total',$event)"></el-input-number>
+                                    </el-form-item>
+                                    <el-form-item label="合计人次" prop="personTimes" :rules="commonRule">
+                                        <el-input-number 
+                                        :value="countVal(addData[0],0,2)" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false"
+                                        @input="bind(addData[0],'personTimes',$event)"></el-input-number>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="水车坪景区" name="1" v-if="addData[1].show">
+                                <el-form :model="addData[1]" status-icon :label-width="formLabelWidth" inline ref="form1" :disabled="disableForm">
+                                    <template v-for="(item,i) in addData[1].income">
+                                        <el-form-item :label="item.item" :prop="'income['+i+'].sum'" :rules="commonRule">
+                                            <el-input-number v-model="item.sum" controls-position="right" :min="0"></el-input-number>
+                                        </el-form-item>
+                                    </template>
+                                    <el-form-item label="合计收入" prop="total" :rules="commonRule">
+                                        <el-input-number 
+                                        :value="countVal(addData[1],0,2)" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false"
+                                        @input="bind(addData[1],'total',$event)"></el-input-number>
+                                    </el-form-item>
+                                    <el-form-item label="合计人次" prop="personTimes" :rules="commonRule">
+                                        <el-input-number 
+                                        v-model="addData[1].personTimes" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false">
+                                    </el-input-number>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="濯水景区" name="2" v-if="addData[2].show">
+                                <el-form :model="addData[2]" status-icon :label-width="formLabelWidth" inline ref="form2" :disabled="disableForm">
+                                    <template v-for="(item,i) in addData[2].income">
+                                        <el-form-item :label="item.item" :prop="'income['+i+'].sum'" :rules="commonRule">
+                                            <el-input-number v-model="item.sum" controls-position="right" :min="0"></el-input-number>
+                                        </el-form-item>
+                                    </template>
+                                    <el-form-item label="合计收入" prop="total" :rules="commonRule">
+                                        <el-input-number 
+                                        :value="countVal(addData[2],2,14)" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false"
+                                        @input="bind(addData[2],'total',$event)"></el-input-number>
+                                    </el-form-item>
+                                    <el-form-item label="合计人次" prop="personTimes" :rules="commonRule">
+                                        <el-input-number 
+                                        :value="countVal(addData[2],0,2)" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false"
+                                        @input="bind(addData[2],'personTimes',$event)"></el-input-number>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="小南海" name="3"  v-if="addData[3].show">
+                                <el-form :model="addData[3]" status-icon :label-width="formLabelWidth" inline ref="form3" :disabled="disableForm">
+                                    <el-form-item label="合计收入" prop="total" :rules="commonRule">
+                                        <el-input-number 
+                                        v-model="addData[3].total" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false">
+                                    </el-input-number>
+                                    </el-form-item>
+                                    <el-form-item label="合计人次" prop="personTimes" :rules="commonRule">
+                                        <el-input-number 
+                                        v-model="addData[3].personTimes" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false"></el-input-number>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="十三寨" name="4"  v-if="addData[4].show">
+                                <el-form :model="addData[4]" status-icon :label-width="formLabelWidth" inline ref="form4" :disabled="disableForm">
+                                    <template v-for="(item,i) in addData[4].income">
+                                        <el-form-item :label="item.item" :prop="'income['+i+'].sum'" :rules="commonRule">
+                                            <el-input-number v-model="item.sum" controls-position="right" :min="0"></el-input-number>
+                                        </el-form-item>
+                                    </template>
+                                    <el-form-item label="合计收入" prop="total" :rules="commonRule">
+                                        <el-input-number 
+                                        :value="countVal(addData[4],2,3)" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false"
+                                        @input="bind(addData[4],'total',$event)"></el-input-number>
+                                    </el-form-item>
+                                    <el-form-item label="合计人次" prop="personTimes" :rules="commonRule">
+                                        <el-input-number 
+                                        :value="countVal(addData[4],0,2)" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false"
+                                        @input="bind(addData[4],'personTimes',$event)"></el-input-number>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="神龟峡景区" name="5"  v-if="addData[5].show">
+                                <el-form :model="addData[5]" status-icon :label-width="formLabelWidth" inline ref="form5" :disabled="disableForm">
+                                    <template v-for="(item,i) in addData[5].income">
+                                        <el-form-item :label="item.item" :prop="'income['+i+'].sum'" :rules="commonRule">
+                                            <el-input-number v-model="item.sum" controls-position="right" :min="0"></el-input-number>
+                                        </el-form-item>
+                                    </template>
+                                    <el-form-item label="合计收入" prop="total" :rules="commonRule">
+                                        <el-input-number 
+                                        :value="countVal(addData[5],2,3)" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false"
+                                        @input="bind(addData[5],'total',$event)"></el-input-number>
+                                    </el-form-item>
+                                    <el-form-item label="合计人次" prop="personTimes" :rules="commonRule">
+                                        <el-input-number 
+                                        :value="countVal(addData[5],0,2)" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false"
+                                        @input="bind(addData[5],'personTimes',$event)"></el-input-number>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="官村" name="6"  v-if="addData[6].show">
+                                <el-form :model="addData[6]" status-icon :label-width="formLabelWidth" inline ref="form6" :disabled="disableForm">
+                                    <el-form-item label="合计收入" prop="total" :rules="commonRule">
+                                        <el-input-number 
+                                        v-model="addData[6].total" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false">
+                                    </el-input-number>
+                                    </el-form-item>
+                                    <el-form-item label="合计人次" prop="personTimes" :rules="commonRule">
+                                        <el-input-number 
+                                        v-model="addData[6].personTimes" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false"></el-input-number>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="爱莉丝" name="7"  v-if="addData[7].show">
+                                <el-form :model="addData[7]" status-icon :label-width="formLabelWidth" inline ref="form7" :disabled="disableForm">
+                                    <el-form-item label="合计收入" prop="total" :rules="commonRule">
+                                        <el-input-number 
+                                        v-model="addData[7].total" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false">
+                                    </el-input-number>
+                                    </el-form-item>
+                                    <el-form-item label="合计人次" prop="personTimes" :rules="commonRule">
+                                        <el-input-number 
+                                        v-model="addData[7].personTimes" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false"></el-input-number>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                            <el-collapse-item title="阿蓬江旅行社公司" name="8" v-if="addData[8].show">
+                                <el-form :model="addData[8]" status-icon :label-width="formLabelWidth" inline ref="form8" :disabled="disableForm">
+                                    <template v-for="(item,i) in addData[8].income">
+                                        <el-form-item :label="item.item" :prop="'income['+i+'].sum'" :rules="commonRule">
+                                            <el-input-number v-model="item.sum" controls-position="right" :min="0"></el-input-number>
+                                        </el-form-item>
+                                    </template>
+                                    <el-form-item label="合计收入" prop="total" :rules="commonRule">
+                                        <el-input-number 
+                                        :value="countVal(addData[8],0,4)" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false"
+                                        @input="bind(addData[8],'total',$event)"></el-input-number>
+                                    </el-form-item>
+                                    <el-form-item label="合计人次" prop="personTimes" :rules="commonRule">
+                                        <el-input-number 
+                                        :value="countVal(addData[8],4,7)" 
+                                        controls-position="right" 
+                                        :min="0" 
+                                        :controls="false"
+                                        @input="bind(addData[8],'personTimes',$event)"></el-input-number>
+                                    </el-form-item>
+                                </el-form>
+                            </el-collapse-item>
+                        </el-collapse>
+                        <div slot="footer" class="dialog-footer">
+                            <el-button type="primary" @click="dialog1Sub('dialog1')" :disabled="disableForm">提 交</el-button>
+                            <el-button @click="dialog1Visible = false">取 消</el-button>
+                        </div>
+                    </el-dialog>
+                </div>
+            </section>
+            <!-- /.content -->
+        </div>
+        <!-- Main Footer -->
+        <@footer></@footer>
+    </div>
+</body>
+<script src="/js/util/dyAjax.js"></script>
+<script>
+    $(function () {
+        const initIncomeFunc = arr => Array.from(arr, item => { return { item, sum: 0 } })
+        const TYPE_AUTHORITY = { authority: 0, companyScenic: [[0, 0]] }
+        const COMPANY_SCENIC = [
+            {
+                value: 0,
+                label: '巴拉胡景区管理公司',
+                children: [
+                    { value: 0, label: '大峡谷景区' },
+                    { value: 1, label: '水车坪景区' },
+                    { value: 2, label: '濯水景区' },
+                    { value: 3, label: '小南海' },
+                    { value: 4, label: '十三寨' }]
+            }, {
+                value: 1,
+                label: '芭拉胡公司',
+                children: [
+                    { value: 5, label: '神龟峡景区' }]
+            }, {
+                value: 2,
+                label: '爱莉丝公司',
+                children: [
+                    { value: 6, label: '官村' },
+                    { value: 7, label: '爱莉丝' }]
+            }, {
+                value: 3,
+                label: '阿蓬江旅行社公司',
+                children: [{ value: 8, label: '阿蓬江旅行社公司' }]
+            }]
+        const FULL_ADD_DATA = [
+                {
+                    total:0,
+                    show:false,
+                    personTimes:0,
+                    company: COMPANY_SCENIC[0].label,
+                    scenic: COMPANY_SCENIC[0].children[0].label,
+                    income: initIncomeFunc(['门票 散客人次', '门票 团队人次', '门票收入', '中转车收入', '停车费收入', '玻璃桥索道收入'])
+                },
+                {
+                    total:0,
+                    show:false,
+                    personTimes:0,
+                    company: COMPANY_SCENIC[0].label,
+                    scenic: COMPANY_SCENIC[0].children[1].label,
+                    income: initIncomeFunc(['骑马收入', '露营收入'])
+                },
+                {
+                    total:0,
+                    show:false,
+                    personTimes:0,
+                    company: COMPANY_SCENIC[0].label,
+                    scenic: COMPANY_SCENIC[0].children[2].label,
+                    income: initIncomeFunc(['暗河门票 散客人次', '暗河门票 团队人次', '门票收入', '花田收入', '钟楼收入',
+                        '芭茅岛酒店收入', '蒲花河酒店收入', '水乐园收入', '特产馆收入', '暗河购物中心收入',
+                        '观光车收入', '竹筏收入', '快艇收入', '水上自行车收入'])
+                },
+                {
+                    total:0,
+                    show:false,
+                    personTimes:0,
+                    company: COMPANY_SCENIC[0].label,
+                    scenic: COMPANY_SCENIC[0].children[3].label
+                },
+                {
+                    total:0,
+                    show:false,
+                    personTimes:0,
+                    company: COMPANY_SCENIC[0].label,
+                    scenic: COMPANY_SCENIC[0].children[4].label,
+                    income: initIncomeFunc(['门票 散客人次', '门票 团队人次', '门票收入'])
+                },
+                {
+                    total:0,
+                    show:false,
+                    personTimes:0,
+                    company: COMPANY_SCENIC[1].label,
+                    scenic: COMPANY_SCENIC[1].children[0].label,
+                    income: initIncomeFunc(['船票 散客人次', '船票 团队人次', '船票收入'])
+                },
+                {
+                    total:0,
+                    show:false,
+                    personTimes:0,
+                    company: COMPANY_SCENIC[2].label,
+                    scenic: COMPANY_SCENIC[2].children[0].label
+                },
+                {
+                    total:0,
+                    show:false,
+                    personTimes:0,
+                    company: COMPANY_SCENIC[2].label,
+                    scenic: COMPANY_SCENIC[2].children[1].label
+                },
+                {
+                    total:0,
+                    show:false,
+                    personTimes:0,
+                    company: COMPANY_SCENIC[3].label,
+                    scenic: COMPANY_SCENIC[3].children[0].label,
+                    income: initIncomeFunc(['组团收入', '地接收入', '研学收入','导服收入','组团人次','地接人次','研学人次','收入合计','合计人次'])
+                }
+            ]
+        const copy = obj => JSON.parse(JSON.stringify(obj))
+
+
+        var option = {
+            mixins: [dyMixin],
+            data() {
+                return {
+                    disableStaticDate:false,
+                    disableForm: false,
+                    staticDate:new Date().toJSON().slice(0,10),
+                    formLabelWidth:'200px',
+                    collapse: ['0', '1', '2', '3', '4', '5', '6', '7', '8'],
+                    companyScenic: undefined,
+                    companyScenicOptions: [...COMPANY_SCENIC],
+                    con: { dataTime: undefined, companyScenic: undefined, currentPage: 1, pageSize: 10, total: 0, createTime: undefined, },//查询条件
+                    tableData: [],
+                    dialog1Visible: false,//对话框隐藏
+                    addData:copy(FULL_ADD_DATA),
+                    editData: {},//编辑数据
+                    typeAuthority: Object.assign(TYPE_AUTHORITY),//角色数据
+                    roleIds: [],
+                    dialog2Visible: false,//编辑弹框隐藏
+                    dialog3Visible: false,//角色弹框隐藏
+                    commonRule: {
+                        required: true, trigger: ['blur','change'], message: '不能为空'
+                    },
+                    MANAGE_STATUS: { '正常': "1", '无效': "0" },//账户状态
+                }
+            },
+            mounted: function () {
+                this.loadTable1();
+            },
+            methods: {
+                addClick(){
+                    let _this = this;
+                    $.dyAjax('/inputInfo/getTypeAuthority', {}, function (data) {
+                        _this.dialog1Visible = true
+                        _this.addData = copy(FULL_ADD_DATA)
+                        _this.addData.forEach((item,i) => item.show = data.includes(i) )
+                        _this.collapse = Array.from(data, item => item+'')
+                        _this.disableStaticDate = false
+                        _this.disableForm = false
+                    });
+                },
+                countVal(scenic,form,to){
+                    return scenic.income.slice(form,to).reduce((acc,cur) => acc+cur.sum,0)
+                },
+                bind(bindVal,key,val){
+                    bindVal[key] = val
+                },
+                // 表1 冻结 解结
+                table1FreezeUnfreeza(id, stutes) {
+                    let _this = this;
+                    let isFreeze = stutes === _this.MANAGE_STATUS.无效;
+                    this.$confirm(isFreeze ? '确定冻结' : '确定解冻?', '提示', {
+                        confirmButtonText: '确定',
+                        cancelButtonText: '取消',
+                        type: 'warning'
+                    }).then(() => {
+                        $.dyAjax('/inputInfo/freezeUnfreeza', { id: id, status: stutes }, function (data) {
+                            _this.$message({ message: '操作成功', type: 'success' });
+                            _this.loadTable1();
+                        });
+                    }).catch(() => {
+                    });
+                },
+                //编辑
+                table1Edit(index, row) {
+                    let _this = this;
+                    $.dyAjax('/inputInfo/get/' + row.id, {}, function (data) {
+                        _this.editData = data;
+                        _this.dialog2Visible = true;
+                        console.log(data);
+                    }, 'get');
+                },
+                //翻页大小改变事件
+                handleSizeChange(val) {
+                    var _this = this;
+                    _this.con.pageSize = val;
+                    _this.loadTable1();
+                },
+                //翻页翻页事件
+                handleCurrentChange(val) {
+                    var _this = this;
+                    _this.con.currentPage = val;
+                    _this.loadTable1();
+                },
+                //对话框1提交事件
+                dialog1Sub: function (formName) {
+                    var _this = this;
+                    const promises = [];
+                    _this.addData.forEach((el,i)=>{
+                        if (el.show){
+                            promises.push(this.$refs['form'+i].validate())
+                        }
+                    })
+                    Promise.allSettled(promises).then((results) => {
+                       const fail = results.findIndex(result => result.status==='rejected' )>-1
+                        if (!fail) {
+                            const datas = Object.assign([],_this.addData)
+                            datas.forEach(el => el.staticDate = this.staticDate)
+                            const datasFilter = datas.filter(el => el.show)
+                            const method = datasFilter[0].id?'/inputInfo/edit':'/inputInfo/add'
+                            $.dyjAjax(method, datasFilter, function (data) {
+                                _this.loadTable1(function () {
+                                    _this.$message({
+                                        type: 'success',
+                                        message: '成功!'
+                                    });
+                                    _this.dialog1Visible = false;
+                                });
+                            });
+                        } else {
+                            return false;
+                        }
+                    });
+                },
+                //加载表数据
+                loadTable1: function (callback) {
+                    var _this = this;
+                    $.dyjAjax('/inputInfo/page', this.con, function (data) {
+                        callback && callback(data);
+                        console.log(data)
+                        _this.tableData = data.records;
+                        _this.con.total = data.total;
+                        _this.con.currentPage = data.current;
+                        _this.con.pageSize = data.size;
+                    });
+                },
+                //删除
+                table1Del: function (index, row) {
+                    let _this = this;
+                    console.log(row);
+                    this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
+                        confirmButtonText: '确定',
+                        cancelButtonText: '取消',
+                        type: 'warning'
+                    }).then(() => {
+                        $.dyAjax('/inputInfo/del', { id: row.id }, function (data) {
+                            _this.loadTable1(function () {
+                                _this.$message({
+                                    type: 'success',
+                                    message: '删除成功!'
+                                });
+                            });
+                        });
+                    }).catch(() => {
+                    });
+                },
+                // 查看
+                table1View: function (index, row,type = 'view') {
+                    const {personTimes,scenic,staticDate,total,id} = row
+                    var _this = this;
+                    $.dyAjax('/inputInfo/get', {id}, function (data) {
+                        _this.addData = copy(FULL_ADD_DATA)
+                        _this.addData.forEach(item => {
+                            if(item.scenic === scenic){
+                                item.show = true
+                                item.income = data
+                                Object.assign(item,{personTimes,scenic,staticDate,total,id})
+                            }else{
+                                item.show = false
+                            }
+                        })
+                        _this.dialog1Visible = true
+                        _this.disableStaticDate = true
+                        _this.disableForm = type === 'view'
+                    });
+                },
+            },
+        };
+        var app = Vue.extend(option);
+        new app().$mount('#app');
+    });
+</script>
+
+</html>

+ 295 - 280
fjs-scenic-manager/src/main/resources/templates/system/manage.html

@@ -1,209 +1,212 @@
-<#include "/incloud/header.ftl"/>
+<#include "/incloud/header.ftl" />
 <!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd">
-<html >
+<html>
 <@header></@header>
+
 <body class="hold-transition skin-blue sidebar-mini">
-<div class="wrapper">
+    <div class="wrapper">
 
-    <@top></@top>
-    <@left></@left>
+        <@top></@top>
+        <@left></@left>
 
-    <!-- Content Wrapper. Contains page content -->
-    <div class="content-wrapper">
-        <!-- Content Header (Page header) -->
-        <section class="content-header">
-            <h1>
-                后台管理员维护
-                <small>Optional description</small>
-            </h1>
-            <ol class="breadcrumb">
-                <li><a href="#"><i class="fa fa-dashboard"></i> Level</a></li>
-                <li class="active">Here</li>
-            </ol>
-        </section>
-        <!-- Main content -->
-        <section class="content container-fluid" id="app">
-            <div class="box-body">
-                <!--查询区域-->
-                <div class="query">
-                    <el-form :inline="true" :model="con" class="demo-form-inline">
-                        <el-form-item label="姓名" :label-width="queryLabelWidth">
-                            <el-input v-model="con.name" placeholder="姓名" maxlength="4" minlength="2"></el-input>
-                        </el-form-item>
-                        <el-form-item>
-                            <el-button type="primary" @click="loadTable1()">查询</el-button>
-                        </el-form-item>
-                    </el-form>
-                </div>
-                <!--功能按钮区-->
-                <div class="buttonDiv">
-                    <el-button
-                            size="mini" type="primary" class="pagination-but"
-                            @click="dialog1Visible = true">新增
-                    </el-button>
-                </div>
-                <!--表格区-->
-                <el-table border
-                          :data="tableData"
-                          style="width: 100%">
-                    <el-table-column min-width="150px"
-                                     label="姓名"
-                                     prop="name">
-                    </el-table-column>
-                    <el-table-column min-width="150px"
-                                     label="账号"
-                                     prop="account">
-                    </el-table-column>
-                    <el-table-column min-width="150px"
-                                     label="电话"
-                                     prop="phone">
-                    </el-table-column>
-                    <el-table-column min-width="150px"
-                                     label="状态">
-                        <template slot-scope="scope">
-                            {{scope.row.status|getEnumVal(MANAGE_STATUS)}}
-                        </template>
-                    </el-table-column>
-                    <el-table-column min-width="150px"
-                                     label="创建时间"
-                                     prop="createTime">
-                    </el-table-column>
-                    <el-table-column min-width="150px"
-                                     label="修改时间"
-                                     prop="updateTime">
-                    </el-table-column>
-                    <el-table-column label="操作" min-width="300px">
-                        <template slot-scope="scope">
-                            <el-button
-                                    size="mini"
-                                    type="primary"
-                                    @click="table1Edit(scope.$index, scope.row)">修改
-                            </el-button>
-                            <el-button
-                                    size="mini" type="danger"
-                                    @click="table1Del(scope.$index, scope.row)">删除
-                            </el-button>
-                            <!--<el-button
-                                    size="mini" type="primary"
-                                    @click="table1Role(scope.$index, scope.row)">分配角色
-                            </el-button>-->
-                            <el-button v-if="scope.row.status===MANAGE_STATUS.正常" size="mini" type="warning"
+        <!-- Content Wrapper. Contains page content -->
+        <div class="content-wrapper">
+            <!-- Content Header (Page header) -->
+            <section class="content-header">
+                <h1>
+                    后台管理员维护
+                    <small>Optional description</small>
+                </h1>
+                <ol class="breadcrumb">
+                    <li><a href="#"><i class="fa fa-dashboard"></i> Level</a></li>
+                    <li class="active">Here</li>
+                </ol>
+            </section>
+            <!-- Main content -->
+            <section class="content container-fluid" id="app">
+                <div class="box-body">
+                    <!--查询区域-->
+                    <div class="query">
+                        <el-form :inline="true" :model="con" class="demo-form-inline">
+                            <el-form-item label="姓名" :label-width="queryLabelWidth">
+                                <el-input v-model="con.name" placeholder="姓名" maxlength="4" minlength="2"></el-input>
+                            </el-form-item>
+                            <el-form-item>
+                                <el-button type="primary" @click="loadTable1()">查询</el-button>
+                            </el-form-item>
+                        </el-form>
+                    </div>
+                    <!--功能按钮区-->
+                    <div class="buttonDiv">
+                        <el-button size="mini" type="primary" class="pagination-but" @click="dialog1Visible = true">新增
+                        </el-button>
+                    </div>
+                    <!--表格区-->
+                    <el-table border :data="tableData" style="width: 100%">
+                        <el-table-column min-width="150px" label="姓名" prop="name">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="账号" prop="account">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="电话" prop="phone">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="公司" prop="company">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="景区" prop="scenic">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="状态">
+                            <template slot-scope="scope">
+                                {{scope.row.status|getEnumVal(MANAGE_STATUS)}}
+                            </template>
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="创建时间" prop="createTime">
+                        </el-table-column>
+                        <el-table-column min-width="150px" label="修改时间" prop="updateTime">
+                        </el-table-column>
+                        <el-table-column label="操作" min-width="300px">
+                            <template slot-scope="scope">
+                                <el-button size="mini" type="primary" @click="table1Edit(scope.$index, scope.row)">修改
+                                </el-button>
+                                <el-button size="mini" type="danger" @click="table1Del(scope.$index, scope.row)">删除
+                                </el-button>
+                                <el-button size="mini" type="primary" @click="authorityClick(scope.$index, scope.row)">
+                                    分配权限
+                                </el-button>
+                                <el-button v-if="scope.row.status===MANAGE_STATUS.正常" size="mini" type="warning"
                                     @click="table1FreezeUnfreeza(scope.row.id,MANAGE_STATUS.无效)">冻结
-                            </el-button>
-                            <el-button v-if="scope.row.status===MANAGE_STATUS.无效" size="mini" type="primary"
+                                </el-button>
+                                <el-button v-if="scope.row.status===MANAGE_STATUS.无效" size="mini" type="primary"
                                     @click="table1FreezeUnfreeza(scope.row.id,MANAGE_STATUS.正常)">解冻
-                            </el-button>
-                        </template>
-                    </el-table-column>
-                </el-table>
-                <!--分页-->
-                <div class="block">
-                    <el-pagination
-                            @size-change="handleSizeChange"
-                            @current-change="handleCurrentChange"
-                            :current-page="con.currentPage"
-                            :page-sizes="[1,10, 50, 200, 500]"
-                            :page-size="con.pageSize"
-                            layout="total, sizes, prev, pager, next, jumper, slot"
-                            :total="con.total">
-                    </el-pagination>
-                </div>
-                <!--对话框1 新增-->
-                <el-dialog title="新增"
-                           :visible.sync="dialog1Visible"
-                           :custom-class="'ele-dialog'"
-                           :center="true"
-                           @close="closeAddDialog1">
-                    <el-form :model="addData" status-icon :rules="rules" ref="dialog1">
-                        <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
-                            <el-input v-model="addData.name" placeholder="请输入姓名"></el-input>
-                        </el-form-item>
-                        <el-form-item label="电话" :label-width="formLabelWidth" prop="phone">
-                            <el-input v-model="addData.phone" placeholder="请输入电话"></el-input>
-                        </el-form-item>
-                        <el-form-item label="账号" :label-width="formLabelWidth" prop="account">
-                            <el-input v-model="addData.account" placeholder="请输入账号"></el-input>
-                        </el-form-item>
-                        <el-form-item label="密码" :label-width="formLabelWidth" prop="password">
-                            <el-input type="password" v-model="addData.password" placeholder="请输入密码"></el-input>
-                        </el-form-item>
-                        <el-form-item label="确认密码" :label-width="formLabelWidth" prop="password2">
-                            <el-input type="password" v-model="addData.password2" placeholder="请再次输入密码"></el-input>
-                        </el-form-item>
-                    </el-form>
-                    <div slot="footer" class="dialog-footer">
-                        <el-button type="primary" @click="dialog1Sub('dialog1')">提 交</el-button>
-                        <el-button @click="dialog1Visible = false">取 消</el-button>
+                                </el-button>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                    <!--分页-->
+                    <div class="block">
+                        <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
+                            :current-page="con.currentPage" :page-sizes="[1,10, 50, 200, 500]" :page-size="con.pageSize"
+                            layout="total, sizes, prev, pager, next, jumper, slot" :total="con.total">
+                        </el-pagination>
                     </div>
-                </el-dialog>
+                    <!--对话框1 新增-->
+                    <el-dialog title="新增" :visible.sync="dialog1Visible" :custom-class="'ele-dialog'" :center="true"
+                        @close="closeAddDialog1">
+                        <el-form :model="addData" status-icon :rules="rules" ref="dialog1">
+                            <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
+                                <el-input v-model="addData.name" placeholder="请输入姓名"></el-input>
+                            </el-form-item>
+                            <el-form-item label="电话" :label-width="formLabelWidth" prop="phone">
+                                <el-input v-model="addData.phone" placeholder="请输入电话"></el-input>
+                            </el-form-item>
+                            <el-form-item label="账号" :label-width="formLabelWidth" prop="account">
+                                <el-input v-model="addData.account" placeholder="请输入账号"></el-input>
+                            </el-form-item>
+                            <el-form-item label="密码" :label-width="formLabelWidth" prop="password">
+                                <el-input type="password" v-model="addData.password" placeholder="请输入密码"></el-input>
+                            </el-form-item>
+                            <el-form-item label="确认密码" :label-width="formLabelWidth" prop="password2">
+                                <el-input type="password" v-model="addData.password2" placeholder="请再次输入密码"></el-input>
+                            </el-form-item>
+                        </el-form>
+                        <div slot="footer" class="dialog-footer">
+                            <el-button type="primary" @click="dialog1Sub('dialog1')">提 交</el-button>
+                            <el-button @click="dialog1Visible = false">取 消</el-button>
+                        </div>
+                    </el-dialog>
 
-                <!--对话框2 编辑-->
-                <el-dialog title="编辑"
-                           :visible.sync="dialog2Visible"
-                           :custom-class="'ele-dialog'"
-                           :center="true"
-                           @close="closeEditDialog2">
-                    <el-form :model="editData" status-icon :rules="rules2" ref="dialog2">
-                        <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
-                            <el-input v-model="editData.name" placeholder="请输入姓名"></el-input>
-                        </el-form-item>
-                        <el-form-item label="电话" :label-width="formLabelWidth" prop="phone">
-                            <el-input v-model="editData.phone" placeholder="请输入电话"></el-input>
-                        </el-form-item>
-                        <el-form-item label="账号" :label-width="formLabelWidth" prop="account">
-                            <el-input v-model="editData.account" placeholder="请输入账号"></el-input>
-                        </el-form-item>
-                        <el-form-item label="密码" :label-width="formLabelWidth" prop="password">
-                            <el-input type="password" v-model="editData.password" placeholder="请输入密码,留空不作修改"></el-input>
-                        </el-form-item>
-                        <el-form-item label="确认密码" :label-width="formLabelWidth" prop="password2">
-                            <el-input type="password" v-model="editData.password2" placeholder="请再次输入密码,留空不作修改"></el-input>
-                        </el-form-item>
-                    </el-form>
-                    <div slot="footer" class="dialog-footer">
-                        <el-button type="primary" @click="dialog2Sub('dialog2')">提 交</el-button>
-                        <el-button @click="dialog2Visible = false">取 消</el-button>
-                    </div>
-                </el-dialog>
-                <!--对话框3 角色-->
-                <el-dialog title="角色" :visible.sync="dialog3Visible" :custom-class="'ele-dialog'" :center="true">
-                    <el-form :model="roleData" status-icon :rules="rules3" ref="dialog3">
-                        <el-form-item :label-width="formLabelWidth" prop="id">
-                            <el-input type="hidden" v-model="roleData.id"></el-input>
-                        </el-form-item>
-                        <el-form-item label="角色" :label-width="formLabelWidth" prop="roles">
-                            <el-select v-model="roleData.roles" placeholder="请选择角色" multiple>
-                                <el-option
-                                        v-for="item in roleIds"
-                                        :key="item.id"
-                                        :label="item.name"
-                                        :value="item.id">
-                                </el-option>
-                            </el-select>
-                        </el-form-item>
-                    </el-form>
-                    <div slot="footer" class="dialog-footer">
-                        <el-button type="primary" @click="dialog3Sub('dialog3')">提 交</el-button>
-                        <el-button @click="dialog3Visible = false">取 消</el-button>
-                    </div>
-                </el-dialog>
-            </div>
-        </section>
-        <!-- /.content -->
+                    <!--对话框2 编辑-->
+                    <el-dialog title="编辑" :visible.sync="dialog2Visible" :custom-class="'ele-dialog'" :center="true"
+                        @close="closeEditDialog2">
+                        <el-form :model="editData" status-icon :rules="rules2" ref="dialog2">
+                            <el-form-item label="姓名" :label-width="formLabelWidth" prop="name">
+                                <el-input v-model="editData.name" placeholder="请输入姓名"></el-input>
+                            </el-form-item>
+                            <el-form-item label="电话" :label-width="formLabelWidth" prop="phone">
+                                <el-input v-model="editData.phone" placeholder="请输入电话"></el-input>
+                            </el-form-item>
+                            <el-form-item label="账号" :label-width="formLabelWidth" prop="account">
+                                <el-input v-model="editData.account" placeholder="请输入账号"></el-input>
+                            </el-form-item>
+                            <el-form-item label="密码" :label-width="formLabelWidth" prop="password">
+                                <el-input type="password" v-model="editData.password" placeholder="请输入密码,留空不作修改">
+                                </el-input>
+                            </el-form-item>
+                            <el-form-item label="确认密码" :label-width="formLabelWidth" prop="password2">
+                                <el-input type="password" v-model="editData.password2" placeholder="请再次输入密码,留空不作修改">
+                                </el-input>
+                            </el-form-item>
+                        </el-form>
+                        <div slot="footer" class="dialog-footer">
+                            <el-button type="primary" @click="dialog2Sub('dialog2')">提 交</el-button>
+                            <el-button @click="dialog2Visible = false">取 消</el-button>
+                        </div>
+                    </el-dialog>
+                    <!--对话框3 权限-->
+                    <el-dialog title="权限" :visible.sync="dialog3Visible" :custom-class="'ele-dialog'" :center="true">
+                        <el-form :model="typeAuthority" status-icon ref="dialog3">
+                            <el-form-item label="景区" :label-width="formLabelWidth" prop="companyScenic"
+                                :rules="{ required: true, message: '请选择', trigger: 'change' }">
+                                <el-cascader v-model="typeAuthority.companyScenic" :options="companyScenicOptions"
+                                    :props="{ multiple: true }" @change="companyScenicChange"></el-cascader>
+                            </el-form-item>
+                            <el-form-item label="权限" :label-width="formLabelWidth" prop="authority"
+                                :rules="{ required: true, message: '请选择', trigger: 'change' }">
+                                <el-select v-model="typeAuthority.authority" placeholder="请选择">
+                                    <el-option label="录入" :value="0"></el-option>
+                                    <el-option label="查看" :value="1"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-form>
+                        <div slot="footer" class="dialog-footer">
+                            <el-button type="primary" @click="dialog3Sub('dialog3')">提 交</el-button>
+                            <el-button @click="dialog3Visible = false">取 消</el-button>
+                        </div>
+                    </el-dialog>
+                </div>
+            </section>
+            <!-- /.content -->
+        </div>
+        <!-- Main Footer -->
+        <!--<@footer></@footer>-->
+        <@footer></@footer>
     </div>
-    <!-- Main Footer -->
-    <!--<@footer></@footer>-->
-    <@footer></@footer>
-</div>
 </body>
 <script src="/js/util/dyAjax.js"></script>
 <script>
     $(function () {
+        const TYPE_AUTHORITY = { authority: 0, companyScenic: [[0, 0]] }
         var option = {
             mixins: [dyMixin],
             data() {
                 return {
-                    con: {currentPage: 1, pageSize: 10, total: 0},//查询条件
+                    companyScenic: undefined,
+                    companyScenicOptions: [
+                        {
+                            value: 0,
+                            label: '巴拉胡景区管理公司',
+                            children: [
+                                { value: 0, label: '大峡谷景区' },
+                                { value: 1, label: '水车坪景区' },
+                                { value: 2, label: '濯水景区' },
+                                { value: 3, label: '小南海' },
+                                { value: 4, label: '十三寨' }]
+                        }, {
+                            value: 1,
+                            label: '芭拉胡公司',
+                            children: [
+                                { value: 5, label: '水师码头' },
+                                { value: 6, label: '神龟峡景区' }]
+                        }, {
+                            value: 2,
+                            label: '爱莉丝公司',
+                            children: [
+                                { value: 7, label: '官村' },
+                                { value: 8, label: '爱莉丝' }]
+                        }, {
+                            value: 3,
+                            label: '阿蓬江旅行社公司',
+                            children: [{ value: 9, label: '阿蓬江旅行社公司' }]
+                        }],
+                    con: { currentPage: 1, pageSize: 10, total: 0 },//查询条件
                     tableData: [],
                     dialog1Visible: false,//对话框隐藏
                     addData: {
@@ -214,38 +217,44 @@
                         password2: ''
                     },//新增数据模板
                     editData: {},//编辑数据
-                    roleData: {roles:[]},//角色数据
-                    roleIds:[],
+                    typeAuthority: Object.assign(TYPE_AUTHORITY),//角色数据
+                    roleIds: [],
                     dialog2Visible: false,//编辑弹框隐藏
                     dialog3Visible: false,//角色弹框隐藏
                     rules: {
                         name: [
-                            {required: true,validator: (rule, value, callback) => {
-                                if (!(/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/.test(value))) {
-                                    callback(new Error('请输入正确的姓名,只能输入汉字,长度在2-4个字符之间'));
-                                } else {
-                                    callback();
-                                }
-                            }, trigger: 'blur'}
+                            {
+                                required: true, validator: (rule, value, callback) => {
+                                    if (!(/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/.test(value))) {
+                                        callback(new Error('请输入正确的姓名,只能输入汉字,长度在2-4个字符之间'));
+                                    } else {
+                                        callback();
+                                    }
+                                }, trigger: 'blur'
+                            }
                         ],
                         phone: [
-                            {required: true,validator: (rule, value, callback) => {
-                                if (!(/^1[34578]\d{9}$/.test(value))) {
-                                    callback(new Error('请输入正确的联系方式'));
-                                } else {
-                                    callback();
-                                }
-                            }, trigger: 'blur'}
+                            {
+                                required: true, validator: (rule, value, callback) => {
+                                    if (!(/^1[34578]\d{9}$/.test(value))) {
+                                        callback(new Error('请输入正确的联系方式'));
+                                    } else {
+                                        callback();
+                                    }
+                                }, trigger: 'blur'
+                            }
                         ],
                         account: [
-                            {required: true,
+                            {
+                                required: true,
                                 validator: (rule, value, callback) => {
                                     if (!(/^[a-zA-Z0-9]+$/.test(value))) {
                                         callback(new Error('请输入字母或数字'));
                                     } else {
                                         callback();
                                     }
-                                }, trigger: 'blur'},
+                                }, trigger: 'blur'
+                            },
                             { min: 6, max: 12, message: '长度在6-12个字符', trigger: 'blur' }
                         ],
                         password: [
@@ -266,53 +275,59 @@
                         password2: [
                             {
                                 required: true, validator: (rule, value, callback) => {
-                                if (value === '') {
-                                    callback(new Error('请再次输入密码'));
-                                } else if (value !== this.addData.password) {
-                                    callback(new Error('两次输入密码不一致!'));
-                                } else {
-                                    callback();
-                                }
-                            }, trigger: 'blur'
+                                    if (value === '') {
+                                        callback(new Error('请再次输入密码'));
+                                    } else if (value !== this.addData.password) {
+                                        callback(new Error('两次输入密码不一致!'));
+                                    } else {
+                                        callback();
+                                    }
+                                }, trigger: 'blur'
                             }
                         ]
                     },//对话框1验证规则
                     rules2: {
                         name: [
-                            {required: true,validator: (rule, value, callback) => {
-                                if (!(/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/.test(value))) {
-                                    callback(new Error('请输入正确的姓名'));
-                                } else {
-                                    callback();
-                                }
-                            }, trigger: 'blur'}
+                            {
+                                required: true, validator: (rule, value, callback) => {
+                                    if (!(/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/.test(value))) {
+                                        callback(new Error('请输入正确的姓名'));
+                                    } else {
+                                        callback();
+                                    }
+                                }, trigger: 'blur'
+                            }
                         ],
                         phone: [
-                            {required: true,validator: (rule, value, callback) => {
-                                if (!(/^1[34578]\d{9}$/.test(value))) {
-                                    callback(new Error('请输入正确的联系方式'));
-                                } else {
-                                    callback();
-                                }
-                            }, trigger: 'blur'}
+                            {
+                                required: true, validator: (rule, value, callback) => {
+                                    if (!(/^1[34578]\d{9}$/.test(value))) {
+                                        callback(new Error('请输入正确的联系方式'));
+                                    } else {
+                                        callback();
+                                    }
+                                }, trigger: 'blur'
+                            }
                         ],
                         account: [
-                            {required: true,
+                            {
+                                required: true,
                                 validator: (rule, value, callback) => {
                                     if (!(/^[a-zA-Z0-9]+$/.test(value))) {
                                         callback(new Error('请输入字母或数字'));
                                     } else {
                                         callback();
                                     }
-                                }, trigger: 'blur'},
+                                }, trigger: 'blur'
+                            },
                             { min: 6, max: 12, message: '长度在6-12个字符', trigger: 'blur' }
                         ],
                         password: [
                             {
                                 required: false,
                                 validator: (rule, value, callback) => {
-                                // console.log(value===null)
-                                    if(value !== null && value !==''){
+                                    // console.log(value===null)
+                                    if (value !== null && value !== '') {
                                         if (!(/^.{6,12}$/.test(value))) {
                                             callback(new Error('请输入6-12位密码'));
                                         } else {
@@ -321,7 +336,7 @@
                                             }
                                             callback();
                                         }
-                                    }else{
+                                    } else {
                                         callback();
                                     }
 
@@ -331,39 +346,37 @@
                         password2: [
                             {
                                 required: false, validator: (rule, value, callback) => {
-                                // if (value === '') {
-                                //     callback(new Error('请再次输入密码'));
-                                // } else
-                                console.log(value,typeof(value),typeof(value) !== 'undefined',"b:"+this.editData.password)
-                                console.log(this.editData.password)
-                                if((this.editData.password !== null && this.editData.password !== '') || typeof(value) !== 'undefined' && value !==  null){
-                                    if ( value !== this.editData.password) {
-                                        callback(new Error('两次输入密码不一致!'));
+                                    // if (value === '') {
+                                    //     callback(new Error('请再次输入密码'));
+                                    // } else
+                                    console.log(value, typeof (value), typeof (value) !== 'undefined', "b:" + this.editData.password)
+                                    console.log(this.editData.password)
+                                    if ((this.editData.password !== null && this.editData.password !== '') || typeof (value) !== 'undefined' && value !== null) {
+                                        if (value !== this.editData.password) {
+                                            callback(new Error('两次输入密码不一致!'));
+                                        } else {
+                                            callback();
+                                        }
                                     } else {
                                         callback();
                                     }
-                                }else{
-                                    callback();
-                                }
 
-                            }, trigger: 'blur'
+                                }, trigger: 'blur'
                             }
                         ]
                     },//对话框2验证规则
-                    rules3: {
-                        roles: [
-                            {required: true, message: '请选择角色', trigger: 'change'}
-                        ]
-                    },//对话框3验证规则
-                    MANAGE_STATUS:{'正常':"1",'无效':"0"},//账户状态
+                    MANAGE_STATUS: { '正常': "1", '无效': "0" },//账户状态
                 }
             },
             mounted: function () {
                 this.loadTable1();
             },
             methods: {
-//                表1 冻结 解结
-                table1FreezeUnfreeza(id,stutes){
+                companyScenicChange(value) {
+                    console.log(value);
+                },
+                // 表1 冻结 解结
+                table1FreezeUnfreeza(id, stutes) {
                     let _this = this;
                     let isFreeze = stutes === _this.MANAGE_STATUS.无效;
                     this.$confirm(isFreeze ? '确定冻结' : '确定解冻?', '提示', {
@@ -371,8 +384,8 @@
                         cancelButtonText: '取消',
                         type: 'warning'
                     }).then(() => {
-                        $.dyAjax('/manage/freezeUnfreeza', {id: id, status: stutes}, function (data) {
-                            _this.$message({message: '操作成功', type: 'success'});
+                        $.dyAjax('/manage/freezeUnfreeza', { id: id, status: stutes }, function (data) {
+                            _this.$message({ message: '操作成功', type: 'success' });
                             _this.loadTable1();
                         });
                     }).catch(() => {
@@ -383,7 +396,7 @@
                     let _this = this;
                     $.dyAjax('/manage/get/' + row.id, {}, function (data) {
                         _this.editData = data;
-//                        _this.editData.password2 = '';
+                        //                        _this.editData.password2 = '';
                         _this.dialog2Visible = true;
                         console.log(data);
                     }, 'get');
@@ -407,7 +420,7 @@
                     this.$refs[formName].validate((valid) => {
                         if (valid) {
                             $.dyAjax('/manage/addManage', _this.addData, function (data) {
-                                if(data.status===200){
+                                if (data.status === 200) {
                                     _this.loadTable1(function () {
                                         _this.$message({
                                             message: '成功',
@@ -416,7 +429,7 @@
                                         _this.dialog1Visible = false;
                                         _this.jsonClear(_this.addData);
                                     });
-                                }else {
+                                } else {
                                     _this.loadTable1(function () {
                                         _this.$message({
                                             message: data.msg,
@@ -454,7 +467,7 @@
                         cancelButtonText: '取消',
                         type: 'warning'
                     }).then(() => {
-                        $.dyAjax('/manage/del', {id: row.id}, function (data) {
+                        $.dyAjax('/manage/del', { id: row.id }, function (data) {
                             _this.loadTable1(function () {
                                 _this.$message({
                                     type: 'success',
@@ -465,22 +478,21 @@
                     }).catch(() => {
                     });
                 },
-                //分配角色
-                table1Role: function (index, row) {
-                    let _this = this;
-                    $.dyAjax('/role/getAll', {}, function (data) {
-                        var list=row.roleList;
-                        ids=[];
-                        for(var i=0;i<list.length;i++){
-                            ids.push(list[i].id);
+                //分配权限
+                authorityClick: function (index, row) {
+                    var _this = this;
+                    $.dyAjax('/manage/getTypeAuthority/' + row.id, undefined, function (data) {
+                        if (data.length > 0) {
+                            let companyScenic = data.reduce((acc, cur) => {
+                                acc.push([cur.company, cur.scenic])
+                                return acc
+                            }, [])
+                            _this.typeAuthority = { authority: data[0].authority?1:0, companyScenic, manager: row.id }
+                        } else {
+                            _this.typeAuthority = Object.assign(TYPE_AUTHORITY, {manager: row.id})
                         }
-                        console.log(ids);
-                        _this.roleIds=data;
-                        _this.roleData.roles=ids;
-                        _this.roleData.id=row.id;
-                        console.log(_this.roleData.id);
                         _this.dialog3Visible = true;
-                    }, 'get');
+                    });
                 },
                 //对话框2 编辑提交事件
                 dialog2Sub: function (formName) {
@@ -508,17 +520,19 @@
                     var _this = this;
                     this.$refs[formName].validate((valid) => {
                         if (valid) {
-                            console.log(_this.roleData);
-                            $.dyAjax('/manage/saveRole', {id:_this.roleData.id,roles:_this.roleData.roles.join(',')}, function (data) {
+                            const { companyScenic, authority, manager } = _this.typeAuthority
+                            let datas = []
+                            companyScenic.forEach(element => {
+                                datas.push({ company: element[0], scenic: element[1], authority, manager })
+                            });
+                            $.dyjAjax('/manage/saveTypeAuthority', datas, function (data) {
                                 _this.loadTable1(function () {
                                     _this.$message({
                                         message: '成功',
                                         type: 'success'
                                     });
                                     _this.dialog3Visible = false;
-                                    _this.jsonClear(_this.roleData.roles);
-                                    _this.jsonClear(_this.roleData.id);
-                                },'post');
+                                }, 'post');
                             });
                         } else {
                             return false;
@@ -526,11 +540,11 @@
                     });
                 },
 
-                closeAddDialog1: function(){
+                closeAddDialog1: function () {
                     this.$refs['dialog1'].resetFields()
                 },
 
-                closeEditDialog2 :function () {
+                closeEditDialog2: function () {
                     this.$refs['dialog2'].resetFields()
                 },
 
@@ -542,4 +556,5 @@
         new app().$mount('#app');
     });
 </script>
+
 </html>

+ 30 - 21
fjs-scenic-mapper/pom.xml

@@ -9,36 +9,45 @@
 	<artifactId>fjs-scenic-mapper</artifactId>
 	<dependencies>
 		<dependency>
+			<groupId>com.baomidou</groupId>
+			<artifactId>mybatis-plus-boot-starter</artifactId>
+			<version>3.4.3</version>
+		</dependency>
+		<dependency>
+			<groupId>com.github.pagehelper</groupId>
+			<artifactId>pagehelper-spring-boot-starter</artifactId>
+			<version>1.3.1</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.mybatis</groupId>
+					<artifactId>mybatis</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.mybatis</groupId>
+					<artifactId>mybatis-spring</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
 			<groupId>com.fjs.scenic</groupId>
 			<artifactId>fjs-scenic-common</artifactId>
 			<version>0.0.1-SNAPSHOT</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>guava</artifactId>
+					<groupId>com.google.guava</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>commons-io</artifactId>
+					<groupId>commons-io</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>com.fjs.scenic</groupId>
 			<artifactId>fjs-scenic-entity</artifactId>
 			<version>0.0.1-SNAPSHOT</version>
 		</dependency>
-		<!-- mybatis -->
-		<dependency>
-			<groupId>org.mybatis.spring.boot</groupId>
-			<artifactId>mybatis-spring-boot-starter</artifactId>
-		</dependency>
-		<!--分页-->
-		<dependency>
-			<groupId>com.github.pagehelper</groupId>
-			<artifactId>pagehelper</artifactId>
-			<version>5.1.8</version>
-		</dependency>
-		<dependency>
-			<groupId>com.github.pagehelper</groupId>
-			<artifactId>pagehelper-spring-boot-autoconfigure</artifactId>
-			<version>1.2.3</version>
-		</dependency>
-		<dependency>
-			<groupId>com.github.pagehelper</groupId>
-			<artifactId>pagehelper-spring-boot-starter</artifactId>
-			<version>1.2.3</version>
-		</dependency>
 		<!-- MYSQL包 -->
 		<dependency>
 			<groupId>mysql</groupId>

+ 14 - 0
fjs-scenic-mapper/src/main/java/com/fjs/scenic/mapper/system/InpIncomeMapper.java

@@ -0,0 +1,14 @@
+package com.fjs.scenic.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fjs.scenic.entity.system.InpIncome;
+
+/**
+ * (InpIncome)表数据库访问层
+ *
+ * @author lfj
+ * @since 2021-09-30 15:16:27
+ */
+public interface InpIncomeMapper extends BaseMapper<InpIncome> {
+
+}

+ 14 - 0
fjs-scenic-mapper/src/main/java/com/fjs/scenic/mapper/system/InputInfoMapper.java

@@ -0,0 +1,14 @@
+package com.fjs.scenic.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fjs.scenic.entity.system.InputInfo;
+
+/**
+ * (InputInfo)表数据库访问层
+ *
+ * @author lfj
+ * @since 2021-09-30 15:20:51
+ */
+public interface InputInfoMapper extends BaseMapper<InputInfo> {
+
+}

+ 14 - 0
fjs-scenic-mapper/src/main/java/com/fjs/scenic/mapper/system/TypeAuthorityMapper.java

@@ -0,0 +1,14 @@
+package com.fjs.scenic.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fjs.scenic.entity.system.TypeAuthority;
+
+/**
+ * 后台管理员 景区资料录入权限信息(TypeAuthority)表数据库访问层
+ *
+ * @author lfj
+ * @since 2021-09-27 11:46:40
+ */
+public interface TypeAuthorityMapper extends BaseMapper<TypeAuthority> {
+
+}

+ 14 - 0
fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/InpIncomeService.java

@@ -0,0 +1,14 @@
+package com.fjs.scenic.service.system;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fjs.scenic.entity.system.InpIncome;
+
+/**
+ * (InpIncome)表服务接口
+ *
+ * @author lfj
+ * @since 2021-09-30 15:16:29
+ */
+public interface InpIncomeService extends IService<InpIncome> {
+
+}

+ 14 - 0
fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/InputInfoService.java

@@ -0,0 +1,14 @@
+package com.fjs.scenic.service.system;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fjs.scenic.entity.system.InputInfo;
+
+/**
+ * (InputInfo)表服务接口
+ *
+ * @author lfj
+ * @since 2021-09-30 15:20:53
+ */
+public interface InputInfoService extends IService<InputInfo> {
+
+}

+ 1 - 1
fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/ManageService.java

@@ -21,7 +21,7 @@ public interface ManageService extends BaseService<Manage> {
 
     List<Manage> selectRepet(Manage manage);
 
-    List<Manage> page1(Manage record);
+    ReturnResult selfPage(Manage record, int currentPage, int pageSize);
 
     Manage selectLDJCManage();
 

+ 14 - 0
fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/TypeAuthorityService.java

@@ -0,0 +1,14 @@
+package com.fjs.scenic.service.system;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fjs.scenic.entity.system.TypeAuthority;
+
+/**
+ * 后台管理员 景区资料录入权限信息(TypeAuthority)表服务接口
+ *
+ * @author lfj
+ * @since 2021-09-27 13:53:29
+ */
+public interface TypeAuthorityService extends IService<TypeAuthority> {
+
+}

+ 18 - 0
fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/impl/InpIncomeServiceImpl.java

@@ -0,0 +1,18 @@
+package com.fjs.scenic.service.system.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjs.scenic.entity.system.InpIncome;
+import com.fjs.scenic.mapper.system.InpIncomeMapper;
+import com.fjs.scenic.service.system.InpIncomeService;
+import org.springframework.stereotype.Service;
+
+/**
+ * (InpIncome)表服务实现类
+ *
+ * @author lfj
+ * @since 2021-09-30 15:16:30
+ */
+@Service("inpIncomeService")
+public class InpIncomeServiceImpl extends ServiceImpl<InpIncomeMapper, InpIncome> implements InpIncomeService {
+
+}

+ 18 - 0
fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/impl/InputInfoServiceImpl.java

@@ -0,0 +1,18 @@
+package com.fjs.scenic.service.system.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjs.scenic.entity.system.InputInfo;
+import com.fjs.scenic.mapper.system.InputInfoMapper;
+import com.fjs.scenic.service.system.InputInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * (InputInfo)表服务实现类
+ *
+ * @author lfj
+ * @since 2021-09-30 15:20:54
+ */
+@Service("inputInfoService")
+public class InputInfoServiceImpl extends ServiceImpl<InputInfoMapper, InputInfo> implements InputInfoService {
+
+}

+ 56 - 12
fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/impl/ManageServiceImpl.java

@@ -1,12 +1,20 @@
 package com.fjs.scenic.service.system.impl;
 
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 //import com.fjs.scenic.utils.UserUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fjs.scenic.dto.ManageListDto;
+import com.fjs.scenic.entity.system.TypeAuthority;
 import com.fjs.scenic.entity.user.UserStatistical;
 import com.fjs.scenic.mapper.user.UserStatisticalMapper;
+import com.fjs.scenic.service.system.TypeAuthorityService;
 import com.fjs.scenic.utils.Md5Utils;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -35,6 +43,9 @@ public class ManageServiceImpl extends BaseServiceImpl<Manage> implements Manage
     private ManageRoleMapper manageRoleMapper;
     @Autowired
     private UserStatisticalMapper userStatisticalMapper;
+    @Autowired
+    private TypeAuthorityService typeAuthorityService;
+
     /**
      * 添加管理员
      *
@@ -115,8 +126,39 @@ public class ManageServiceImpl extends BaseServiceImpl<Manage> implements Manage
     }
 
     @Override
-    public List<Manage> page1(Manage record) {
-        return manageMapper.selectAll1(record);
+    public ReturnResult selfPage(Manage record, int currentPage, int pageSize) {
+        currentPage = (currentPage == 0) ? 1 : currentPage;
+        pageSize = (pageSize == 0) ? 10 : pageSize;
+        PageHelper.startPage(currentPage, pageSize);
+        List<Manage> manages = manageMapper.selectAll1(record);
+        PageInfo<Manage> pageInfo = new PageInfo<>(manages);
+        if (pageInfo.getSize() == 0) {
+            return ReturnResult.ok(pageInfo);
+        }
+        List<ManageListDto> manageListDtos = new ArrayList<>();
+        for (Manage m : pageInfo.getList()) {
+            ManageListDto manageListDto = new ManageListDto();
+            BeanUtils.copyProperties(m, manageListDto);
+            List<TypeAuthority> typeAuthorities = typeAuthorityService.list(new LambdaQueryWrapper<TypeAuthority>().eq(TypeAuthority::getManager, m.getId()));
+            if (!typeAuthorities.isEmpty()) {
+                String company = typeAuthorities.stream()
+                        .collect(Collectors.groupingBy(TypeAuthority::getCompany))
+                        .keySet().stream().map(Cons.COMPANYS::get)
+                        .collect(Collectors.joining(","));
+                String scenic = typeAuthorities.stream()
+                        .map(typeAuthority -> Cons.SCENICS.get(typeAuthority.getScenic()))
+                        .collect(Collectors.joining(","));
+                manageListDto.setCompany(company);
+                manageListDto.setScenic(scenic);
+            }
+            manageListDtos.add(manageListDto);
+        }
+
+        PageInfo<ManageListDto> newPageInfo = new PageInfo<>(manageListDtos);
+        newPageInfo.setPageNum(newPageInfo.getPageNum());
+        newPageInfo.setPageSize(newPageInfo.getSize());
+        newPageInfo.setSize(newPageInfo.getSize());
+        return ReturnResult.ok(newPageInfo);
     }
 
     /**
@@ -147,8 +189,9 @@ public class ManageServiceImpl extends BaseServiceImpl<Manage> implements Manage
 
     /**
      * 验证密码
+     *
      * @param account
-     * @param oldPWD 要验证的密码
+     * @param oldPWD  要验证的密码
      * @return
      */
     @Override
@@ -161,8 +204,9 @@ public class ManageServiceImpl extends BaseServiceImpl<Manage> implements Manage
 
     /**
      * 修改密码
+     *
      * @param account
-     * @param newPWD 新密码
+     * @param newPWD  新密码
      * @return
      */
     @Override
@@ -178,7 +222,7 @@ public class ManageServiceImpl extends BaseServiceImpl<Manage> implements Manage
         String[] pids = manage.getPermissions().split(",");
         manage.setPassword(Md5Utils.MD5(manage.getPassword()));
         int add = manageMapper.add(manage);
-        if(add>0){
+        if (add > 0) {
             Integer id = manageMapper.queryByPhone(manage.getPhone());
             for (String permissonId : pids) {
                 UserStatistical us = new UserStatistical();
@@ -202,9 +246,9 @@ public class ManageServiceImpl extends BaseServiceImpl<Manage> implements Manage
             userStatisticalMapper.insertSelective(us);
         }
         int update = manageMapper.update(manage);
-        if(null != manage.getPassword()){
-            if(update >0){
-                return manageMapper.updatePwd(id,Md5Utils.MD5(manage.getPassword()));
+        if (null != manage.getPassword()) {
+            if (update > 0) {
+                return manageMapper.updatePwd(id, Md5Utils.MD5(manage.getPassword()));
             }
         }
         return 0;
@@ -232,12 +276,12 @@ public class ManageServiceImpl extends BaseServiceImpl<Manage> implements Manage
 
     @Override
     public int updateStatus1(Integer id, String status) {
-        return manageMapper.updateStatus(id,status);
+        return manageMapper.updateStatus(id, status);
     }
 
     @Override
     public Manage getManeger(String account, String password) {
-        return manageMapper.getManeger(account,password);
+        return manageMapper.getManeger(account, password);
     }
 
     @Override

+ 18 - 0
fjs-scenic-service/src/main/java/com/fjs/scenic/service/system/impl/TypeAuthorityServiceImpl.java

@@ -0,0 +1,18 @@
+package com.fjs.scenic.service.system.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjs.scenic.entity.system.TypeAuthority;
+import com.fjs.scenic.mapper.system.TypeAuthorityMapper;
+import com.fjs.scenic.service.system.TypeAuthorityService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 后台管理员 景区资料录入权限信息(TypeAuthority)表服务实现类
+ *
+ * @author lfj
+ * @since 2021-09-27 13:53:31
+ */
+@Service("typeAuthorityService")
+public class TypeAuthorityServiceImpl extends ServiceImpl<TypeAuthorityMapper, TypeAuthority> implements TypeAuthorityService {
+
+}

+ 5 - 1
fjs-scenic-wx/pom.xml

@@ -77,7 +77,11 @@
 			<artifactId>guava</artifactId>
 			<version>28.0-jre</version>
 		</dependency>
-
+		<dependency>
+			<groupId>cn.hutool</groupId>
+			<artifactId>hutool-all</artifactId>
+			<version>5.7.13</version>
+		</dependency>
 	</dependencies>
 	<build>
 		<finalName>wx</finalName>

+ 65 - 13
fjs-scenic-wx/src/main/java/com/fjs/scenic/controller/LeaderQueryController.java

@@ -1,7 +1,16 @@
 package com.fjs.scenic.controller;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fjs.scenic.dto.InputInfoDto;
+import com.fjs.scenic.entity.system.InpIncome;
+import com.fjs.scenic.entity.system.InputInfo;
+import com.fjs.scenic.service.system.InpIncomeService;
+import com.fjs.scenic.service.system.InputInfoService;
 import io.swagger.annotations.*;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,11 +23,10 @@ import com.alibaba.fastjson.JSONObject;
 import com.fjs.scenic.utils.HttpReq;
 import com.fjs.scenic.utils.ReturnResult;
 import com.google.gson.JsonObject;
+
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
+import java.util.*;
 
 /**
  * @author wgd
@@ -29,7 +37,10 @@ import java.util.Set;
 @RequestMapping("/api/leader")
 @Api(description = "领导查询")
 public class LeaderQueryController {
-
+    @Autowired
+    private InputInfoService inputInfoService;
+    @Autowired
+    private InpIncomeService inpIncomeService;
     private Logger log = LoggerFactory.getLogger(LeaderQueryController.class);
     @Autowired
     private RedisTemplate<String, String> redisTemplate;
@@ -440,7 +451,7 @@ public class LeaderQueryController {
 
             //去重操作
             Set<String> usidSet = new HashSet<String>();
-            for(int i = 0;i < lxsdata.size();i ++) {
+            for (int i = 0; i < lxsdata.size(); i++) {
                 JSONObject jo = lxsdata.getJSONObject(i);
                 usidSet.add(jo.getString("USID"));
             }
@@ -448,8 +459,7 @@ public class LeaderQueryController {
             Iterator<String> iterator = usidSet.iterator();
 
 
-
-            while(iterator.hasNext()) {
+            while (iterator.hasNext()) {
 
                 JSONObject newjo = new JSONObject();
 
@@ -466,13 +476,13 @@ public class LeaderQueryController {
 
                 String kydStr = "";
 
-                for(int i = 0;i < lxsdata.size();i ++) {
+                for (int i = 0; i < lxsdata.size(); i++) {
 
                     JSONObject jo = lxsdata.getJSONObject(i);
 
                     String usid = jo.getString("USID");
 
-                    if(nextKey.equals(usid)) {
+                    if (nextKey.equals(usid)) {
 
                         bdMaxPnum = bdMaxPnum.add(jo.getBigDecimal("MAXPNUM"));
 
@@ -484,7 +494,7 @@ public class LeaderQueryController {
 
                         String kyd = jo.getString("KYD");
 
-                        if(kydStr.indexOf(kyd) == -1) {
+                        if (kydStr.indexOf(kyd) == -1) {
                             kydStr += kyd + ",";
                         }
 
@@ -505,7 +515,7 @@ public class LeaderQueryController {
                 JSONArray contentJa = new JSONArray();
 
                 //循环客源地数据
-                for(String kydFor : kydInfo) {
+                for (String kydFor : kydInfo) {
 
                     JSONArray typeJa = new JSONArray();
 
@@ -513,7 +523,7 @@ public class LeaderQueryController {
 
                     BigDecimal bdKydNum = new BigDecimal(0);
 
-                    for(int i = 0;i < lxsdata.size();i ++) {
+                    for (int i = 0; i < lxsdata.size(); i++) {
 
                         JSONObject jo = lxsdata.getJSONObject(i);
 
@@ -521,7 +531,7 @@ public class LeaderQueryController {
 
                         String kyd = jo.getString("KYD");
 
-                        if(nextKey.equals(usid) && kydFor.equals(kyd)) {
+                        if (nextKey.equals(usid) && kydFor.equals(kyd)) {
 
                             bdKydNum = bdKydNum.add(jo.getBigDecimal("KYDPNUM"));
 
@@ -559,4 +569,46 @@ public class LeaderQueryController {
             return ReturnResult.error(jsonData.get("describe"));
         }
     }
+
+    @ApiOperation(value = "日报", notes = "日报")
+    @GetMapping(value = "/dailyReport")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "time", value = "年月时时间", required = true, dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "company", value = "小南海", required = false, dataType = "String", paramType = "query")
+    })
+    public ReturnResult dailyReport(String time, String company) {
+        Map<String, Object> result = new HashMap<>();
+        result.put("allTotal", 0);
+        result.put("scenics", new ArrayList<>());
+        result.put("allPersonTimes", 0);
+        List<InputInfo> inputInfos = new ArrayList<>();
+        if (StringUtils.isEmpty(company)) {
+            inputInfos = inputInfoService.list(new LambdaQueryWrapper<InputInfo>().eq(InputInfo::getStaticDate, time));
+        } else {
+            inputInfos = inputInfoService.list(new LambdaQueryWrapper<InputInfo>()
+                    .eq(InputInfo::getStaticDate, time)
+                    .eq(InputInfo::getCompany, company));
+        }
+
+        if (inputInfos.isEmpty()) {
+            return ReturnResult.ok(result);
+        }
+        int total = 0;
+        int allPersonTimes = 0;
+        List<InputInfoDto> scenics = new ArrayList<InputInfoDto>();
+        for (InputInfo inputInfo : inputInfos) {
+            InputInfoDto inputInfoDto = new InputInfoDto();
+            total += inputInfo.getTotal();
+            allPersonTimes += inputInfo.getPersonTimes();
+            List<InpIncome> inpIncomes = inpIncomeService.list(new LambdaQueryWrapper<InpIncome>()
+                    .eq(InpIncome::getInputInfoId, inputInfo.getId()));
+            BeanUtil.copyProperties(inputInfo, inputInfoDto);
+            inputInfoDto.setIncome(inpIncomes);
+            scenics.add(inputInfoDto);
+        }
+        result.put("allTotal",total);
+        result.put("scenics", scenics);
+        result.put("allPersonTimes", allPersonTimes);
+        return ReturnResult.ok(result);
+    }
 }

+ 0 - 89
fjs-scenic-wx/src/main/resources/application-ddm.properties

@@ -1,89 +0,0 @@
-server.port=80
-
-jdbc.driverClass=com.mysql.jdbc.Driver
-spring.datasource.url=jdbc:mysql://47.95.230.126:33066/fjs-scenic?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-spring.datasource.username=root
-spring.datasource.password=root
-mybatis.mapper-locations=classpath:mapper/**/*.xml
-mybatis.type-aliases-package=com.fjs.scenic.entity
-mybatis.configuration.map-underscore-to-camel-case=true
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-
-spring.redis.database=0
-spring.redis.host=119.23.48.168
-spring.redis.password=
-spring.redis.port=61379
-
-#spring.redis.database=4
-#spring.redis.host=47.111.181.152
-#spring.redis.port=6379
-#spring.redis.password=fjsfjq
-spring.redis.pool.max-active=8
-spring.redis.pool.max-wait=-1
-spring.redis.pool.max-idle=8
-spring.redis.pool.min-idle=0
-spring.redis.timeout=5000
-
-
-logging.level.com.fjs.scenic=debug
-logging.level.org.springframework.web=debug
-logging.level.org.springframework.transaction=debug
-logging.level.org.mybatis=debug
-
-
-
-#FTP
-FTP_ADDRESS = ftp.cqhsrj.com
-FTP_PORT = 21
-FTP_USERNAME = ftpuser
-FTP_PASSWORD = ectrip2018
-FTP_BASEPATH = /images/qj
-NGINX_PORT = 8081
-
-img.path=/data/fjs/images/
-img.addr=http://jq.fjsfjq.com/images/
-
-
-wechat.mpAppId=wx3e968eac9c59390c
-wechat.mpAppSecret=37dae10f75aa7a0de975944e6098c588
-wechat.token=mywechattoken2297455150
-
-#\u5FAE\u4FE1 API
-CERT_FILE_NAME=/usr/local/pwd/apiclient_cert.p12
-APPID=wx3e968eac9c59390c
-MCH_ID=1503862741
-API_KEY=bdaf1373e5577761bd3be4ff95714b07
-#\u652F\u4ED8\u6D88\u606F\u7684\u901A\u77E5\u5730\u5740
-NOTIFY_URL=http://t.cqhsrj.com/wechat/notify
-#\u9000\u6B3E\u6D88\u606F\u7684\u901A\u77E5\u5730\u5740
-FEFUND_NOTIFY=http://t.cqhsrj.com/wechat/refund/notify
-
-
-ACCESS_KEY_ID= LTAIJWmL1IRgUsUh
-ACCESS_KEY_SECRET = 0v8d87GzDdlmKkkOBqxlACPhLSo0mM
-SIGN_NAME = \u68b5\u51c0\u5c71
-#�ID
-CAPTACHA_PHONE = SMS_172221638
-
-
-#ota.cyt.createUser = cythlfx
-#ota.cyt.key = 12345678
-#ota.cyt.apiUrl = http://dy.jingqu.cn/service/distributor.do
-#ota.cyt.code = 1000
-#ota.cyt.pic = http://ftp.cqhsrj.com:8081/images/qj/1536914963894790.png
-
-ota.cyt.createUser = cytfjszy
-#ota.cyt.key = Test1234
-ota.cyt.key = fjsWx12345678
-#ota.cyt.apiUrl = http://192.168.137.158:8080/service/distributor.do
-ota.cyt.apiUrl = http://fx.fjsfjq.com:8086/service/distributor.do
-#ota.cyt.apiUrl = http://47.99.243.13:8081/service/distributor.do
-
-
-#timmer
-#ordersTasks.timmer=* 0/5 * * * ?
-#materialTasks.timmer=0 0 1 * * ?
-
-
-

+ 8 - 88
fjs-scenic-wx/src/main/resources/application-dev.properties

@@ -1,90 +1,10 @@
-#server.port=80
-server.port=8443
-server.ssl.key-store=server.keystore
-server.ssl.key-alias=tomcat
-server.ssl.enabled=true
-server.ssl.key-store-password=yangya
-server.ssl.key-store-type=JKS
-
-
-jdbc.driverClass=com.mysql.jdbc.Driver
-spring.datasource.url=jdbc:mysql://119.23.48.168:61111/fjs_scenic?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
+server.port=8081
+spring.datasource.url=jdbc:mysql://47.108.219.126:3306/lingdaochaxun?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 spring.datasource.username=root
-spring.datasource.password=Ectrip2019
-mybatis.mapper-locations=classpath:mapper/**/*.xml
-mybatis.type-aliases-package=com.fjs.scenic.entity
-mybatis.configuration.map-underscore-to-camel-case=true
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-
+spring.datasource.password=sRGjx8iLlTfV.
 spring.redis.database=0
-spring.redis.host=119.23.48.168
-spring.redis.password=
-spring.redis.port=61379
-
-#spring.redis.database=4
-#spring.redis.host=47.111.181.152
-#spring.redis.port=6379
-#spring.redis.password=fjsfjq
-spring.redis.pool.max-active=8
-spring.redis.pool.max-wait=-1
-spring.redis.pool.max-idle=8
-spring.redis.pool.min-idle=0
-spring.redis.timeout=5000
-
-
-logging.level.com.fjs.scenic=debug
-logging.level.org.springframework.web=debug
-logging.level.org.springframework.transaction=debug
-logging.level.org.mybatis=debug
-
-
-
-#FTP
-FTP_ADDRESS = ftp.cqhsrj.com
-FTP_PORT = 21
-FTP_USERNAME = ftpuser
-FTP_PASSWORD = ectrip2018
-FTP_BASEPATH = /images/qj
-NGINX_PORT = 8081
-
-
-wechat.mpAppId=wxbe372bd5ea1eafc8
-wechat.mpAppSecret=f659d18eae49a2fcb649c6b868491be0
-wechat.token=yangya
-
-
-#\u5FAE\u4FE1 API
-CERT_FILE_NAME=/usr/local/pwd/apiclient_cert.p12
-APPID=wx3e968eac9c59390c
-MCH_ID=1503862741
-API_KEY=bdaf1373e5577761bd3be4ff95714b07
-#\u652F\u4ED8\u6D88\u606F\u7684\u901A\u77E5\u5730\u5740
-NOTIFY_URL=http://wx.fjsfjq.com/wechat/notify
-#\u9000\u6B3E\u6D88\u606F\u7684\u901A\u77E5\u5730\u5740
-FEFUND_NOTIFY=http://wx.fjsfjq.com/wechat/refund/notify
-
-
-ACCESS_KEY_ID= LTAIJWmL1IRgUsUh
-ACCESS_KEY_SECRET = 0v8d87GzDdlmKkkOBqxlACPhLSo0mM
-SIGN_NAME = \u68b5\u51c0\u5c71
-#�ID
-CAPTACHA_PHONE = SMS_172221638
-
-#ota.cyt.createUser = cythlfx
-#ota.cyt.key = 12345678
-#ota.cyt.apiUrl = http://dy.jingqu.cn/service/distributor.do
-#ota.cyt.code = 1000
-#ota.cyt.pic = http://ftp.cqhsrj.com:8081/images/qj/1536914963894790.png
-
-ota.cyt.createUser = cytlbzy
-#ota.cyt.key = Test1234
-ota.cyt.key = 12345678
-ota.cyt.apiUrl = http://192.168.100.11:8086/service/distributor.do
-#ota.cyt.apiUrl = http://192.168.100.153:8080/service/distributor.do
-
-
-#timmer
-#ordersTasks.timmer=* 0/5 * * * ?
-#materialTasks.timmer=0 0 1 * * ?
-
+spring.redis.host=47.108.219.126
+spring.redis.port=6379
+spring.redis.password=Dingyou2020
+#票务接口
+pw.api=http://localhost:8080/services/cytDataService/doWxQueryRequest.action

+ 0 - 100
fjs-scenic-wx/src/main/resources/application-fjs.properties

@@ -1,100 +0,0 @@
-server.port=80
-
-jdbc.driverClass=com.mysql.jdbc.Driver
-#spring.datasource.url=jdbc:mysql://47.111.181.152:13306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-#spring.datasource.url=jdbc:mysql://rm-bp1dp13uv47555y9u.mysql.rds.aliyuncs.com:3306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-#spring.datasource.url=jdbc:mysql://127.0.0.1:13306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-spring.datasource.url=jdbc:mysql://127.0.0.1:3306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-#spring.datasource.url=jdbc:mysql://114.55.170.153:3306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-spring.datasource.username=root
-spring.datasource.password=Fjsdy@123
-
-
-mybatis.mapper-locations=classpath:mapper/**/*.xml
-mybatis.type-aliases-package=com.fjs.scenic.entity
-mybatis.configuration.map-underscore-to-camel-case=true
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-
-spring.redis.database=4
-spring.redis.host=127.0.0.1
-#spring.redis.host=172.16.151.164
-#spring.redis.host=47.111.181.152
-spring.redis.password=fjsfjq
-spring.redis.port=6379
-#spring.redis.pool.max-active=8
-#spring.redis.pool.max-wait=-1
-#spring.redis.pool.max-idle=8
-#spring.redis.pool.min-idle=0
-#最大连接数
-spring.redis.jedis.pool.max-active=8
-#连接池阻塞等待时间
-spring.redis.jedis.pool.max-wait=-1
-#最大空闲连接数
-spring.redis.jedis.pool.max-idle=8
-# 连接池中的最小空闲连接
-spring.redis.jedis.pool.min-idle=0
-spring.redis.timeout=5000
-
-
-#logging.level.com.fjs.scenic=debug
-#logging.level.org.springframework.web=debug
-#logging.level.org.springframework.transaction=debug
-#logging.level.org.mybatis=debug
-
-
-
-#FTP
-FTP_ADDRESS = ftp.cqhsrj.com
-FTP_PORT = 21
-FTP_USERNAME = ftpuser
-FTP_PASSWORD = ectrip2018
-FTP_BASEPATH = /images/qj
-NGINX_PORT = 8081
-
-#img.path=/data/fjs/images/
-#img.addr=http://jq.fjsfjq.com/images/
-
-img.path=/data/fjs/images/
-img.addr=https://wx.fjsstlyq.com/images/
-
-
-wechat.mpAppId=wx0e590add1244fd18
-wechat.mpAppSecret=8258bce8b4ebfde0ea6b8a391478ad26
-wechat.token=mywechattoken2297455150
-
-CERT_FILE_NAME=/opt/fjs/cert/apiclient_cert.p12
-APPID=wx0e590add1244fd18
-MCH_ID=1532732751
-API_KEY=bd3be4ff95714b07bdaf1373e5577761
-NOTIFY_URL=https://wx.fjsstlyq.com/wechat/notify
-FEFUND_NOTIFY=https://wx.fjsstlyq.com/wechat/refund/notify
-
-
-ACCESS_KEY_ID= LTAIJWmL1IRgUsUh
-ACCESS_KEY_SECRET = 0v8d87GzDdlmKkkOBqxlACPhLSo0mM
-SIGN_NAME = \u68b5\u51c0\u5c71
-#\u0123\uFFFD\uFFFDID
-CAPTACHA_PHONE = SMS_172209437
-
-#c_CERT_FILE_NAME=/usr/local/pwd/apiclient_cert.p12
-#c_APPID=wx3e968eac9c59390c
-#c_MCH_ID=1503862741
-#c_API_KEY=bdaf1373e5577761bd3be4ff95714b07
-
-ota.cyt.createUser = cytfjszy
-#ota.cyt.key = Test1234
-ota.cyt.key = fjsWx12345678
-#ota.cyt.apiUrl = http://fx.fjsfjq.com/service/distributor.do
-#ota.cyt.apiUrl = http://fx.fjsfjq.com/service/distributor.do
-#ota.cyt.apiUrl = http://192.168.100.118:8080/service/distributor.do
-#ota.cyt.apiUrl = http://fx.fjsfjq.com/service/distributor.do
-#ota.cyt.apiUrl = http://172.16.151.165/service/distributor.do
-ota.cyt.apiUrl = https://fx.fjsstlyq.com/service/distributor.do
-
-
-#timmer
-indexTopTasks.timmer=* 0/5 * * * ?
-
-
-

+ 0 - 91
fjs-scenic-wx/src/main/resources/application-fjsdev.properties

@@ -1,91 +0,0 @@
-server.port=80
-
-jdbc.driverClass=com.mysql.jdbc.Driver
-#spring.datasource.url=jdbc:mysql://47.111.181.152:13306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-#spring.datasource.username=root
-#spring.datasource.password=fjsdyFx
-spring.datasource.url=jdbc:mysql://114.55.170.153:3306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-spring.datasource.username=root
-spring.datasource.password=Fjsdy@123
-
-
-mybatis.mapper-locations=classpath:mapper/**/*.xml
-mybatis.type-aliases-package=com.fjs.scenic.entity
-mybatis.configuration.map-underscore-to-camel-case=true
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-
-spring.redis.database=4
-spring.redis.host=114.55.170.153
-spring.redis.password=fjsfjq
-spring.redis.port=6379
-#spring.redis.pool.max-active=8
-#spring.redis.pool.max-wait=-1
-#spring.redis.pool.max-idle=8
-#spring.redis.pool.min-idle=0
-#最大连接数
-spring.redis.jedis.pool.max-active=8
-#连接池阻塞等待时间
-spring.redis.jedis.pool.max-wait=-1
-#最大空闲连接数
-spring.redis.jedis.pool.max-idle=8
-# 连接池中的最小空闲连接
-spring.redis.jedis.pool.min-idle=0
-spring.redis.timeout=5000
-
-
-#logging.level.com.fjs.scenic=debug
-#logging.level.org.springframework.web=debug
-#logging.level.org.springframework.transaction=debug
-#logging.level.org.mybatis=debug
-
-
-
-#FTP
-FTP_ADDRESS = ftp.cqhsrj.com
-FTP_PORT = 21
-FTP_USERNAME = ftpuser
-FTP_PASSWORD = ectrip2018
-FTP_BASEPATH = /images/qj
-NGINX_PORT = 8081
-
-img.path=/data/fjs/images/
-img.addr=http://jq.fjsfjq.com/images/
-
-
-wechat.mpAppId=wx0e590add1244fd18
-wechat.mpAppSecret=8258bce8b4ebfde0ea6b8a391478ad26
-wechat.token=mywechattoken2297455150
-
-CERT_FILE_NAME=/opt/fjs/cert/apiclient_cert.p12
-APPID=wx0e590add1244fd18
-MCH_ID=1532732751
-API_KEY=bd3be4ff95714b07bdaf1373e5577761
-NOTIFY_URL=http://wx.fjsfjq.com/wechat/notify
-FEFUND_NOTIFY=http://wx.fjsfjq.com/wechat/refund/notify
-
-ACCESS_KEY_ID= LTAIJWmL1IRgUsUh
-ACCESS_KEY_SECRET = 0v8d87GzDdlmKkkOBqxlACPhLSo0mM
-SIGN_NAME = \u68b5\u51c0\u5c71
-#\u0123\uFFFD\uFFFDID
-CAPTACHA_PHONE = SMS_172209437
-
-#c_CERT_FILE_NAME=/usr/local/pwd/apiclient_cert.p12
-#c_APPID=wx3e968eac9c59390c
-#c_MCH_ID=1503862741
-#c_API_KEY=bdaf1373e5577761bd3be4ff95714b07
-
-ota.cyt.createUser = cytfjszy
-#ota.cyt.key = Test1234
-ota.cyt.key = fjsWx12345678
-#ota.cyt.apiUrl = http://fx.fjsfjq.com/service/distributor.do
-#ota.cyt.apiUrl = http://fx.fjsfjq.com/service/distributor.do
-#ota.cyt.apiUrl = http://192.168.100.118:8080/service/distributor.do
-ota.cyt.apiUrl = http://fx.fjsfjq.com/service/distributor.do
-
-
-#timmer
-indexTopTasks.timmer= */5 * * * * ?
-
-
-

+ 0 - 93
fjs-scenic-wx/src/main/resources/application-fjsfjq.properties

@@ -1,93 +0,0 @@
-server.port=80
-
-jdbc.driverClass=com.mysql.jdbc.Driver
-spring.datasource.url=jdbc:mysql://47.95.230.126:33066/fjs-scenic?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-spring.datasource.username=root
-spring.datasource.password=root
-#spring.datasource.url=jdbc:mysql://47.111.181.152:13306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-#spring.datasource.url=jdbc:mysql://rm-bp1dp13uv47555y9u.mysql.rds.aliyuncs.com:3306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-#spring.datasource.url=jdbc:mysql://127.0.0.1:13306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-#spring.datasource.url=jdbc:mysql://114.55.170.153:3306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-#spring.datasource.username=root
-#spring.datasource.password=Fjsdy@123
-
-
-mybatis.mapper-locations=classpath:mapper/**/*.xml
-mybatis.type-aliases-package=com.fjs.scenic.entity
-mybatis.configuration.map-underscore-to-camel-case=true
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-
-spring.redis.database=0
-spring.redis.host=119.23.48.168
-spring.redis.password=
-spring.redis.port=61379
-#spring.redis.pool.max-active=8
-#spring.redis.pool.max-wait=-1
-#spring.redis.pool.max-idle=8
-#spring.redis.pool.min-idle=0
-#最大连接数
-spring.redis.jedis.pool.max-active=8
-#连接池阻塞等待时间
-spring.redis.jedis.pool.max-wait=-1
-#最大空闲连接数
-spring.redis.jedis.pool.max-idle=8
-# 连接池中的最小空闲连接
-spring.redis.jedis.pool.min-idle=0
-spring.redis.timeout=5000
-
-
-#logging.level.com.fjs.scenic=debug
-#logging.level.org.springframework.web=debug
-#logging.level.org.springframework.transaction=debug
-#logging.level.org.mybatis=debug
-
-
-
-#FTP
-FTP_ADDRESS = ftp.cqhsrj.com
-FTP_PORT = 21
-FTP_USERNAME = ftpuser
-FTP_PASSWORD = ectrip2018
-FTP_BASEPATH = /images/qj
-NGINX_PORT = 8081
-
-img.path=/data/java/images/
-img.addr=https://fjsstlyq.com/images/
-
-
-wechat.mpAppId=wx3e968eac9c59390c
-wechat.mpAppSecret=37dae10f75aa7a0de975944e6098c588
-wechat.token=mywechattoken2297455150
-
-#\u5FAE\u4FE1 API
-CERT_FILE_NAME=/usr/local/pwd/apiclient_cert.p12
-APPID=wx3e968eac9c59390c
-MCH_ID=1503862741
-API_KEY=bdaf1373e5577761bd3be4ff95714b07
-#\u652F\u4ED8\u6D88\u606F\u7684\u901A\u77E5\u5730\u5740
-NOTIFY_URL=https://fjsstlyq.com/wechat/notify
-#\u9000\u6B3E\u6D88\u606F\u7684\u901A\u77E5\u5730\u5740
-FEFUND_NOTIFY=https://fjsstlyq.com/wechat/refund/notify
-
-
-ACCESS_KEY_ID= LTAIJWmL1IRgUsUh
-ACCESS_KEY_SECRET = 0v8d87GzDdlmKkkOBqxlACPhLSo0mM
-SIGN_NAME = \u68b5\u51c0\u5c71
-#\u0123\uFFFD\uFFFDID
-CAPTACHA_PHONE = SMS_172221638
-
-
-#ota.cyt.createUser = cythlfx
-#ota.cyt.key = 12345678
-#ota.cyt.apiUrl = http://dy.jingqu.cn/service/distributor.do
-#ota.cyt.code = 1000
-#ota.cyt.pic = http://ftp.cqhsrj.com:8081/images/qj/1536914963894790.png
-
-ota.cyt.createUser = cytfjszy
-#ota.cyt.key = Test1234
-ota.cyt.key = fjsWx12345678
-#ota.cyt.apiUrl = http://192.168.137.158:8080/service/distributor.do
-ota.cyt.apiUrl = http://fx.fjsfjq.com:8086/service/distributor.do
-#ota.cyt.apiUrl = http://47.99.243.13:8081/service/distributor.do

+ 0 - 57
fjs-scenic-wx/src/main/resources/application-local.properties

@@ -1,57 +0,0 @@
-server.port=80
-
-jdbc.driverClass=com.mysql.jdbc.Driver
-spring.datasource.url=jdbc:mysql://127.0.0.1:3306/fjswx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
-spring.datasource.username=root
-spring.datasource.password=root
-
-mybatis.mapper-locations=classpath:mapper/**/*.xml
-mybatis.type-aliases-package=com.fjs.scenic.entity
-mybatis.configuration.map-underscore-to-camel-case=true
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-
-spring.redis.database=4
-spring.redis.host=47.111.181.152
-spring.redis.password=fjsfjq
-spring.redis.port=6379
-#最大连接数
-#spring.redis.jedis.pool.max-active=8
-#连接池阻塞等待时间
-#spring.redis.jedis.pool.max-wait=-1
-#最大空闲连接数
-#spring.redis.jedis.pool.max-idle=8
-# 连接池中的最小空闲连接
-#spring.redis.jedis.pool.min-idle=0
-spring.redis.timeout=5000
-
-#logging.level.com.fjs.scenic=debug
-#logging.level.org.springframework.web=debug
-#logging.level.org.springframework.transaction=debug
-#logging.level.org.mybatis=debug
-
-#FTP
-FTP_ADDRESS = ftp.cqhsrj.com
-FTP_PORT = 21
-FTP_USERNAME = ftpuser
-FTP_PASSWORD = ectrip2018
-FTP_BASEPATH = /images/qj
-NGINX_PORT = 8081
-
-
-wechat.mpAppId=wx0e590add1244fd18
-wechat.mpAppSecret=8258bce8b4ebfde0ea6b8a391478ad26
-wechat.token=mywechattoken2297455150
-
-CERT_FILE_NAME=/opt/fjs/cert/apiclient_cert.p12
-APPID=wx0e590add1244fd18
-MCH_ID=1532732751
-API_KEY=bd3be4ff95714b07bdaf1373e5577761
-NOTIFY_URL=http://wx.fjsfjq.com/wechat/notify
-FEFUND_NOTIFY=http://wx.fjsfjq.com/wechat/refund/notify
-
-ota.cyt.createUser = cytfjszy
-#ota.cyt.key = Test1234
-ota.cyt.key = 12345678
-ota.cyt.apiUrl = http://172.16.151.165/service/distributor.do
-

+ 9 - 0
fjs-scenic-wx/src/main/resources/application-prod.properties

@@ -0,0 +1,9 @@
+spring.datasource.url=jdbc:mysql://222.179.205.139:16004/lingdaochaxun?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
+spring.datasource.username=root
+spring.datasource.password=ExcriptQj2020ABCD!@#
+spring.redis.database=0
+spring.redis.host=192.168.100.201
+spring.redis.port=6379
+spring.redis.password=
+#票务接口
+pw.api=http://127.0.0.1:8080/services/cytDataService/doWxQueryRequest.action

+ 1 - 1
fjs-scenic-wx/src/main/resources/application-qjldcx.properties

@@ -1,3 +1,4 @@
+
 server.port=8222
 
 #spring.thymeleaf.cache=false
@@ -102,4 +103,3 @@ ordersTasks.timmer=* 0/5 * * * ?
 materialTasks.timmer=0 0 1 * * ?
 
 
-

+ 63 - 1
fjs-scenic-wx/src/main/resources/application.properties

@@ -1,2 +1,64 @@
-spring.profiles.active = qjldcx
+spring.profiles.active=@profiles.active@
+server.port=8222
+#freemarker
+spring.freemarker.allow-request-override=false
+spring.freemarker.allow-session-override=false
+spring.freemarker.cache=false
+spring.freemarker.charset=UTF-8
+spring.freemarker.spring.freemarker.check-template-location=true
+spring.freemarker.content-type=text/html
+spring.freemarker.enabled=true
+spring.freemarker.expose-request-attributes=false
+spring.freemarker.expose-session-attributes=false
+spring.freemarker.expose-spring-macro-helpers=true
+spring.freemarker.prefer-file-system-access=true
+spring.freemarker.suffix=.html
+spring.freemarker.template-loader-path=classpath:/templates/
+spring.freemarker.settings.template_update_delay=0
+spring.freemarker.settings.default_encoding=UTF-8
+spring.freemarker.settings.classic_compatible=true
+jdbc.driverClass=com.mysql.jdbc.Driver
+spring.redis.jedis.pool.max-idle=8
+spring.redis.jedis.pool.max-wait=-1
+spring.redis.jedis.pool.min-idle=0
+spring.redis.timeout=5000
+spring.servlet.multipart.max-file-size=100Mb
+spring.servlet.multipart.max-request-size=100Mb
+mybatis.mapper-locations=classpath:mapper/**/*.xml
+mybatis.type-aliases-package=com.fjs.scenic.entity
+# 驼峰命名规范 如:数据库字段是  order_id 那么 实体字段就要写成 orderId
+mybatis.configuration.map-underscore-to-camel-case=true
+spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
+spring.jackson.time-zone=GMT+8
+logging.level.com.fjs.scenic.mapper=debug
+#FTP
+FTP_ADDRESS=ftp.cqhsrj.com
+FTP_PORT=21
+FTP_USERNAME=ftpuser
+FTP_PASSWORD=ectrip2018
+FTP_BASEPATH=/images/fjs
+FTP_VOID_BASEPATH=/void/fjs
+NGINX_PORT=8081
+#img.path=D://yangya//workspace//fjs-parent//fjs-scenic-manager//src//main//resources//static//images/
+#img.addr=http://127.0.0.1:8089/images/
+img.path=/data/fjs/images/
+img.addr=http://t.cqhsrj.com/images/
+CERT_FILE_NAME=/opt/fjs/cert/apiclient_cert.p12
+APPID=wx0e590add1244fd18
+MCH_ID=1532732751
+API_KEY=bd3be4ff95714b07bdaf1373e5577761
+NOTIFY_URL=http://wx.fjsfjq.com/wechat/notify
+FEFUND_NOTIFY=http://wx.fjsfjq.com/wechat/refund/notify
+#�������
+ACCESS_KEY_ID=LTAIJWmL1IRgUsUh
+ACCESS_KEY_SECRET=0v8d87GzDdlmKkkOBqxlACPhLSo0mM
+SIGN_NAME=\u68b5\u51c0\u5c71
+#�ID
+CAPTACHA_PHONE=SMS_163450757
+#timmer
+ordersTasks.timmer=* 0/5 * * * ?
+materialTasks.timmer=0 0 1 * * ?
 
+ota.cyt.createUser=cytfjszy
+ota.cyt.key=fjsWx12345678
+ota.cyt.apiUrl=http://fx.fjsfjq.com:8086/service/distributor.do

+ 20 - 22
pom.xml

@@ -41,38 +41,36 @@
 				<artifactId>mybatis-spring-boot-starter</artifactId>
 				<version>1.3.2</version>
 			</dependency>
-			<!-- 支付相关 -->
-			<!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java -->
-			<!-- <dependency>
-				<groupId>com.alipay.sdk</groupId>
-				<artifactId>alipay-sdk-java</artifactId>
-				<version>3.7.4.ALL</version>
-			</dependency> -->
-			<!-- https://mvnrepository.com/artifact/com.github.wxpay/wxpay-sdk -->
 			<dependency>
 				<groupId>com.github.wxpay</groupId>
 				<artifactId>wxpay-sdk</artifactId>
 				<version>0.0.3</version>
 			</dependency>
-			<!--热部署工具-->
-			<!-- <dependency>
-				<groupId>org.springframework.boot</groupId>
-				<artifactId>spring-boot-devtools</artifactId>
-				<optional>true</optional>
-			</dependency> -->
 		</dependencies>
 
 	</dependencyManagement>
+	<profiles>
+		<profile>
+			<!-- 测试环境 -->
+			<id>dev</id>
+			<properties>
+				<profiles.active>dev</profiles.active>
+			</properties>
+			<!-- 默认测试开发环境 -->
+			<activation>
+				<activeByDefault>true</activeByDefault>
+			</activation>
+		</profile>
+		<profile>
+			<!-- 生产环境 -->
+			<id>prod</id>
+			<properties>
+				<profiles.active>prod</profiles.active>
+			</properties>
+		</profile>
+	</profiles>
 	<build>
 		<plugins>
-			<!-- <plugin>
-				<groupId>org.springframework.boot</groupId>
-				<artifactId>spring-boot-maven-plugin</artifactId>
-				热启动
-				<configuration>
-					<fork>true</fork>
-				</configuration>
-			</plugin> -->
 		</plugins>
 	</build>
 	<modules>

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików