Browse Source

first commit

zhuyiyi 9 months ago
commit
70e3764011
100 changed files with 10528 additions and 0 deletions
  1. 2 0
      .gitignore
  2. 0 0
      README.md
  3. 5 0
      pom.properties
  4. 211 0
      pom.xml
  5. 16 0
      src/main/java/lingtao/net/base/ActionMessage.java
  6. 125 0
      src/main/java/lingtao/net/bean/Article.java
  7. 931 0
      src/main/java/lingtao/net/bean/ArticleExample.java
  8. 65 0
      src/main/java/lingtao/net/bean/Bug.java
  9. 129 0
      src/main/java/lingtao/net/bean/CustomerAward.java
  10. 241 0
      src/main/java/lingtao/net/bean/CustomerData.java
  11. 110 0
      src/main/java/lingtao/net/bean/CustomerTrainContent.java
  12. 110 0
      src/main/java/lingtao/net/bean/CustomerTrainKindLabel.java
  13. 100 0
      src/main/java/lingtao/net/bean/CustomerTrainProType.java
  14. 125 0
      src/main/java/lingtao/net/bean/ExpressFee.java
  15. 149 0
      src/main/java/lingtao/net/bean/Finance.java
  16. 135 0
      src/main/java/lingtao/net/bean/FinanceDifference.java
  17. 115 0
      src/main/java/lingtao/net/bean/FinanceExtract.java
  18. 85 0
      src/main/java/lingtao/net/bean/Information.java
  19. 86 0
      src/main/java/lingtao/net/bean/LoginIp.java
  20. 54 0
      src/main/java/lingtao/net/bean/LoginLog.java
  21. 102 0
      src/main/java/lingtao/net/bean/Msg.java
  22. 85 0
      src/main/java/lingtao/net/bean/MyFile.java
  23. 731 0
      src/main/java/lingtao/net/bean/MyFileExample.java
  24. 168 0
      src/main/java/lingtao/net/bean/Product.java
  25. 197 0
      src/main/java/lingtao/net/bean/ProductImg.java
  26. 146 0
      src/main/java/lingtao/net/bean/Question.java
  27. 429 0
      src/main/java/lingtao/net/bean/QuoteData.java
  28. 135 0
      src/main/java/lingtao/net/bean/QuoteLog.java
  29. 161 0
      src/main/java/lingtao/net/bean/SysDictProduct.java
  30. 106 0
      src/main/java/lingtao/net/bean/SysDictSearchPro.java
  31. 145 0
      src/main/java/lingtao/net/bean/SysPermission.java
  32. 95 0
      src/main/java/lingtao/net/bean/SysRole.java
  33. 208 0
      src/main/java/lingtao/net/bean/SysUser.java
  34. 97 0
      src/main/java/lingtao/net/bean/UpdateLog.java
  35. 21 0
      src/main/java/lingtao/net/config/ResourceServerConfig.java
  36. 197 0
      src/main/java/lingtao/net/controller/AcountController.java
  37. 137 0
      src/main/java/lingtao/net/controller/ArticleController.java
  38. 105 0
      src/main/java/lingtao/net/controller/BugController.java
  39. 109 0
      src/main/java/lingtao/net/controller/CustomerAwardController.java
  40. 129 0
      src/main/java/lingtao/net/controller/CustomerDataControlle.java
  41. 243 0
      src/main/java/lingtao/net/controller/CustomerTrainController.java
  42. 75 0
      src/main/java/lingtao/net/controller/ExpressFeeController.java
  43. 90 0
      src/main/java/lingtao/net/controller/FileController.java
  44. 104 0
      src/main/java/lingtao/net/controller/Finance2Controller.java
  45. 104 0
      src/main/java/lingtao/net/controller/Finance3Controller.java
  46. 104 0
      src/main/java/lingtao/net/controller/Finance4Controller.java
  47. 104 0
      src/main/java/lingtao/net/controller/Finance5Controller.java
  48. 104 0
      src/main/java/lingtao/net/controller/Finance6Controller.java
  49. 104 0
      src/main/java/lingtao/net/controller/Finance7Controller.java
  50. 104 0
      src/main/java/lingtao/net/controller/FinanceController.java
  51. 87 0
      src/main/java/lingtao/net/controller/FinanceDifferenceController.java
  52. 103 0
      src/main/java/lingtao/net/controller/FinanceExtractController.java
  53. 65 0
      src/main/java/lingtao/net/controller/InformationController.java
  54. 101 0
      src/main/java/lingtao/net/controller/LoginIpController.java
  55. 45 0
      src/main/java/lingtao/net/controller/LoginLogController.java
  56. 397 0
      src/main/java/lingtao/net/controller/ProductController.java
  57. 214 0
      src/main/java/lingtao/net/controller/ProductImgController.java
  58. 122 0
      src/main/java/lingtao/net/controller/QuestionController.java
  59. 165 0
      src/main/java/lingtao/net/controller/QuoteDataController.java
  60. 39 0
      src/main/java/lingtao/net/controller/QuoteLogController.java
  61. 67 0
      src/main/java/lingtao/net/controller/SysDictSearchProController.java
  62. 42 0
      src/main/java/lingtao/net/controller/SysPermissionController.java
  63. 172 0
      src/main/java/lingtao/net/controller/SysRoleController.java
  64. 240 0
      src/main/java/lingtao/net/controller/SysUserController.java
  65. 67 0
      src/main/java/lingtao/net/controller/UpdateLogControllef.java
  66. 38 0
      src/main/java/lingtao/net/dao/ArticleMapper.java
  67. 12 0
      src/main/java/lingtao/net/dao/BugMapper.java
  68. 21 0
      src/main/java/lingtao/net/dao/CommonDao.java
  69. 23 0
      src/main/java/lingtao/net/dao/CustomerAwardMapper.java
  70. 28 0
      src/main/java/lingtao/net/dao/CustomerDataMapper.java
  71. 43 0
      src/main/java/lingtao/net/dao/CustomerTrainMapper.java
  72. 33 0
      src/main/java/lingtao/net/dao/ExpressFeeMapper.java
  73. 26 0
      src/main/java/lingtao/net/dao/Finance2Mapper.java
  74. 52 0
      src/main/java/lingtao/net/dao/Finance3Mapper.java
  75. 17 0
      src/main/java/lingtao/net/dao/FinanceDifferenceMapper.java
  76. 26 0
      src/main/java/lingtao/net/dao/FinanceExtractMapper.java
  77. 26 0
      src/main/java/lingtao/net/dao/FinanceMapper.java
  78. 19 0
      src/main/java/lingtao/net/dao/InformationMapper.java
  79. 27 0
      src/main/java/lingtao/net/dao/LoginIpMapper.java
  80. 16 0
      src/main/java/lingtao/net/dao/LoginLogMapper.java
  81. 32 0
      src/main/java/lingtao/net/dao/MyFileMapper.java
  82. 34 0
      src/main/java/lingtao/net/dao/ProductImgMapper.java
  83. 60 0
      src/main/java/lingtao/net/dao/ProductMapper.java
  84. 25 0
      src/main/java/lingtao/net/dao/QuestionMapper.java
  85. 42 0
      src/main/java/lingtao/net/dao/QuoteDataMapper.java
  86. 12 0
      src/main/java/lingtao/net/dao/QuoteLogMapper.java
  87. 19 0
      src/main/java/lingtao/net/dao/SysDictSearchProMapper.java
  88. 15 0
      src/main/java/lingtao/net/dao/SysPermissionMapper.java
  89. 37 0
      src/main/java/lingtao/net/dao/SysRoleMapper.java
  90. 73 0
      src/main/java/lingtao/net/dao/SysUserMapper.java
  91. 22 0
      src/main/java/lingtao/net/dao/UpdateLogMapper.java
  92. 59 0
      src/main/java/lingtao/net/entity/ClothingTag.java
  93. 4 0
      src/main/java/lingtao/net/entity/SelfAdhesiveSticker.java
  94. 23 0
      src/main/java/lingtao/net/enums/ClothingTagMater.java
  95. 28 0
      src/main/java/lingtao/net/enums/ClothingTagTechEnum.java
  96. 25 0
      src/main/java/lingtao/net/enums/ProductEnum.java
  97. 24 0
      src/main/java/lingtao/net/enums/ProductMembrane.java
  98. 24 0
      src/main/java/lingtao/net/enums/ProductSlice.java
  99. 106 0
      src/main/java/lingtao/net/gui/LoginGui.java
  100. 98 0
      src/main/java/lingtao/net/gui/PriceGui.java

+ 2 - 0
.gitignore

@@ -0,0 +1,2 @@
+.idea/*
+target/*

+ 0 - 0
README.md


+ 5 - 0
pom.properties

@@ -0,0 +1,5 @@
+#Generated by Maven
+#Sun Feb 06 16:55:31 CST 2022
+version=0.0.1-SNAPSHOT
+groupId=lingtao.net
+artifactId=quote_price

+ 211 - 0
pom.xml

@@ -0,0 +1,211 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>lingtao.net</groupId>
+    <artifactId>quote_price</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <packaging>war</packaging>
+    <build>
+        <finalName>quote_price</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.6.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-war-plugin</artifactId>
+                <configuration>
+                    <webResources>
+                        <resource>
+                            <directory>src/main/resources/lib</directory>
+                            <targetPath>WEB-INF/lib/</targetPath>
+                            <includes>
+                                <include>**/*.jar</include>
+                            </includes>
+                        </resource>
+                    </webResources>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+    <dependencies>
+        <!-- 引入pageHelper分页插件 -->
+        <dependency>
+            <groupId>com.github.pagehelper</groupId>
+            <artifactId>pagehelper</artifactId>
+            <version>5.0.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-webmvc</artifactId>
+            <version>4.2.4.RELEASE</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-jdbc</artifactId>
+            <version>4.2.4.RELEASE</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-aspects</artifactId>
+            <version>4.2.4.RELEASE</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.mybatis</groupId>
+            <artifactId>mybatis</artifactId>
+            <version>3.4.6</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.mybatis</groupId>
+            <artifactId>mybatis-spring</artifactId>
+            <version>1.3.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.mchange</groupId>
+            <artifactId>c3p0</artifactId>
+            <version>0.9.5.2</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>5.1.32</version>
+        </dependency>
+
+        <dependency>
+            <groupId>jstl</groupId>
+            <artifactId>jstl</artifactId>
+            <version>1.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>taglibs</groupId>
+            <artifactId>standard</artifactId>
+            <version>1.1.2</version>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+            <version>3.0.1</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.12</version>
+        </dependency>
+
+        <!-- spring单元测试 -->
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-test</artifactId>
+            <version>4.2.4.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>jsp-api</artifactId>
+            <version>2.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>2.8.8</version>
+        </dependency>
+        <!-- JSR303数据校验 -->
+        <dependency>
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-validator</artifactId>
+            <version>5.3.6.Final</version>
+        </dependency>
+
+        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.12</version>
+            <scope>provided</scope>
+        </dependency>
+        <!-- 文件上传 -->
+        <dependency>
+            <groupId>commons-fileupload</groupId>
+            <artifactId>commons-fileupload</artifactId>
+            <version>1.3.3</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+            <version>3.14-beta1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml-schemas</artifactId>
+            <version>3.14-beta1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi</artifactId>
+            <version>3.14-beta1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <version>4.5.2</version>
+        </dependency>
+        <dependency>
+            <groupId>net.sf.json-lib</groupId>
+            <artifactId>json-lib</artifactId>
+            <version>2.4</version>
+            <classifier>jdk15</classifier>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <version>1.7.14</version>
+        </dependency>
+        <!-- shiro -->
+        <dependency>
+            <groupId>org.apache.shiro</groupId>
+            <artifactId>shiro-all</artifactId>
+            <version>1.3.2</version>
+        </dependency>
+        <!-- 登陆用户的信息IP/浏览器/等 -->
+        <dependency>
+            <groupId>eu.bitwalker</groupId>
+            <artifactId>UserAgentUtils</artifactId>
+            <version>1.20</version>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>1.2.24</version>
+        </dependency>
+        <dependency>
+            <groupId>com.singularsys</groupId>
+            <artifactId>jep</artifactId>
+            <version>3.5</version>
+            <scope>system</scope>
+            <systemPath>${project.basedir}/src/main/resources/lib/jep-java-3.5-trial.jar</systemPath>
+        </dependency>
+    </dependencies>
+    <properties>
+        <project.build.sourceEncoding>
+            UTF-8
+        </project.build.sourceEncoding>
+    </properties>
+</project>

+ 16 - 0
src/main/java/lingtao/net/base/ActionMessage.java

@@ -0,0 +1,16 @@
+package lingtao.net.base;
+
+public interface ActionMessage{
+	public final String SYS_STATE = "state";
+	public final String SYS_STATUS = "status";
+	public final String SYS_MESSAGE = "message";
+	public final String SYS_SUCESS_MESSAGE = "操作成功!";
+	public final String SYS_FAIL_MESSAGE = "操作失败!";
+	public final String SYS_NO_MESSAGE = "数据库无数据更新!";
+	public static final String SYS_WARN = "系统出错!请联系管理员";
+	public final String LMQ_SUCESS_MESSAGE = "SUCCESS";
+	public final String LMQ_FAIL_MESSAGE = "FAIL";
+	
+	public final String SYS_CODE = "code";
+	public final String SYS_DATA = "data";
+}

+ 125 - 0
src/main/java/lingtao/net/bean/Article.java

@@ -0,0 +1,125 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+public class Article {
+    private Integer id;
+
+    private String title;
+
+    private String type;
+
+    private String status;
+
+    private String imagesUrl;
+
+    private Integer hit;
+
+    private String remark;
+
+    private String createBy;
+
+    private Date createDate;
+
+    private String updateBy;
+
+    private Date updateDate;
+
+    private String content;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title == null ? null : title.trim();
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type == null ? null : type.trim();
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status == null ? null : status.trim();
+    }
+
+    public String getImagesUrl() {
+        return imagesUrl;
+    }
+
+    public void setImagesUrl(String imagesUrl) {
+        this.imagesUrl = imagesUrl == null ? null : imagesUrl.trim();
+    }
+
+    public Integer getHit() {
+        return hit;
+    }
+
+    public void setHit(Integer hit) {
+        this.hit = hit;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    public String getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(String createBy) {
+        this.createBy = createBy == null ? null : createBy.trim();
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
+    public String getUpdateBy() {
+        return updateBy;
+    }
+
+    public void setUpdateBy(String updateBy) {
+        this.updateBy = updateBy == null ? null : updateBy.trim();
+    }
+
+    public Date getUpdateDate() {
+        return updateDate;
+    }
+
+    public void setUpdateDate(Date updateDate) {
+        this.updateDate = updateDate;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content == null ? null : content.trim();
+    }
+}

+ 931 - 0
src/main/java/lingtao/net/bean/ArticleExample.java

@@ -0,0 +1,931 @@
+package lingtao.net.bean;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class ArticleExample {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public ArticleExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Integer value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Integer value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Integer value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Integer value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Integer value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Integer> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Integer> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Integer value1, Integer value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Integer value1, Integer value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleIsNull() {
+            addCriterion("title is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleIsNotNull() {
+            addCriterion("title is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleEqualTo(String value) {
+            addCriterion("title =", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotEqualTo(String value) {
+            addCriterion("title <>", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleGreaterThan(String value) {
+            addCriterion("title >", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleGreaterThanOrEqualTo(String value) {
+            addCriterion("title >=", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLessThan(String value) {
+            addCriterion("title <", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLessThanOrEqualTo(String value) {
+            addCriterion("title <=", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLike(String value) {
+            addCriterion("title like", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotLike(String value) {
+            addCriterion("title not like", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleIn(List<String> values) {
+            addCriterion("title in", values, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotIn(List<String> values) {
+            addCriterion("title not in", values, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleBetween(String value1, String value2) {
+            addCriterion("title between", value1, value2, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotBetween(String value1, String value2) {
+            addCriterion("title not between", value1, value2, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIsNull() {
+            addCriterion("type is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIsNotNull() {
+            addCriterion("type is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeEqualTo(String value) {
+            addCriterion("type =", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotEqualTo(String value) {
+            addCriterion("type <>", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThan(String value) {
+            addCriterion("type >", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThanOrEqualTo(String value) {
+            addCriterion("type >=", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThan(String value) {
+            addCriterion("type <", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThanOrEqualTo(String value) {
+            addCriterion("type <=", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLike(String value) {
+            addCriterion("type like", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotLike(String value) {
+            addCriterion("type not like", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIn(List<String> values) {
+            addCriterion("type in", values, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotIn(List<String> values) {
+            addCriterion("type not in", values, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeBetween(String value1, String value2) {
+            addCriterion("type between", value1, value2, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotBetween(String value1, String value2) {
+            addCriterion("type not between", value1, value2, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIsNull() {
+            addCriterion("status is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIsNotNull() {
+            addCriterion("status is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusEqualTo(String value) {
+            addCriterion("status =", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotEqualTo(String value) {
+            addCriterion("status <>", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusGreaterThan(String value) {
+            addCriterion("status >", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusGreaterThanOrEqualTo(String value) {
+            addCriterion("status >=", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusLessThan(String value) {
+            addCriterion("status <", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusLessThanOrEqualTo(String value) {
+            addCriterion("status <=", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusLike(String value) {
+            addCriterion("status like", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotLike(String value) {
+            addCriterion("status not like", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIn(List<String> values) {
+            addCriterion("status in", values, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotIn(List<String> values) {
+            addCriterion("status not in", values, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusBetween(String value1, String value2) {
+            addCriterion("status between", value1, value2, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotBetween(String value1, String value2) {
+            addCriterion("status not between", value1, value2, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andImagesUrlIsNull() {
+            addCriterion("imagesUrl is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andImagesUrlIsNotNull() {
+            addCriterion("imagesUrl is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andImagesUrlEqualTo(String value) {
+            addCriterion("imagesUrl =", value, "imagesUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andImagesUrlNotEqualTo(String value) {
+            addCriterion("imagesUrl <>", value, "imagesUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andImagesUrlGreaterThan(String value) {
+            addCriterion("imagesUrl >", value, "imagesUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andImagesUrlGreaterThanOrEqualTo(String value) {
+            addCriterion("imagesUrl >=", value, "imagesUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andImagesUrlLessThan(String value) {
+            addCriterion("imagesUrl <", value, "imagesUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andImagesUrlLessThanOrEqualTo(String value) {
+            addCriterion("imagesUrl <=", value, "imagesUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andImagesUrlLike(String value) {
+            addCriterion("imagesUrl like", value, "imagesUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andImagesUrlNotLike(String value) {
+            addCriterion("imagesUrl not like", value, "imagesUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andImagesUrlIn(List<String> values) {
+            addCriterion("imagesUrl in", values, "imagesUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andImagesUrlNotIn(List<String> values) {
+            addCriterion("imagesUrl not in", values, "imagesUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andImagesUrlBetween(String value1, String value2) {
+            addCriterion("imagesUrl between", value1, value2, "imagesUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andImagesUrlNotBetween(String value1, String value2) {
+            addCriterion("imagesUrl not between", value1, value2, "imagesUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andHitIsNull() {
+            addCriterion("hit is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHitIsNotNull() {
+            addCriterion("hit is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHitEqualTo(Integer value) {
+            addCriterion("hit =", value, "hit");
+            return (Criteria) this;
+        }
+
+        public Criteria andHitNotEqualTo(Integer value) {
+            addCriterion("hit <>", value, "hit");
+            return (Criteria) this;
+        }
+
+        public Criteria andHitGreaterThan(Integer value) {
+            addCriterion("hit >", value, "hit");
+            return (Criteria) this;
+        }
+
+        public Criteria andHitGreaterThanOrEqualTo(Integer value) {
+            addCriterion("hit >=", value, "hit");
+            return (Criteria) this;
+        }
+
+        public Criteria andHitLessThan(Integer value) {
+            addCriterion("hit <", value, "hit");
+            return (Criteria) this;
+        }
+
+        public Criteria andHitLessThanOrEqualTo(Integer value) {
+            addCriterion("hit <=", value, "hit");
+            return (Criteria) this;
+        }
+
+        public Criteria andHitIn(List<Integer> values) {
+            addCriterion("hit in", values, "hit");
+            return (Criteria) this;
+        }
+
+        public Criteria andHitNotIn(List<Integer> values) {
+            addCriterion("hit not in", values, "hit");
+            return (Criteria) this;
+        }
+
+        public Criteria andHitBetween(Integer value1, Integer value2) {
+            addCriterion("hit between", value1, value2, "hit");
+            return (Criteria) this;
+        }
+
+        public Criteria andHitNotBetween(Integer value1, Integer value2) {
+            addCriterion("hit not between", value1, value2, "hit");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNull() {
+            addCriterion("remark is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNotNull() {
+            addCriterion("remark is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkEqualTo(String value) {
+            addCriterion("remark =", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotEqualTo(String value) {
+            addCriterion("remark <>", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThan(String value) {
+            addCriterion("remark >", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
+            addCriterion("remark >=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThan(String value) {
+            addCriterion("remark <", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThanOrEqualTo(String value) {
+            addCriterion("remark <=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLike(String value) {
+            addCriterion("remark like", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotLike(String value) {
+            addCriterion("remark not like", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIn(List<String> values) {
+            addCriterion("remark in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotIn(List<String> values) {
+            addCriterion("remark not in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkBetween(String value1, String value2) {
+            addCriterion("remark between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotBetween(String value1, String value2) {
+            addCriterion("remark not between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByIsNull() {
+            addCriterion("createBy is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByIsNotNull() {
+            addCriterion("createBy is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByEqualTo(String value) {
+            addCriterion("createBy =", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByNotEqualTo(String value) {
+            addCriterion("createBy <>", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByGreaterThan(String value) {
+            addCriterion("createBy >", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
+            addCriterion("createBy >=", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByLessThan(String value) {
+            addCriterion("createBy <", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByLessThanOrEqualTo(String value) {
+            addCriterion("createBy <=", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByLike(String value) {
+            addCriterion("createBy like", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByNotLike(String value) {
+            addCriterion("createBy not like", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByIn(List<String> values) {
+            addCriterion("createBy in", values, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByNotIn(List<String> values) {
+            addCriterion("createBy not in", values, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByBetween(String value1, String value2) {
+            addCriterion("createBy between", value1, value2, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByNotBetween(String value1, String value2) {
+            addCriterion("createBy not between", value1, value2, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateIsNull() {
+            addCriterion("createDate is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateIsNotNull() {
+            addCriterion("createDate is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateEqualTo(Date value) {
+            addCriterion("createDate =", value, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateNotEqualTo(Date value) {
+            addCriterion("createDate <>", value, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateGreaterThan(Date value) {
+            addCriterion("createDate >", value, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
+            addCriterion("createDate >=", value, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateLessThan(Date value) {
+            addCriterion("createDate <", value, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
+            addCriterion("createDate <=", value, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateIn(List<Date> values) {
+            addCriterion("createDate in", values, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateNotIn(List<Date> values) {
+            addCriterion("createDate not in", values, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateBetween(Date value1, Date value2) {
+            addCriterion("createDate between", value1, value2, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
+            addCriterion("createDate not between", value1, value2, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByIsNull() {
+            addCriterion("updateBy is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByIsNotNull() {
+            addCriterion("updateBy is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByEqualTo(String value) {
+            addCriterion("updateBy =", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByNotEqualTo(String value) {
+            addCriterion("updateBy <>", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByGreaterThan(String value) {
+            addCriterion("updateBy >", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
+            addCriterion("updateBy >=", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByLessThan(String value) {
+            addCriterion("updateBy <", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByLessThanOrEqualTo(String value) {
+            addCriterion("updateBy <=", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByLike(String value) {
+            addCriterion("updateBy like", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByNotLike(String value) {
+            addCriterion("updateBy not like", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByIn(List<String> values) {
+            addCriterion("updateBy in", values, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByNotIn(List<String> values) {
+            addCriterion("updateBy not in", values, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByBetween(String value1, String value2) {
+            addCriterion("updateBy between", value1, value2, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByNotBetween(String value1, String value2) {
+            addCriterion("updateBy not between", value1, value2, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateIsNull() {
+            addCriterion("updateDate is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateIsNotNull() {
+            addCriterion("updateDate is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateEqualTo(Date value) {
+            addCriterion("updateDate =", value, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateNotEqualTo(Date value) {
+            addCriterion("updateDate <>", value, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateGreaterThan(Date value) {
+            addCriterion("updateDate >", value, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateGreaterThanOrEqualTo(Date value) {
+            addCriterion("updateDate >=", value, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateLessThan(Date value) {
+            addCriterion("updateDate <", value, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateLessThanOrEqualTo(Date value) {
+            addCriterion("updateDate <=", value, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateIn(List<Date> values) {
+            addCriterion("updateDate in", values, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateNotIn(List<Date> values) {
+            addCriterion("updateDate not in", values, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateBetween(Date value1, Date value2) {
+            addCriterion("updateDate between", value1, value2, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateNotBetween(Date value1, Date value2) {
+            addCriterion("updateDate not between", value1, value2, "updateDate");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 65 - 0
src/main/java/lingtao/net/bean/Bug.java

@@ -0,0 +1,65 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+/**
+ * 问题反馈
+ * 
+ * @author Administrator
+ *
+ */
+@Data
+public class Bug {
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getProduct() {
+		return product;
+	}
+
+	public void setProduct(String product) {
+		this.product = product;
+	}
+
+	public String getBugRemark() {
+		return bugRemark;
+	}
+
+	public void setBugRemark(String bugRemark) {
+		this.bugRemark = bugRemark;
+	}
+
+	public String getCreateBy() {
+		return createBy;
+	}
+
+	public void setCreateBy(String createBy) {
+		this.createBy = createBy;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	private Integer id;
+
+	private String product;
+
+	private String bugRemark;
+
+	private String createBy;
+
+	private Date createDate;
+}

+ 129 - 0
src/main/java/lingtao/net/bean/CustomerAward.java

@@ -0,0 +1,129 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+@Data
+public class CustomerAward {
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getNickname() {
+		return nickname;
+	}
+
+	public void setNickname(String nickname) {
+		this.nickname = nickname;
+	}
+
+	public Double getPayPercent() {
+		return payPercent;
+	}
+
+	public void setPayPercent(Double payPercent) {
+		this.payPercent = payPercent;
+	}
+
+	public Double getAskNumber() {
+		return askNumber;
+	}
+
+	public void setAskNumber(Double askNumber) {
+		this.askNumber = askNumber;
+	}
+
+	public Double getCustomerPrice() {
+		return customerPrice;
+	}
+
+	public void setCustomerPrice(Double customerPrice) {
+		this.customerPrice = customerPrice;
+	}
+
+	public Integer getAward() {
+		return award;
+	}
+
+	public void setAward(Integer award) {
+		this.award = award;
+	}
+
+	public String getShopname() {
+		return shopname;
+	}
+
+	public void setShopname(String shopname) {
+		this.shopname = shopname;
+	}
+
+	public String getAwardDate() {
+		return awardDate;
+	}
+
+	public void setAwardDate(String awardDate) {
+		this.awardDate = awardDate;
+	}
+
+	public String getCreator() {
+		return creator;
+	}
+
+	public void setCreator(String creator) {
+		this.creator = creator;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public String getCreateTimeBegin() {
+		return createTimeBegin;
+	}
+
+	public void setCreateTimeBegin(String createTimeBegin) {
+		this.createTimeBegin = createTimeBegin;
+	}
+
+	public String getCreateTimeEnd() {
+		return createTimeEnd;
+	}
+
+	public void setCreateTimeEnd(String createTimeEnd) {
+		this.createTimeEnd = createTimeEnd;
+	}
+
+	private Integer id;
+
+	private String nickname;
+
+	private Double payPercent;
+
+	private Double askNumber;
+
+	private Double customerPrice;
+
+	private Integer award;
+
+	private String shopname;
+
+	private String awardDate;
+
+	private String creator;
+
+	private Date createDate;
+
+	private String createTimeBegin;
+
+	private String createTimeEnd;
+}

+ 241 - 0
src/main/java/lingtao/net/bean/CustomerData.java

@@ -0,0 +1,241 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+/**
+ * 客服数据
+ * 
+ * @author Administrator
+ *
+ */
+@Data
+public class CustomerData {
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public String getRealname() {
+		return realname;
+	}
+
+	public void setRealname(String realname) {
+		this.realname = realname;
+	}
+
+	public String getRole() {
+		return role;
+	}
+
+	public void setRole(String role) {
+		this.role = role;
+	}
+
+	public double getPrice() {
+		return price;
+	}
+
+	public void setPrice(double price) {
+		this.price = price;
+	}
+
+	public String getProductExplain() {
+		return productExplain;
+	}
+
+	public void setProductExplain(String productExplain) {
+		this.productExplain = productExplain;
+	}
+
+	public String getWangwang() {
+		return wangwang;
+	}
+
+	public void setWangwang(String wangwang) {
+		this.wangwang = wangwang;
+	}
+
+	public String getIsBuy() {
+		return isBuy;
+	}
+
+	public void setIsBuy(String isBuy) {
+		this.isBuy = isBuy;
+	}
+
+	public String getCommentSelf() {
+		return commentSelf;
+	}
+
+	public void setCommentSelf(String commentSelf) {
+		this.commentSelf = commentSelf;
+	}
+
+	public String getCommentManager() {
+		return commentManager;
+	}
+
+	public void setCommentManager(String commentManager) {
+		this.commentManager = commentManager;
+	}
+
+	public Date getCommentDate() {
+		return commentDate;
+	}
+
+	public void setCommentDate(Date commentDate) {
+		this.commentDate = commentDate;
+	}
+
+	public String getIsDelete() {
+		return isDelete;
+	}
+
+	public void setIsDelete(String isDelete) {
+		this.isDelete = isDelete;
+	}
+
+	public String getCreateBy() {
+		return createBy;
+	}
+
+	public void setCreateBy(String createBy) {
+		this.createBy = createBy;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public String getUpdateBy() {
+		return updateBy;
+	}
+
+	public void setUpdateBy(String updateBy) {
+		this.updateBy = updateBy;
+	}
+
+	public Date getUpdateDate() {
+		return updateDate;
+	}
+
+	public void setUpdateDate(Date updateDate) {
+		this.updateDate = updateDate;
+	}
+
+	public Date getCompleteDate() {
+		return completeDate;
+	}
+
+	public void setCompleteDate(Date completeDate) {
+		this.completeDate = completeDate;
+	}
+
+	public String getRoleSearch() {
+		return roleSearch;
+	}
+
+	public void setRoleSearch(String roleSearch) {
+		this.roleSearch = roleSearch;
+	}
+
+	public String[] getRoleArr() {
+		return roleArr;
+	}
+
+	public void setRoleArr(String[] roleArr) {
+		this.roleArr = roleArr;
+	}
+
+	public String getCreateDateBegin() {
+		return createDateBegin;
+	}
+
+	public void setCreateDateBegin(String createDateBegin) {
+		this.createDateBegin = createDateBegin;
+	}
+
+	public String getCreateDateEnd() {
+		return createDateEnd;
+	}
+
+	public void setCreateDateEnd(String createDateEnd) {
+		this.createDateEnd = createDateEnd;
+	}
+
+	// 主键id
+	private Integer id;
+
+	// 用户名
+	private String username;
+
+	// 真实姓名
+	private String realname;
+
+	// 所属店铺/角色
+	private String role;
+
+	// 价格
+	private double price;
+
+	// 产品说明
+	private String productExplain;
+
+	// 客人旺旺
+	private String wangwang;
+
+	// 是否购买
+	private String isBuy;
+
+	// 自评
+	private String commentSelf;
+
+	// 店长评语
+	private String commentManager;
+
+	// 店长评语时间
+	private Date commentDate;
+
+	// 是否删除 0:否 1:是
+	private String isDelete;
+
+	private String createBy;
+
+	private Date createDate;
+
+	private String updateBy;
+
+	private Date updateDate;
+
+	// 完成时间
+	private Date completeDate;
+
+	// 根据角色(部门)查找数据
+	private String roleSearch;
+
+	// 用户所拥有的部门数组
+	private String[] roleArr;
+
+	private String createDateBegin;
+	
+	private String createDateEnd;
+
+}

+ 110 - 0
src/main/java/lingtao/net/bean/CustomerTrainContent.java

@@ -0,0 +1,110 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+@Data
+public class CustomerTrainContent {
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getProType() {
+		return proType;
+	}
+
+	public void setProType(String proType) {
+		this.proType = proType;
+	}
+
+	public String getKind() {
+		return kind;
+	}
+
+	public void setKind(String kind) {
+		this.kind = kind;
+	}
+
+	public Integer getSort() {
+		return sort;
+	}
+
+	public void setSort(Integer sort) {
+		this.sort = sort;
+	}
+
+	public String getContent() {
+		return content;
+	}
+
+	public void setContent(String content) {
+		this.content = content;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public String getCreateBy() {
+		return createBy;
+	}
+
+	public void setCreateBy(String createBy) {
+		this.createBy = createBy;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public String getUpdateBy() {
+		return updateBy;
+	}
+
+	public void setUpdateBy(String updateBy) {
+		this.updateBy = updateBy;
+	}
+
+	public Date getUpdateDate() {
+		return updateDate;
+	}
+
+	public void setUpdateDate(Date updateDate) {
+		this.updateDate = updateDate;
+	}
+
+	private Integer id;
+
+	private String proType;
+
+	private String kind;
+
+	private Integer sort;
+
+	private String content;
+	
+	private String type;
+
+	private String createBy;
+
+	private Date createDate;
+	
+	private String updateBy;
+
+	private Date updateDate;
+	
+}

+ 110 - 0
src/main/java/lingtao/net/bean/CustomerTrainKindLabel.java

@@ -0,0 +1,110 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+@Data
+public class CustomerTrainKindLabel {
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getProType() {
+		return proType;
+	}
+
+	public void setProType(String proType) {
+		this.proType = proType;
+	}
+
+	public String getKindLabel() {
+		return kindLabel;
+	}
+
+	public void setKindLabel(String kindLabel) {
+		this.kindLabel = kindLabel;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public Integer getSort() {
+		return sort;
+	}
+
+	public void setSort(Integer sort) {
+		this.sort = sort;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public String getCreateBy() {
+		return createBy;
+	}
+
+	public void setCreateBy(String createBy) {
+		this.createBy = createBy;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public String getUpdateBy() {
+		return updateBy;
+	}
+
+	public void setUpdateBy(String updateBy) {
+		this.updateBy = updateBy;
+	}
+
+	public Date getUpdateDate() {
+		return updateDate;
+	}
+
+	public void setUpdateDate(Date updateDate) {
+		this.updateDate = updateDate;
+	}
+
+	private Integer id;
+
+	private String proType;
+
+	private String kindLabel;
+
+	private String remark;
+
+	private Integer sort;
+	
+	private String type;
+
+	private String createBy;
+
+	private Date createDate;
+
+	private String updateBy;
+
+	private Date updateDate;
+
+}

+ 100 - 0
src/main/java/lingtao/net/bean/CustomerTrainProType.java

@@ -0,0 +1,100 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+@Data
+public class CustomerTrainProType {
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getProType() {
+		return proType;
+	}
+
+	public void setProType(String proType) {
+		this.proType = proType;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public Integer getSort() {
+		return sort;
+	}
+
+	public void setSort(Integer sort) {
+		this.sort = sort;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public String getCreateBy() {
+		return createBy;
+	}
+
+	public void setCreateBy(String createBy) {
+		this.createBy = createBy;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public String getUpdateBy() {
+		return updateBy;
+	}
+
+	public void setUpdateBy(String updateBy) {
+		this.updateBy = updateBy;
+	}
+
+	public Date getUpdateDate() {
+		return updateDate;
+	}
+
+	public void setUpdateDate(Date updateDate) {
+		this.updateDate = updateDate;
+	}
+
+	private Integer id;
+
+	private String proType;
+
+	private String remark;
+
+	private Integer sort;
+	
+	private String type;
+
+	private String createBy;
+
+	private Date createDate;
+	
+	private String updateBy;
+
+	private Date updateDate;
+
+}

+ 125 - 0
src/main/java/lingtao/net/bean/ExpressFee.java

@@ -0,0 +1,125 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+/**
+ * 省份快递费
+ * 
+ * @author Administrator
+ *
+ */
+@Data
+public class ExpressFee {
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getProvince() {
+		return province;
+	}
+
+	public void setProvince(String province) {
+		this.province = province;
+	}
+
+	public String getProTypeValue() {
+		return proTypeValue;
+	}
+
+	public void setProTypeValue(String proTypeValue) {
+		this.proTypeValue = proTypeValue;
+	}
+
+	public String getProTypeLabel() {
+		return proTypeLabel;
+	}
+
+	public void setProTypeLabel(String proTypeLabel) {
+		this.proTypeLabel = proTypeLabel;
+	}
+
+	public double getFirstWeightPrice() {
+		return firstWeightPrice;
+	}
+
+	public void setFirstWeightPrice(double firstWeightPrice) {
+		this.firstWeightPrice = firstWeightPrice;
+	}
+
+	public double getContinuedWeightPrice() {
+		return continuedWeightPrice;
+	}
+
+	public void setContinuedWeightPrice(double continuedWeightPrice) {
+		this.continuedWeightPrice = continuedWeightPrice;
+	}
+
+	public double getStartPrice() {
+		return startPrice;
+	}
+
+	public void setStartPrice(double startPrice) {
+		this.startPrice = startPrice;
+	}
+
+	public String getCreateBy() {
+		return createBy;
+	}
+
+	public void setCreateBy(String createBy) {
+		this.createBy = createBy;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public String getUpdateBy() {
+		return updateBy;
+	}
+
+	public void setUpdateBy(String updateBy) {
+		this.updateBy = updateBy;
+	}
+
+	public Date getUpdateDate() {
+		return updateDate;
+	}
+
+	public void setUpdateDate(Date updateDate) {
+		this.updateDate = updateDate;
+	}
+
+	private Integer id;
+
+	private String province;
+
+	private String proTypeValue;
+
+	private String proTypeLabel;
+
+	private double firstWeightPrice;
+
+	private double continuedWeightPrice;
+
+	private double startPrice;
+
+	private String createBy;
+
+	private Date createDate;
+
+	private String updateBy;
+
+	private Date updateDate;
+}

+ 149 - 0
src/main/java/lingtao/net/bean/Finance.java

@@ -0,0 +1,149 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+@Data
+public class Finance {
+
+	private Integer id;
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public Date getAddTime() {
+		return addTime;
+	}
+
+	public void setAddTime(Date addTime) {
+		this.addTime = addTime;
+	}
+
+	public String getSupplier() {
+		return supplier;
+	}
+
+	public void setSupplier(String supplier) {
+		this.supplier = supplier;
+	}
+
+	public String getShopname() {
+		return shopname;
+	}
+
+	public void setShopname(String shopname) {
+		this.shopname = shopname;
+	}
+
+	public String getKind() {
+		return kind;
+	}
+
+	public void setKind(String kind) {
+		this.kind = kind;
+	}
+
+	public String getKind2() {
+		return kind2;
+	}
+
+	public void setKind2(String kind2) {
+		this.kind2 = kind2;
+	}
+
+	public String getOrderNumber() {
+		return orderNumber;
+	}
+
+	public void setOrderNumber(String orderNumber) {
+		this.orderNumber = orderNumber;
+	}
+
+	public String getFilename() {
+		return filename;
+	}
+
+	public void setFilename(String filename) {
+		this.filename = filename;
+	}
+
+	public String getCount() {
+		return count;
+	}
+
+	public void setCount(String count) {
+		this.count = count;
+	}
+
+	public String getNumber() {
+		return number;
+	}
+
+	public void setNumber(String number) {
+		this.number = number;
+	}
+
+	public String getZhang() {
+		return zhang;
+	}
+
+	public void setZhang(String zhang) {
+		this.zhang = zhang;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public String getCreator() {
+		return creator;
+	}
+
+	public void setCreator(String creator) {
+		this.creator = creator;
+	}
+
+	private Date addTime;
+
+	private String supplier;
+
+	private String shopname;
+
+	private String kind;
+
+	private String kind2;
+
+	private String orderNumber;
+
+	private String filename;
+
+	private String count;
+
+	private String number;
+
+	private String zhang;
+
+	private String remark;
+
+	private Date createDate;
+
+	private String creator;
+}

+ 135 - 0
src/main/java/lingtao/net/bean/FinanceDifference.java

@@ -0,0 +1,135 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+/**
+ * 拆分补差价单号
+ * 
+ * @author Administrator
+ *
+ */
+@Data
+public class FinanceDifference {
+
+	private Integer id;
+
+	private String orderNumber;
+
+	private String shopname;
+
+	private String wangwang;
+
+	private Date payTime;
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getOrderNumber() {
+		return orderNumber;
+	}
+
+	public void setOrderNumber(String orderNumber) {
+		this.orderNumber = orderNumber;
+	}
+
+	public String getShopname() {
+		return shopname;
+	}
+
+	public void setShopname(String shopname) {
+		this.shopname = shopname;
+	}
+
+	public String getWangwang() {
+		return wangwang;
+	}
+
+	public void setWangwang(String wangwang) {
+		this.wangwang = wangwang;
+	}
+
+	public Date getPayTime() {
+		return payTime;
+	}
+
+	public void setPayTime(Date payTime) {
+		this.payTime = payTime;
+	}
+
+	public String getPrice() {
+		return price;
+	}
+
+	public void setPrice(String price) {
+		this.price = price;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getTaobaoStatus() {
+		return taobaoStatus;
+	}
+
+	public void setTaobaoStatus(String taobaoStatus) {
+		this.taobaoStatus = taobaoStatus;
+	}
+
+	public String getOpenOrderNumber() {
+		return openOrderNumber;
+	}
+
+	public void setOpenOrderNumber(String openOrderNumber) {
+		this.openOrderNumber = openOrderNumber;
+	}
+
+	public String getFilename() {
+		return filename;
+	}
+
+	public void setFilename(String filename) {
+		this.filename = filename;
+	}
+
+	public String getCreator() {
+		return creator;
+	}
+
+	public void setCreator(String creator) {
+		this.creator = creator;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	private String price;
+
+	private String remark;
+
+	private String taobaoStatus;
+
+	private String openOrderNumber;
+	
+	private String filename;
+
+	private String creator;
+
+	private Date createDate;
+}

+ 115 - 0
src/main/java/lingtao/net/bean/FinanceExtract.java

@@ -0,0 +1,115 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+/**
+ * 提取尺寸
+ * 
+ * @author Administrator
+ *
+ */
+@Data
+public class FinanceExtract {
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getOrderNumber() {
+		return orderNumber;
+	}
+
+	public void setOrderNumber(String orderNumber) {
+		this.orderNumber = orderNumber;
+	}
+
+	public String getLength() {
+		return length;
+	}
+
+	public void setLength(String length) {
+		this.length = length;
+	}
+
+	public String getWidth() {
+		return width;
+	}
+
+	public void setWidth(String width) {
+		this.width = width;
+	}
+
+	public String getHeight() {
+		return height;
+	}
+
+	public void setHeight(String height) {
+		this.height = height;
+	}
+
+	public String getCount() {
+		return count;
+	}
+
+	public void setCount(String count) {
+		this.count = count;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getFilename() {
+		return filename;
+	}
+
+	public void setFilename(String filename) {
+		this.filename = filename;
+	}
+
+	public String getCreator() {
+		return creator;
+	}
+
+	public void setCreator(String creator) {
+		this.creator = creator;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	private Integer id;
+
+	private String orderNumber;
+
+	private String length;
+
+	private String width;
+
+	private String height;
+
+	private String count;
+
+	private String remark;
+	
+	private String filename;
+
+	private String creator;
+
+	private Date createDate;
+}

+ 85 - 0
src/main/java/lingtao/net/bean/Information.java

@@ -0,0 +1,85 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+/**
+ * 产品知识点;
+ * 
+ * @author Administrator
+ *
+ */
+@Data
+public class Information {
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getContent() {
+		return content;
+	}
+
+	public void setContent(String content) {
+		this.content = content;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public String getCreateBy() {
+		return createBy;
+	}
+
+	public void setCreateBy(String createBy) {
+		this.createBy = createBy;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public String getUpdateBy() {
+		return updateBy;
+	}
+
+	public void setUpdateBy(String updateBy) {
+		this.updateBy = updateBy;
+	}
+
+	public Date getUpdateDate() {
+		return updateDate;
+	}
+
+	public void setUpdateDate(Date updateDate) {
+		this.updateDate = updateDate;
+	}
+
+	private Integer id;
+
+	private String content;
+
+	private String type;
+
+	private String createBy;
+
+	private Date createDate;
+
+	private String updateBy;
+
+	private Date updateDate;
+}

+ 86 - 0
src/main/java/lingtao/net/bean/LoginIp.java

@@ -0,0 +1,86 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+/**
+ * 允许登录的IP
+ * 
+ * @author Administrator
+ *
+ */
+@Data
+public class LoginIp {
+
+	private Integer id;
+
+	private String agreeIp;
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getAgreeIp() {
+		return agreeIp;
+	}
+
+	public void setAgreeIp(String agreeIp) {
+		this.agreeIp = agreeIp;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getCreateBy() {
+		return createBy;
+	}
+
+	public void setCreateBy(String createBy) {
+		this.createBy = createBy;
+	}
+
+	public Date getCreateDate() {
+		return CreateDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		CreateDate = createDate;
+	}
+
+	public String getUpdateBy() {
+		return updateBy;
+	}
+
+	public void setUpdateBy(String updateBy) {
+		this.updateBy = updateBy;
+	}
+
+	public Date getUpdateTime() {
+		return updateTime;
+	}
+
+	public void setUpdateTime(Date updateTime) {
+		this.updateTime = updateTime;
+	}
+
+	private String remark;
+
+	private String createBy;
+
+	private Date CreateDate;
+	
+	private String updateBy;
+	
+	private Date updateTime;
+
+}

+ 54 - 0
src/main/java/lingtao/net/bean/LoginLog.java

@@ -0,0 +1,54 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 登录日志
+ * 
+ * @author Administrator
+ *
+ */
+@Data
+public class LoginLog {
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public Date getLoginTime() {
+		return loginTime;
+	}
+
+	public void setLoginTime(Date loginTime) {
+		this.loginTime = loginTime;
+	}
+
+	private Integer id;
+
+	private String remark;
+
+	private String status;
+
+	private Date loginTime;
+}

+ 102 - 0
src/main/java/lingtao/net/bean/Msg.java

@@ -0,0 +1,102 @@
+package lingtao.net.bean;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import lombok.Data;
+
+/**
+ * 通用的返回的类
+ */
+@Data
+public class Msg {
+
+	// 状态码 200--成功 100--失败 300禁用
+	private int code;
+
+	public int getCode() {
+		return code;
+	}
+
+	public void setCode(int code) {
+		this.code = code;
+	}
+
+	public String getMsg() {
+		return msg;
+	}
+
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+
+	public Map<String, Object> getData() {
+		return data;
+	}
+
+	public void setData(Map<String, Object> data) {
+		this.data = data;
+	}
+
+	// 提示信息
+	private String msg;
+
+	// 用户要返回给浏览器的数据
+	private Map<String, Object> data = new HashMap<String, Object>();
+
+	public static Msg success() {
+		Msg result = new Msg();
+		result.setCode(200);
+		result.setMsg("成功");
+		return result;
+	}
+
+	public static Msg success(String msg) {
+		Msg result = new Msg();
+		result.setCode(200);
+		result.setMsg(msg);
+		return result;
+	}
+
+	public static Msg fail() {
+		Msg result = new Msg();
+		result.setCode(100);
+		result.setMsg("失败");
+		return result;
+	}
+
+	public static Msg fail(String msg) {
+		Msg result = new Msg();
+		result.setCode(100);
+		result.setMsg(msg);
+		return result;
+	}
+
+	public static Msg fail(Integer code, String msg) {
+		Msg result = new Msg();
+		result.setCode(code);
+		result.setMsg(msg);
+		return result;
+	}
+
+	public static Msg isDisable() {
+		Msg result = new Msg();
+		result.setCode(300);
+		result.setMsg("失败");
+		return result;
+	}
+
+	public static Msg isDisable(String msg) {
+		Msg result = new Msg();
+		result.setCode(300);
+		result.setMsg(msg);
+		return result;
+	}
+
+	public Msg add(String key, Object value) {
+		this.getData().put(key, value);
+		return this;
+
+	}
+
+}

+ 85 - 0
src/main/java/lingtao/net/bean/MyFile.java

@@ -0,0 +1,85 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+public class MyFile {
+	private Integer fileId;
+
+	private String fileName;
+
+	private String filePath;
+
+	private String remark;
+
+	private String createBy;
+
+	private Date createDate;
+
+	private String updateBy;
+
+	private Date updateDate;
+
+	public Integer getFileId() {
+		return fileId;
+	}
+
+	public void setFileId(Integer fileId) {
+		this.fileId = fileId;
+	}
+
+	public String getFileName() {
+		return fileName;
+	}
+
+	public void setFileName(String fileName) {
+		this.fileName = fileName == null ? null : fileName.trim();
+	}
+
+	public String getFilePath() {
+		return filePath;
+	}
+
+	public void setFilePath(String filePath) {
+		this.filePath = filePath == null ? null : filePath.trim();
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark == null ? null : remark.trim();
+	}
+
+	public String getCreateBy() {
+		return createBy;
+	}
+
+	public void setCreateBy(String createBy) {
+		this.createBy = createBy == null ? null : createBy.trim();
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public String getUpdateBy() {
+		return updateBy;
+	}
+
+	public void setUpdateBy(String updateBy) {
+		this.updateBy = updateBy == null ? null : updateBy.trim();
+	}
+
+	public Date getUpdateDate() {
+		return updateDate;
+	}
+
+	public void setUpdateDate(Date updateDate) {
+		this.updateDate = updateDate;
+	}
+}

+ 731 - 0
src/main/java/lingtao/net/bean/MyFileExample.java

@@ -0,0 +1,731 @@
+package lingtao.net.bean;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class MyFileExample {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public MyFileExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andFileIdIsNull() {
+            addCriterion("fileId is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileIdIsNotNull() {
+            addCriterion("fileId is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileIdEqualTo(Integer value) {
+            addCriterion("fileId =", value, "fileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileIdNotEqualTo(Integer value) {
+            addCriterion("fileId <>", value, "fileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileIdGreaterThan(Integer value) {
+            addCriterion("fileId >", value, "fileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileIdGreaterThanOrEqualTo(Integer value) {
+            addCriterion("fileId >=", value, "fileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileIdLessThan(Integer value) {
+            addCriterion("fileId <", value, "fileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileIdLessThanOrEqualTo(Integer value) {
+            addCriterion("fileId <=", value, "fileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileIdIn(List<Integer> values) {
+            addCriterion("fileId in", values, "fileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileIdNotIn(List<Integer> values) {
+            addCriterion("fileId not in", values, "fileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileIdBetween(Integer value1, Integer value2) {
+            addCriterion("fileId between", value1, value2, "fileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileIdNotBetween(Integer value1, Integer value2) {
+            addCriterion("fileId not between", value1, value2, "fileId");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileNameIsNull() {
+            addCriterion("fileName is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileNameIsNotNull() {
+            addCriterion("fileName is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileNameEqualTo(String value) {
+            addCriterion("fileName =", value, "fileName");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileNameNotEqualTo(String value) {
+            addCriterion("fileName <>", value, "fileName");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileNameGreaterThan(String value) {
+            addCriterion("fileName >", value, "fileName");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileNameGreaterThanOrEqualTo(String value) {
+            addCriterion("fileName >=", value, "fileName");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileNameLessThan(String value) {
+            addCriterion("fileName <", value, "fileName");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileNameLessThanOrEqualTo(String value) {
+            addCriterion("fileName <=", value, "fileName");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileNameLike(String value) {
+            addCriterion("fileName like", value, "fileName");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileNameNotLike(String value) {
+            addCriterion("fileName not like", value, "fileName");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileNameIn(List<String> values) {
+            addCriterion("fileName in", values, "fileName");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileNameNotIn(List<String> values) {
+            addCriterion("fileName not in", values, "fileName");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileNameBetween(String value1, String value2) {
+            addCriterion("fileName between", value1, value2, "fileName");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileNameNotBetween(String value1, String value2) {
+            addCriterion("fileName not between", value1, value2, "fileName");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilePathIsNull() {
+            addCriterion("filePath is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilePathIsNotNull() {
+            addCriterion("filePath is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilePathEqualTo(String value) {
+            addCriterion("filePath =", value, "filePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilePathNotEqualTo(String value) {
+            addCriterion("filePath <>", value, "filePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilePathGreaterThan(String value) {
+            addCriterion("filePath >", value, "filePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilePathGreaterThanOrEqualTo(String value) {
+            addCriterion("filePath >=", value, "filePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilePathLessThan(String value) {
+            addCriterion("filePath <", value, "filePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilePathLessThanOrEqualTo(String value) {
+            addCriterion("filePath <=", value, "filePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilePathLike(String value) {
+            addCriterion("filePath like", value, "filePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilePathNotLike(String value) {
+            addCriterion("filePath not like", value, "filePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilePathIn(List<String> values) {
+            addCriterion("filePath in", values, "filePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilePathNotIn(List<String> values) {
+            addCriterion("filePath not in", values, "filePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilePathBetween(String value1, String value2) {
+            addCriterion("filePath between", value1, value2, "filePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andFilePathNotBetween(String value1, String value2) {
+            addCriterion("filePath not between", value1, value2, "filePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNull() {
+            addCriterion("remark is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNotNull() {
+            addCriterion("remark is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkEqualTo(String value) {
+            addCriterion("remark =", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotEqualTo(String value) {
+            addCriterion("remark <>", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThan(String value) {
+            addCriterion("remark >", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
+            addCriterion("remark >=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThan(String value) {
+            addCriterion("remark <", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThanOrEqualTo(String value) {
+            addCriterion("remark <=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLike(String value) {
+            addCriterion("remark like", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotLike(String value) {
+            addCriterion("remark not like", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIn(List<String> values) {
+            addCriterion("remark in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotIn(List<String> values) {
+            addCriterion("remark not in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkBetween(String value1, String value2) {
+            addCriterion("remark between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotBetween(String value1, String value2) {
+            addCriterion("remark not between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByIsNull() {
+            addCriterion("createBy is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByIsNotNull() {
+            addCriterion("createBy is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByEqualTo(String value) {
+            addCriterion("createBy =", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByNotEqualTo(String value) {
+            addCriterion("createBy <>", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByGreaterThan(String value) {
+            addCriterion("createBy >", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
+            addCriterion("createBy >=", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByLessThan(String value) {
+            addCriterion("createBy <", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByLessThanOrEqualTo(String value) {
+            addCriterion("createBy <=", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByLike(String value) {
+            addCriterion("createBy like", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByNotLike(String value) {
+            addCriterion("createBy not like", value, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByIn(List<String> values) {
+            addCriterion("createBy in", values, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByNotIn(List<String> values) {
+            addCriterion("createBy not in", values, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByBetween(String value1, String value2) {
+            addCriterion("createBy between", value1, value2, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateByNotBetween(String value1, String value2) {
+            addCriterion("createBy not between", value1, value2, "createBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateIsNull() {
+            addCriterion("createDate is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateIsNotNull() {
+            addCriterion("createDate is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateEqualTo(Date value) {
+            addCriterion("createDate =", value, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateNotEqualTo(Date value) {
+            addCriterion("createDate <>", value, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateGreaterThan(Date value) {
+            addCriterion("createDate >", value, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
+            addCriterion("createDate >=", value, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateLessThan(Date value) {
+            addCriterion("createDate <", value, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
+            addCriterion("createDate <=", value, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateIn(List<Date> values) {
+            addCriterion("createDate in", values, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateNotIn(List<Date> values) {
+            addCriterion("createDate not in", values, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateBetween(Date value1, Date value2) {
+            addCriterion("createDate between", value1, value2, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
+            addCriterion("createDate not between", value1, value2, "createDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByIsNull() {
+            addCriterion("updateBy is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByIsNotNull() {
+            addCriterion("updateBy is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByEqualTo(String value) {
+            addCriterion("updateBy =", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByNotEqualTo(String value) {
+            addCriterion("updateBy <>", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByGreaterThan(String value) {
+            addCriterion("updateBy >", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
+            addCriterion("updateBy >=", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByLessThan(String value) {
+            addCriterion("updateBy <", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByLessThanOrEqualTo(String value) {
+            addCriterion("updateBy <=", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByLike(String value) {
+            addCriterion("updateBy like", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByNotLike(String value) {
+            addCriterion("updateBy not like", value, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByIn(List<String> values) {
+            addCriterion("updateBy in", values, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByNotIn(List<String> values) {
+            addCriterion("updateBy not in", values, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByBetween(String value1, String value2) {
+            addCriterion("updateBy between", value1, value2, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByNotBetween(String value1, String value2) {
+            addCriterion("updateBy not between", value1, value2, "updateBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateIsNull() {
+            addCriterion("updateDate is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateIsNotNull() {
+            addCriterion("updateDate is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateEqualTo(Date value) {
+            addCriterion("updateDate =", value, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateNotEqualTo(Date value) {
+            addCriterion("updateDate <>", value, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateGreaterThan(Date value) {
+            addCriterion("updateDate >", value, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateGreaterThanOrEqualTo(Date value) {
+            addCriterion("updateDate >=", value, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateLessThan(Date value) {
+            addCriterion("updateDate <", value, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateLessThanOrEqualTo(Date value) {
+            addCriterion("updateDate <=", value, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateIn(List<Date> values) {
+            addCriterion("updateDate in", values, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateNotIn(List<Date> values) {
+            addCriterion("updateDate not in", values, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateBetween(Date value1, Date value2) {
+            addCriterion("updateDate between", value1, value2, "updateDate");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateDateNotBetween(Date value1, Date value2) {
+            addCriterion("updateDate not between", value1, value2, "updateDate");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 168 - 0
src/main/java/lingtao/net/bean/Product.java

@@ -0,0 +1,168 @@
+package lingtao.net.bean;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class Product {
+    // id
+    private Integer proId;
+
+    // 长度
+    private Double length;
+
+    // 宽度
+    private Double width;
+
+    // 数量
+    private Integer count;
+
+    // 面积
+    private Double area;
+
+    // 价格
+    private Double price;
+
+    // 价格倍数
+    private Double priceMultiple;
+
+    // 折扣价
+    private Double discountPrice;
+
+    // 底价
+    private Double floorPrice;
+
+    // 重量
+    private String weight;
+
+    // 产品种类
+    private String proTypeValue;
+
+    // 产品种类说明
+    private String proTypeLabel;
+
+    // 产品品种类型
+    private String kindValue;
+
+    // 产品品种类型说明
+    private String kindLabel;
+
+    private String kind1Value;
+
+    private String kind1Label;
+
+    private String kind2Value;
+
+    private String kind2Label;
+
+    private String updater;
+
+    private Date updateDate;
+
+    /* ========================= */
+
+    // 尺寸
+    private String size;
+
+    // 工艺
+    private String craft[];
+
+    // 不干胶种类标识--常规/少数量
+    private String stickerKind;
+    // 透明不干胶印白墨
+    private String yinbai;
+    // 款数
+    private Integer number;
+    // 位数
+    private Integer num;
+    // 手提袋/合版封套/房卡套种类标识
+    private String k;
+    // 卡片、金属标种类标识
+    private String kind;
+    // 吊旗300克铜版纸走优惠券价格--标识
+    private String d;
+    // 吊旗300克铜版纸走优惠券价格--0-20位贵10块、20以上5块
+    private Integer p;
+    // 卡片种类标识--常规/少数量
+    private String couponKind;
+    // 自定义尺寸复选开关
+    private boolean switchSize;
+    // 卡片- 特种纸名片 -珠光纸自定义数量
+    private boolean switchCardCount;
+    // 卡片--存酒卡编码类型
+    private String bianma;
+    // 手提袋自定义数量
+    private boolean diyCount;
+    // 模切工艺
+    private String craftQie;
+    // 不干胶模切工艺类型
+    private String craftQieType;
+    // 覆膜/PVC名片印刷
+    private String craftMo;
+    // 凹凸工艺
+    private String aotu;
+    // 烫金工艺
+    private String craftTang;
+    // 0.38PVC亮光异型卡片背胶工艺
+    private String craftJiao;
+    // 海报-双喷布的工艺
+    private String craftBu;
+    // 桌贴印刷工艺
+    private String craftShua;
+    // 印刷烫金工艺长/宽
+    private double lengthTang;
+    private double widthTang;
+    // 宣传单折页折数
+    private Integer zheye;
+    // 宣传单压痕数
+    private Integer yaheng;
+    // 便签本种类标识--联单/便签本
+    private String notePaperKind;
+    // 画册P数
+    private Integer pcount;
+    // 画册装订方式
+    private String kind3Value;
+    // 角色标识--用于不同店铺不同价格
+    private String role;
+    // UV转印贴显示信息(出货时间)
+    private String Msg;
+    // 报价给哪个客户旺旺号
+    private String wangwang;
+    // 吊牌600克第二尺寸
+    private String size1;
+    // 服装吊牌绳子
+    private String craftSheng;
+    // 合板封套长/宽/舌头(高)
+    private double lengthSize;
+    private double widthSize;
+    private double heightSize;
+    private String craftTiao;//条幅工艺
+
+    // 印艺接口参数
+    private Double xx;// 长度
+    private Double yy;// 宽度
+    private Integer shuliang;// 数量
+    private Integer pinzhong;// 款数
+    private String cailiao;// 种类
+    private String fm;// 覆膜
+    private String fmType;//卡片贴膜类型 0贴膜1配膜
+    private Integer awards;//奖项
+    private Integer stickNum;//几处贴膜
+
+    private String switchz3Size;//种子纸是否自定义尺寸
+    private String z3type;//种子纸是否自定义尺寸
+
+    private String toothpick_size;//牙签规格
+
+    private String craftPai;
+
+    //内部模切参数
+    private Integer n_mq_num;
+    private String n_mq_size;
+    //位置数,颜色数
+    private Integer po_number;
+    private Integer co_number;
+    private Integer shen_type;
+    private String shen_color;
+}

+ 197 - 0
src/main/java/lingtao/net/bean/ProductImg.java

@@ -0,0 +1,197 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+@Data
+public class ProductImg {
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public String getProTypeLabel() {
+		return proTypeLabel;
+	}
+
+	public void setProTypeLabel(String proTypeLabel) {
+		this.proTypeLabel = proTypeLabel;
+	}
+
+	public String getProTypeValue() {
+		return proTypeValue;
+	}
+
+	public void setProTypeValue(String proTypeValue) {
+		this.proTypeValue = proTypeValue;
+	}
+
+	public String getKindValue() {
+		return kindValue;
+	}
+
+	public void setKindValue(String kindValue) {
+		this.kindValue = kindValue;
+	}
+
+	public String getKindLabel() {
+		return kindLabel;
+	}
+
+	public void setKindLabel(String kindLabel) {
+		this.kindLabel = kindLabel;
+	}
+
+	public String getKind2Value() {
+		return kind2Value;
+	}
+
+	public void setKind2Value(String kind2Value) {
+		this.kind2Value = kind2Value;
+	}
+
+	public String getKind2Label() {
+		return kind2Label;
+	}
+
+	public void setKind2Label(String kind2Label) {
+		this.kind2Label = kind2Label;
+	}
+
+	public String getImgUrl() {
+		return imgUrl;
+	}
+
+	public void setImgUrl(String imgUrl) {
+		this.imgUrl = imgUrl;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getFilename() {
+		return filename;
+	}
+
+	public void setFilename(String filename) {
+		this.filename = filename;
+	}
+
+	public Long getCreator() {
+		return creator;
+	}
+
+	public void setCreator(Long creator) {
+		this.creator = creator;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public Long getUpdater() {
+		return updater;
+	}
+
+	public void setUpdater(Long updater) {
+		this.updater = updater;
+	}
+
+	public String getImgWidth() {
+		return imgWidth;
+	}
+
+	public void setImgWidth(String imgWidth) {
+		this.imgWidth = imgWidth;
+	}
+
+	public String getImgHeight() {
+		return imgHeight;
+	}
+
+	public void setImgHeight(String imgHeight) {
+		this.imgHeight = imgHeight;
+	}
+
+	/**
+	*
+	*/
+	private Long id;
+
+	/**
+	 * 产品名称
+	 */
+	private String proTypeLabel;
+
+	/**
+	 * 名称编号
+	 */
+	private String proTypeValue;
+
+	/**
+	 * 产品种类1
+	 */
+	private String kindValue;
+
+	/**
+	 * 产品种类说明1
+	 */
+	private String kindLabel;
+
+	/**
+	 * 产品种类2
+	 */
+	private String kind2Value;
+
+	/**
+	 * 产品种类说明2
+	 */
+	private String kind2Label;
+
+	/**
+	 * 图片地址
+	 */
+	private String imgUrl;
+
+	/**
+	 * 产品说明
+	 */
+	private String remark;
+
+	/**
+	 * 文件名字
+	 */
+	private String filename;
+
+	/**
+	 * 创建者
+	 */
+	private Long creator;
+
+	/**
+	 * 创建时间
+	 */
+	private Date createDate;
+
+	/**
+	 * 更新者
+	 */
+	private Long updater;
+	
+	private String imgWidth; 
+	
+	private String imgHeight; 
+}

+ 146 - 0
src/main/java/lingtao/net/bean/Question.java

@@ -0,0 +1,146 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+/**
+ * 产品知识测试表
+ * 
+ * @author Administrator
+ *
+ */
+@Data
+public class Question {
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getQuestion() {
+		return question;
+	}
+
+	public void setQuestion(String question) {
+		this.question = question;
+	}
+
+	public String getAnswer() {
+		return answer;
+	}
+
+	public void setAnswer(String answer) {
+		this.answer = answer;
+	}
+
+	public String getAnswer1() {
+		return answer1;
+	}
+
+	public void setAnswer1(String answer1) {
+		this.answer1 = answer1;
+	}
+
+	public String getAnswer2() {
+		return answer2;
+	}
+
+	public void setAnswer2(String answer2) {
+		this.answer2 = answer2;
+	}
+
+	public String getAnswer3() {
+		return answer3;
+	}
+
+	public void setAnswer3(String answer3) {
+		this.answer3 = answer3;
+	}
+
+	public String getAnswer4() {
+		return answer4;
+	}
+
+	public void setAnswer4(String answer4) {
+		this.answer4 = answer4;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public Integer getAnsCount() {
+		return ansCount;
+	}
+
+	public void setAnsCount(Integer ansCount) {
+		this.ansCount = ansCount;
+	}
+
+	public String getCreateBy() {
+		return createBy;
+	}
+
+	public void setCreateBy(String createBy) {
+		this.createBy = createBy;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public String getUpdateBy() {
+		return updateBy;
+	}
+
+	public void setUpdateBy(String updateBy) {
+		this.updateBy = updateBy;
+	}
+
+	public Date getUpdateDate() {
+		return updateDate;
+	}
+
+	public void setUpdateDate(Date updateDate) {
+		this.updateDate = updateDate;
+	}
+
+	private Integer id;
+
+	private String question;
+
+	private String answer;
+
+	private String answer1;
+
+	private String answer2;
+
+	private String answer3;
+
+	private String answer4;
+
+	// 题目类型 0:单选 1:多选
+	private String type;
+
+	private Integer ansCount;
+
+	private String createBy;
+
+	private Date createDate;
+
+	private String updateBy;
+
+	private Date updateDate;
+}

+ 429 - 0
src/main/java/lingtao/net/bean/QuoteData.java

@@ -0,0 +1,429 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+/**
+ * 操作日志--供新增客服数据,只保留几天数据
+ * 
+ * @author Administrator
+ *
+ */
+@Data
+public class QuoteData {
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getRemarkJudge() {
+		return remarkJudge;
+	}
+
+	public void setRemarkJudge(String remarkJudge) {
+		this.remarkJudge = remarkJudge;
+	}
+
+	public String getRole() {
+		return role;
+	}
+
+	public void setRole(String role) {
+		this.role = role;
+	}
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public String getRealname() {
+		return realname;
+	}
+
+	public void setRealname(String realname) {
+		this.realname = realname;
+	}
+
+	public String getShopname() {
+		return shopname;
+	}
+
+	public void setShopname(String shopname) {
+		this.shopname = shopname;
+	}
+
+	public Double getPrice() {
+		return price;
+	}
+
+	public void setPrice(Double price) {
+		this.price = price;
+	}
+
+	public Date getQuoteTime() {
+		return quoteTime;
+	}
+
+	public void setQuoteTime(Date quoteTime) {
+		this.quoteTime = quoteTime;
+	}
+
+	public String getWangwang() {
+		return wangwang;
+	}
+
+	public void setWangwang(String wangwang) {
+		this.wangwang = wangwang;
+	}
+
+	public String getIsBuy() {
+		return isBuy;
+	}
+
+	public void setIsBuy(String isBuy) {
+		this.isBuy = isBuy;
+	}
+
+	public Date getBuyDate() {
+		return buyDate;
+	}
+
+	public void setBuyDate(Date buyDate) {
+		this.buyDate = buyDate;
+	}
+
+	public String getIsBuyToDay() {
+		return isBuyToDay;
+	}
+
+	public void setIsBuyToDay(String isBuyToDay) {
+		this.isBuyToDay = isBuyToDay;
+	}
+
+	public Date getIsBuyToDayDate() {
+		return isBuyToDayDate;
+	}
+
+	public void setIsBuyToDayDate(Date isBuyToDayDate) {
+		this.isBuyToDayDate = isBuyToDayDate;
+	}
+
+	public String getCommentSelf() {
+		return commentSelf;
+	}
+
+	public void setCommentSelf(String commentSelf) {
+		this.commentSelf = commentSelf;
+	}
+
+	public Date getCommentSelfDate() {
+		return commentSelfDate;
+	}
+
+	public void setCommentSelfDate(Date commentSelfDate) {
+		this.commentSelfDate = commentSelfDate;
+	}
+
+	public String getCommentManager() {
+		return commentManager;
+	}
+
+	public void setCommentManager(String commentManager) {
+		this.commentManager = commentManager;
+	}
+
+	public Date getCommentManagerDate() {
+		return commentManagerDate;
+	}
+
+	public void setCommentManagerDate(Date commentManagerDate) {
+		this.commentManagerDate = commentManagerDate;
+	}
+
+	public String getIsSelect() {
+		return isSelect;
+	}
+
+	public void setIsSelect(String isSelect) {
+		this.isSelect = isSelect;
+	}
+
+	public Date getSelectDate() {
+		return selectDate;
+	}
+
+	public void setSelectDate(Date selectDate) {
+		this.selectDate = selectDate;
+	}
+
+	public String getIsFillIn() {
+		return isFillIn;
+	}
+
+	public void setIsFillIn(String isFillIn) {
+		this.isFillIn = isFillIn;
+	}
+
+	public Date getFillInDate() {
+		return fillInDate;
+	}
+
+	public void setFillInDate(Date fillInDate) {
+		this.fillInDate = fillInDate;
+	}
+
+	public String getProTypeLabel() {
+		return proTypeLabel;
+	}
+
+	public void setProTypeLabel(String proTypeLabel) {
+		this.proTypeLabel = proTypeLabel;
+	}
+
+	public Double getBuyPrice() {
+		return buyPrice;
+	}
+
+	public void setBuyPrice(Double buyPrice) {
+		this.buyPrice = buyPrice;
+	}
+
+	public String getOrderNumber() {
+		return orderNumber;
+	}
+
+	public void setOrderNumber(String orderNumber) {
+		this.orderNumber = orderNumber;
+	}
+
+	public String getRoleSearch() {
+		return roleSearch;
+	}
+
+	public void setRoleSearch(String roleSearch) {
+		this.roleSearch = roleSearch;
+	}
+
+	public String[] getRoleArr() {
+		return roleArr;
+	}
+
+	public void setRoleArr(String[] roleArr) {
+		this.roleArr = roleArr;
+	}
+
+	public String[] getRoleSearchArr() {
+		return roleSearchArr;
+	}
+
+	public void setRoleSearchArr(String[] roleSearchArr) {
+		this.roleSearchArr = roleSearchArr;
+	}
+
+	public String getQuoteTimeBegin() {
+		return quoteTimeBegin;
+	}
+
+	public void setQuoteTimeBegin(String quoteTimeBegin) {
+		this.quoteTimeBegin = quoteTimeBegin;
+	}
+
+	public String getQuoteTimeEnd() {
+		return quoteTimeEnd;
+	}
+
+	public void setQuoteTimeEnd(String quoteTimeEnd) {
+		this.quoteTimeEnd = quoteTimeEnd;
+	}
+
+	public Double getAllData() {
+		return allData;
+	}
+
+	public void setAllData(Double allData) {
+		this.allData = allData;
+	}
+
+	public Double getAllNotBuy() {
+		return allNotBuy;
+	}
+
+	public void setAllNotBuy(Double allNotBuy) {
+		this.allNotBuy = allNotBuy;
+	}
+
+	public Double getAllBuy() {
+		return allBuy;
+	}
+
+	public void setAllBuy(Double allBuy) {
+		this.allBuy = allBuy;
+	}
+
+	public Double getTodayBuy() {
+		return todayBuy;
+	}
+
+	public void setTodayBuy(Double todayBuy) {
+		this.todayBuy = todayBuy;
+	}
+
+	public Double getNotTodayBuy() {
+		return notTodayBuy;
+	}
+
+	public void setNotTodayBuy(Double notTodayBuy) {
+		this.notTodayBuy = notTodayBuy;
+	}
+
+	public Double getAllBuyPrice() {
+		return allBuyPrice;
+	}
+
+	public void setAllBuyPrice(Double allBuyPrice) {
+		this.allBuyPrice = allBuyPrice;
+	}
+
+	public Double getTodayBuyPrice() {
+		return todayBuyPrice;
+	}
+
+	public void setTodayBuyPrice(Double todayBuyPrice) {
+		this.todayBuyPrice = todayBuyPrice;
+	}
+
+	public Double getNotTodayBuyPrice() {
+		return notTodayBuyPrice;
+	}
+
+	public void setNotTodayBuyPrice(Double notTodayBuyPrice) {
+		this.notTodayBuyPrice = notTodayBuyPrice;
+	}
+
+	public Double getAllBuyPercentage() {
+		return allBuyPercentage;
+	}
+
+	public void setAllBuyPercentage(Double allBuyPercentage) {
+		this.allBuyPercentage = allBuyPercentage;
+	}
+
+	public String getIsSelfShop() {
+		return isSelfShop;
+	}
+
+	public void setIsSelfShop(String isSelfShop) {
+		this.isSelfShop = isSelfShop;
+	}
+
+	public String getByProTypeLabel() {
+		return byProTypeLabel;
+	}
+
+	public void setByProTypeLabel(String byProTypeLabel) {
+		this.byProTypeLabel = byProTypeLabel;
+	}
+
+	private Integer id;
+
+	private String remark;
+
+	private String remarkJudge;
+
+	private String role;
+
+	private String username;
+
+	private String realname;
+
+	private String shopname;
+
+	private Double price;
+	
+	private Date quoteTime;
+
+	private String wangwang;
+
+	private String isBuy;
+
+	private Date buyDate;
+
+	private String isBuyToDay;
+
+	private Date isBuyToDayDate;
+
+	private String commentSelf;
+
+	private Date commentSelfDate;
+
+	private String commentManager;
+
+	private Date commentManagerDate;
+
+	private String isSelect;
+
+	private Date selectDate;
+
+	private String isFillIn;
+
+	private Date fillInDate;
+
+	private String proTypeLabel;
+
+	private Double buyPrice;
+	
+	private String orderNumber;
+	
+	/*================*/
+
+	// 根据角色(部门)查找数据
+	private String roleSearch;
+
+	// 用户所拥有的部门数组
+	private String[] roleArr;
+
+	private String[] roleSearchArr;
+
+	private String quoteTimeBegin;
+
+	private String quoteTimeEnd;
+
+	private Double allData;
+
+	private Double allNotBuy;
+
+	private Double allBuy;
+
+	private Double todayBuy;
+
+	private Double notTodayBuy;
+
+	private Double allBuyPrice;
+
+	private Double todayBuyPrice;
+
+	private Double notTodayBuyPrice;
+
+	private Double allBuyPercentage;
+
+	private String isSelfShop;
+	
+	private String byProTypeLabel;
+}

+ 135 - 0
src/main/java/lingtao/net/bean/QuoteLog.java

@@ -0,0 +1,135 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+/**
+ * 报价操作日志
+ * 
+ * @author Administrator
+ *
+ */
+@Data
+public class QuoteLog {
+
+	public Integer getQuoteId() {
+		return quoteId;
+	}
+
+	public void setQuoteId(Integer quoteId) {
+		this.quoteId = quoteId;
+	}
+
+	public Date getQuoteTime() {
+		return quoteTime;
+	}
+
+	public void setQuoteTime(Date quoteTime) {
+		this.quoteTime = quoteTime;
+	}
+
+	public String getQuoteIp() {
+		return quoteIp;
+	}
+
+	public void setQuoteIp(String quoteIp) {
+		this.quoteIp = quoteIp;
+	}
+
+	public String getOs() {
+		return os;
+	}
+
+	public void setOs(String os) {
+		this.os = os;
+	}
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public String getRealname() {
+		return realname;
+	}
+
+	public void setRealname(String realname) {
+		this.realname = realname;
+	}
+
+	public String getBrower() {
+		return brower;
+	}
+
+	public void setBrower(String brower) {
+		this.brower = brower;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getShopname() {
+		return Shopname;
+	}
+
+	public void setShopname(String shopname) {
+		Shopname = shopname;
+	}
+
+	public Double getPrice() {
+		return price;
+	}
+
+	public void setPrice(Double price) {
+		this.price = price;
+	}
+
+	public String getQuoteTimeBegin() {
+		return quoteTimeBegin;
+	}
+
+	public void setQuoteTimeBegin(String quoteTimeBegin) {
+		this.quoteTimeBegin = quoteTimeBegin;
+	}
+
+	public String getQuoteTimeEnd() {
+		return quoteTimeEnd;
+	}
+
+	public void setQuoteTimeEnd(String quoteTimeEnd) {
+		this.quoteTimeEnd = quoteTimeEnd;
+	}
+
+	private Integer quoteId;
+
+	private Date quoteTime;
+
+	private String quoteIp;
+
+	private String os;
+
+	private String username;
+
+	private String realname;
+
+	private String brower;
+
+	private String remark;
+
+	private String Shopname;
+	
+	private Double price;
+
+	private String quoteTimeBegin;
+
+	private String quoteTimeEnd;
+}

+ 161 - 0
src/main/java/lingtao/net/bean/SysDictProduct.java

@@ -0,0 +1,161 @@
+package lingtao.net.bean;
+
+import lombok.Data;
+
+@Data
+public class SysDictProduct {
+
+	public Integer getProId() {
+		return proId;
+	}
+
+	public void setProId(Integer proId) {
+		this.proId = proId;
+	}
+
+	public String getKindValue() {
+		return kindValue;
+	}
+
+	public void setKindValue(String kindValue) {
+		this.kindValue = kindValue;
+	}
+
+	public String getKindLabel() {
+		return kindLabel;
+	}
+
+	public void setKindLabel(String kindLabel) {
+		this.kindLabel = kindLabel;
+	}
+
+	public String getKind2Value() {
+		return kind2Value;
+	}
+
+	public void setKind2Value(String kind2Value) {
+		this.kind2Value = kind2Value;
+	}
+
+	public String getKind2Label() {
+		return kind2Label;
+	}
+
+	public void setKind2Label(String kind2Label) {
+		this.kind2Label = kind2Label;
+	}
+
+	public Double getKindPrice() {
+		return kindPrice;
+	}
+
+	public void setKindPrice(Double kindPrice) {
+		this.kindPrice = kindPrice;
+	}
+
+	public Double getDiscountPrice() {
+		return discountPrice;
+	}
+
+	public void setDiscountPrice(Double discountPrice) {
+		this.discountPrice = discountPrice;
+	}
+
+	public Double getFloorPrice() {
+		return floorPrice;
+	}
+
+	public void setFloorPrice(Double floorPrice) {
+		this.floorPrice = floorPrice;
+	}
+
+	public Double getWeight() {
+		return weight;
+	}
+
+	public void setWeight(Double weight) {
+		this.weight = weight;
+	}
+
+	public String getProTypeValue() {
+		return proTypeValue;
+	}
+
+	public void setProTypeValue(String proTypeValue) {
+		this.proTypeValue = proTypeValue;
+	}
+
+	public String getProTypeLabel() {
+		return proTypeLabel;
+	}
+
+	public void setProTypeLabel(String proTypeLabel) {
+		this.proTypeLabel = proTypeLabel;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	/**
+	 * 
+	 */
+	private Integer proId;
+
+	/**
+	 * 值
+	 */
+	private String kindValue;
+
+	/**
+	 * 种类名称
+	 */
+	private String kindLabel;
+	/**
+	 * 值
+	 */
+	private String kind2Value;
+
+	/**
+	 * 种类名称
+	 */
+	private String kind2Label;
+	/**
+	 * 报价单价
+	 */
+	private Double kindPrice;
+
+	/**
+	 * 打折报价
+	 */
+	private Double discountPrice;
+
+	/**
+	 * 跳楼价报价
+	 */
+	private Double floorPrice;
+
+	/**
+	 * 重量
+	 */
+	private Double weight;
+
+	/**
+	 * 名称
+	 */
+	private String proTypeValue;
+
+	/**
+	 * 产品类型
+	 */
+	private String proTypeLabel;
+
+	/**
+	 * 说明
+	 */
+	private String remark;
+}

+ 106 - 0
src/main/java/lingtao/net/bean/SysDictSearchPro.java

@@ -0,0 +1,106 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+@Data
+public class SysDictSearchPro {
+	public Integer getId() {
+		return id;
+	}
+	public void setId(Integer id) {
+		this.id = id;
+	}
+	public String getProTypeLabel() {
+		return proTypeLabel;
+	}
+	public void setProTypeLabel(String proTypeLabel) {
+		this.proTypeLabel = proTypeLabel;
+	}
+	public String getLikeProTypeLabel() {
+		return likeProTypeLabel;
+	}
+	public void setLikeProTypeLabel(String likeProTypeLabel) {
+		this.likeProTypeLabel = likeProTypeLabel;
+	}
+	public String getStatus() {
+		return status;
+	}
+	public void setStatus(String status) {
+		this.status = status;
+	}
+	public String getUrl() {
+		return url;
+	}
+	public void setUrl(String url) {
+		this.url = url;
+	}
+	public String getCreator() {
+		return creator;
+	}
+	public void setCreator(String creator) {
+		this.creator = creator;
+	}
+	public Date getCreateDate() {
+		return createDate;
+	}
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+	public String getUpdater() {
+		return updater;
+	}
+	public void setUpdater(String updater) {
+		this.updater = updater;
+	}
+	public Date getUpdateDate() {
+		return updateDate;
+	}
+	public void setUpdateDate(Date updateDate) {
+		this.updateDate = updateDate;
+	}
+	/**
+	*
+	*/
+	private Integer id;
+
+	/**
+	 * 产品名称
+	 */
+	private String proTypeLabel;
+
+	/**
+	 * 产品名称
+	 */
+	private String likeProTypeLabel;
+
+	/**
+	 * 产品名称
+	 */
+	private String status;
+
+	/**
+	 * 图片地址
+	 */
+	private String url;
+
+	/**
+	 * 创建者
+	 */
+	private String creator;
+
+	/**
+	 * 创建时间
+	 */
+	private Date createDate;
+
+	/**
+	 * 更新者
+	 */
+	private String updater;
+	/**
+	 * 创建时间
+	 */
+	private Date updateDate;
+}

+ 145 - 0
src/main/java/lingtao/net/bean/SysPermission.java

@@ -0,0 +1,145 @@
+package lingtao.net.bean;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+import lombok.Data;
+
+@Data
+public class SysPermission implements Serializable {
+	private static final long serialVersionUID = 1L;
+	private Integer perId;
+	private String perName;
+	private String url;
+	private String type;
+	private String perCode;
+	private String perIcon;
+	private Integer parentId;
+	public Integer getPerId() {
+		return perId;
+	}
+
+	public void setPerId(Integer perId) {
+		this.perId = perId;
+	}
+
+	public String getPerName() {
+		return perName;
+	}
+
+	public void setPerName(String perName) {
+		this.perName = perName;
+	}
+
+	public String getUrl() {
+		return url;
+	}
+
+	public void setUrl(String url) {
+		this.url = url;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public String getPerCode() {
+		return perCode;
+	}
+
+	public void setPerCode(String perCode) {
+		this.perCode = perCode;
+	}
+
+	public String getPerIcon() {
+		return perIcon;
+	}
+
+	public void setPerIcon(String perIcon) {
+		this.perIcon = perIcon;
+	}
+
+	public Integer getParentId() {
+		return parentId;
+	}
+
+	public void setParentId(Integer parentId) {
+		this.parentId = parentId;
+	}
+
+	public String getOrderNo() {
+		return orderNo;
+	}
+
+	public void setOrderNo(String orderNo) {
+		this.orderNo = orderNo;
+	}
+
+	public String getThirdOrderName() {
+		return thirdOrderName;
+	}
+
+	public void setThirdOrderName(String thirdOrderName) {
+		this.thirdOrderName = thirdOrderName;
+	}
+
+	public Integer getThirdParentId() {
+		return thirdParentId;
+	}
+
+	public void setThirdParentId(Integer thirdParentId) {
+		this.thirdParentId = thirdParentId;
+	}
+
+	public String getCreateBy() {
+		return createBy;
+	}
+
+	public void setCreateBy(String createBy) {
+		this.createBy = createBy;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public boolean isOpen() {
+		return open;
+	}
+
+	public void setOpen(boolean open) {
+		this.open = open;
+	}
+
+	public List<SysPermission> getChildren() {
+		return children;
+	}
+
+	public void setChildren(List<SysPermission> children) {
+		this.children = children;
+	}
+
+	public static long getSerialversionuid() {
+		return serialVersionUID;
+	}
+
+	private String orderNo;
+	private String thirdOrderName;
+	private Integer thirdParentId;
+	private String createBy;
+	private Date createDate;
+
+	private boolean open = true;
+
+	private List<SysPermission> children; // 子权限集合
+
+}

+ 95 - 0
src/main/java/lingtao/net/bean/SysRole.java

@@ -0,0 +1,95 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+/**
+ * 角色
+ * 
+ * @author Administrator
+ *
+ */
+@Data
+public class SysRole {
+	private Integer roleId;
+
+	private String roleName;
+
+	private String isRegist;
+
+	private String remark;
+
+	public Integer getRoleId() {
+		return roleId;
+	}
+
+	public void setRoleId(Integer roleId) {
+		this.roleId = roleId;
+	}
+
+	public String getRoleName() {
+		return roleName;
+	}
+
+	public void setRoleName(String roleName) {
+		this.roleName = roleName;
+	}
+
+	public String getIsRegist() {
+		return isRegist;
+	}
+
+	public void setIsRegist(String isRegist) {
+		this.isRegist = isRegist;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getCreateBy() {
+		return createBy;
+	}
+
+	public void setCreateBy(String createBy) {
+		this.createBy = createBy;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public String getUpdateBy() {
+		return updateBy;
+	}
+
+	public void setUpdateBy(String updateBy) {
+		this.updateBy = updateBy;
+	}
+
+	public Date getUpdateDate() {
+		return updateDate;
+	}
+
+	public void setUpdateDate(Date updateDate) {
+		this.updateDate = updateDate;
+	}
+
+	private String createBy;
+
+	private Date createDate;
+
+	private String updateBy;
+
+	private Date updateDate;
+
+}

+ 208 - 0
src/main/java/lingtao/net/bean/SysUser.java

@@ -0,0 +1,208 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+/**
+ * 用户
+ * 
+ * @author Administrator
+ *
+ */
+@Data
+public class SysUser {
+	private Integer userId;
+
+	public Integer getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Integer userId) {
+		this.userId = userId;
+	}
+
+	public String getRealname() {
+		return realname;
+	}
+
+	public void setRealname(String realname) {
+		this.realname = realname;
+	}
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public String getPassword() {
+		return password;
+	}
+
+	public void setPassword(String password) {
+		this.password = password;
+	}
+
+	public String getUserStatus() {
+		return userStatus;
+	}
+
+	public void setUserStatus(String userStatus) {
+		this.userStatus = userStatus;
+	}
+
+	public String getRole() {
+		return role;
+	}
+
+	public void setRole(String role) {
+		this.role = role;
+	}
+
+	public String getSysStatus() {
+		return sysStatus;
+	}
+
+	public void setSysStatus(String sysStatus) {
+		this.sysStatus = sysStatus;
+	}
+
+	public String getReadLogStatus() {
+		return readLogStatus;
+	}
+
+	public void setReadLogStatus(String readLogStatus) {
+		this.readLogStatus = readLogStatus;
+	}
+
+	public String getCreateBy() {
+		return createBy;
+	}
+
+	public void setCreateBy(String createBy) {
+		this.createBy = createBy;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public String getUpdateBy() {
+		return updateBy;
+	}
+
+	public void setUpdateBy(String updateBy) {
+		this.updateBy = updateBy;
+	}
+
+	public Date getUpdateDate() {
+		return updateDate;
+	}
+
+	public void setUpdateDate(Date updateDate) {
+		this.updateDate = updateDate;
+	}
+
+	public String getBirthDay() {
+		return birthDay;
+	}
+
+	public void setBirthDay(String birthDay) {
+		this.birthDay = birthDay;
+	}
+
+	public String getBirthType() {
+		return birthType;
+	}
+
+	public void setBirthType(String birthType) {
+		this.birthType = birthType;
+	}
+
+	public Integer getIsBirthDay() {
+		return isBirthDay;
+	}
+
+	public void setIsBirthDay(Integer isBirthDay) {
+		this.isBirthDay = isBirthDay;
+	}
+
+	public String getEntryDate() {
+		return entryDate;
+	}
+
+	public void setEntryDate(String entryDate) {
+		this.entryDate = entryDate;
+	}
+
+	public String getNeedIp() {
+		return needIp;
+	}
+
+	public void setNeedIp(String needIp) {
+		this.needIp = needIp;
+	}
+
+	public String getRoleSearch() {
+		return roleSearch;
+	}
+
+	public void setRoleSearch(String roleSearch) {
+		this.roleSearch = roleSearch;
+	}
+
+	public String[] getRoleArr() {
+		return roleArr;
+	}
+
+	public void setRoleArr(String[] roleArr) {
+		this.roleArr = roleArr;
+	}
+
+	private String realname;
+
+	private String username;
+
+	private String password;
+
+	private String userStatus;
+
+	private String role;
+
+	private String sysStatus;
+
+	private String readLogStatus;
+
+	private String createBy;
+
+	private Date createDate;
+
+	private String updateBy;
+
+	private Date updateDate;
+
+	private String birthDay;
+
+	private String birthType;
+
+	private Integer isBirthDay;
+
+	private String entryDate;
+
+	// 是否需要判断IP 0:否 1:是
+	private String needIp;
+
+	// 根据角色查找用户
+	private String roleSearch;
+
+	// 用户所拥有角色数组
+	private String[] roleArr;
+
+}

+ 97 - 0
src/main/java/lingtao/net/bean/UpdateLog.java

@@ -0,0 +1,97 @@
+package lingtao.net.bean;
+
+import java.util.Date;
+
+import lombok.Data;
+
+/**
+ * 更新日志
+ * 
+ * @author Administrator
+ *
+ */
+@Data
+public class UpdateLog {
+
+	private Integer id;
+
+	private String content;
+
+	private Date addTime;
+
+	private String createBy;
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getContent() {
+		return content;
+	}
+
+	public void setContent(String content) {
+		this.content = content;
+	}
+
+	public Date getAddTime() {
+		return addTime;
+	}
+
+	public void setAddTime(Date addTime) {
+		this.addTime = addTime;
+	}
+
+	public String getCreateBy() {
+		return createBy;
+	}
+
+	public void setCreateBy(String createBy) {
+		this.createBy = createBy;
+	}
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	public String getAddTimeStr() {
+		return addTimeStr;
+	}
+
+	public void setAddTimeStr(String addTimeStr) {
+		this.addTimeStr = addTimeStr;
+	}
+
+	public String getAdd_time_begin() {
+		return add_time_begin;
+	}
+
+	public void setAdd_time_begin(String add_time_begin) {
+		this.add_time_begin = add_time_begin;
+	}
+
+	public String getAdd_time_end() {
+		return add_time_end;
+	}
+
+	public void setAdd_time_end(String add_time_end) {
+		this.add_time_end = add_time_end;
+	}
+
+	private Date createDate;
+
+	/* ================= */
+
+	private String addTimeStr;
+
+	private String add_time_begin;
+
+	private String add_time_end;
+}

+ 21 - 0
src/main/java/lingtao/net/config/ResourceServerConfig.java

@@ -0,0 +1,21 @@
+package lingtao.net.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+
+@Configuration
+public abstract class ResourceServerConfig implements WebMvcConfigurer {
+
+	private String localPrefix = "abc";
+
+	private String localPath = "F:\\java_project\\bj\\upload";
+
+	@Override
+	public void addResourceHandlers(ResourceHandlerRegistry registry) {
+		registry.addResourceHandler("/" + localPrefix + "/**")
+				.addResourceLocations("file:" + localPath);
+	}
+
+}

+ 197 - 0
src/main/java/lingtao/net/controller/AcountController.java

@@ -0,0 +1,197 @@
+package lingtao.net.controller;
+
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysRole;
+import lingtao.net.bean.SysUser;
+import lingtao.net.dao.SysUserMapper;
+import lingtao.net.service.SysRoleService;
+import lingtao.net.service.SysUserService;
+import lingtao.net.util.MD5Util;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authc.*;
+import org.apache.shiro.subject.Subject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 用户登录注册、退出
+ *
+ * @author Administrator
+ */
+@Controller
+@RequestMapping("/SysUser")
+public class AcountController {
+
+    @Autowired
+    private SysUserService sysUserService;
+
+    @Autowired
+    private SysRoleService sysRoleService;
+
+    @Autowired
+    private SysUserMapper userMapper;
+
+    /**
+     * 获取客户端IP
+     *
+     * @param request 请求对象
+     * @return IP地址
+     */
+    public static String getIpAddr(HttpServletRequest request) {
+        if (request == null) {
+            return "unknown";
+        }
+        String ip = request.getHeader("x-forwarded-for");
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("Proxy-Client-IP");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("X-Forwarded-For");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("WL-Proxy-Client-IP");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("X-Real-IP");
+        }
+
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getRemoteAddr();
+        }
+
+        return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : getMultistageReverseProxyIp(ip);
+    }
+
+    /**
+     * 从多级反向代理中获得第一个非unknown IP地址
+     *
+     * @param ip 获得的IP地址
+     * @return 第一个非unknown IP地址
+     */
+    public static String getMultistageReverseProxyIp(String ip) {
+        // 多级反向代理检测
+        if (ip != null && ip.indexOf(",") > 0) {
+            final String[] ips = ip.trim().split(",");
+            for (String subIp : ips) {
+                if (false == isUnknown(subIp)) {
+                    ip = subIp;
+                    break;
+                }
+            }
+        }
+        return StringUtils.substring(ip, 0, 255);
+    }
+
+    /**
+     * 检测给定字符串是否为未知,多用于检测HTTP请求相关
+     *
+     * @param checkString 被检测的字符串
+     * @return 是否未知
+     */
+    public static boolean isUnknown(String checkString) {
+        return StringUtils.isBlank(checkString) || "unknown".equalsIgnoreCase(checkString);
+    }
+
+    /**
+     * 登陆
+     */
+    @RequestMapping(value = "/login", method = RequestMethod.POST)
+    public ModelAndView login(@RequestParam("username") String username, @RequestParam("password") String password,
+                              HttpServletRequest request, HttpServletResponse response) throws Exception {
+        password = new MD5Util().md5(password, "lingtao");
+        // 使用 shiro 登录验证
+        // 1 认证的核心组件:获取 Subject 对象
+        Subject subject = SecurityUtils.getSubject();
+        // 2 将登陆表单封装成 token 对象
+        UsernamePasswordToken token = new UsernamePasswordToken(username, password);
+        token.setHost(getIpAddr(request));
+        try {
+            // 3 让 shiro 框架进行登录验证:传递token给shiro的reaml
+            subject.login(token);
+            // return "redirect:/views/main.jsp";
+            // 此处并没有跳转页面-前端根据状态码跳转对应页面
+            return new ModelAndView("redirect:/views/main.jsp");
+        } catch (UnknownAccountException uae) {
+            // 状态码 200--成功 100--失败 300禁用
+            response.getWriter().print("100");
+            throw new UnknownAccountException("账户或密码有误!");
+        } catch (IncorrectCredentialsException ice) {
+            response.getWriter().print("100");
+            throw new IncorrectCredentialsException("账户或密码有误!");
+        } catch (LockedAccountException lae) {
+            response.getWriter().print("300");
+            throw new LockedAccountException("用户未激活!!!");
+        } catch (AuthenticationException re) {
+            response.getWriter().print("404");
+            throw new AuthenticationException("未知IP!!!");
+        }
+        /* catch (RuntimeException re) { response.getWriter().print("400"); throw new
+         * RuntimeException("用户已登录!!!"); }
+         */
+
+    }
+
+    /**
+     * 注册
+     */
+    @RequestMapping("/register")
+    @ResponseBody
+    public Msg register(SysUser user) {
+        SysUser username = userMapper.getUserByUsername(user.getUsername());
+        if (username != null) {
+            return Msg.fail("用户名已存在!");
+        }
+        return sysUserService.register(user);
+    }
+
+    /**
+     * 注销
+     */
+    @RequestMapping("/logout")
+    public String logout() {
+        Subject subject = SecurityUtils.getSubject();
+        subject.logout();
+        return "redirect:/login.jsp";
+    }
+
+    /**
+     * 获取可以被注册的角色名称
+     *
+     * @return
+     */
+    @RequestMapping("/getRoleName")
+    @ResponseBody
+    public Map<Number, String> roleNameList(@RequestParam(value = "isRegist") String isRegist) {
+        Map<Number, String> map = new HashMap<Number, String>();
+        List<SysRole> allRoleNames = sysRoleService.getAllRoleName(isRegist);
+
+        for (SysRole sysRole : allRoleNames) {
+            map.put(sysRole.getRoleId(), sysRole.getRoleName());
+        }
+
+        return map;
+    }
+
+    @ResponseBody
+    @RequestMapping("/getIp")
+    public Msg getIp(HttpServletRequest request) {
+        String ip = getIpAddr(request);
+//		String ip = "120.38.127.157";
+        if (ip != null) {
+            return Msg.success().add("ip", ip);
+        }
+        return Msg.fail();
+    }
+}

+ 137 - 0
src/main/java/lingtao/net/controller/ArticleController.java

@@ -0,0 +1,137 @@
+package lingtao.net.controller;
+
+import java.io.File;
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Article;
+import lingtao.net.bean.Msg;
+import lingtao.net.service.ArticleService;
+
+@Controller
+public class ArticleController {
+
+	@Autowired
+	private ArticleService articleService;
+
+	/**
+	 * 获取所有的文章
+	 * 
+	 * @param article
+	 * @return
+	 */
+	@RequestMapping("/getArticle")
+	@ResponseBody
+	public Msg articleList(Article article) {
+		PageHelper.startPage(1, 10);
+		List<Article> articles = articleService.getArticle(article);
+		PageInfo<Article> pageInfo = new PageInfo<Article>(articles);
+		return Msg.success().add("articles", pageInfo);
+	}
+
+	/**
+	 * 新增文章
+	 */
+	@RequestMapping("/addArticle")
+	@ResponseBody
+	public Msg addArticle(Article article) {
+		return articleService.addArticle(article);
+	}
+
+	/**
+	 * 文章中的图片
+	 */
+	@RequestMapping(value = "/uploadconimage", method = RequestMethod.POST)
+	@ResponseBody
+	public Map<String, Object> uploadconimage(HttpServletRequest request, @RequestParam MultipartFile file) {
+		Map<String, Object> mv = new HashMap<String, Object>();
+		Map<String, String> mvv = new HashMap<String, String>();
+		try {
+			String rootPath = request.getSession().getServletContext().getRealPath("/image/");
+			String contextPath = request.getContextPath();
+			System.err.println(contextPath);
+			System.out.println(rootPath);
+			Calendar date = Calendar.getInstance(); // Calendar.getInstance()是获取一个Calendar对象并可以进行时间的计算,时区的指定
+			String originalFile = file.getOriginalFilename(); // 获得文件最初的路径
+			String uuid = UUID.randomUUID().toString(); // UUID转化为String对象
+			String newfilename = date.get(Calendar.YEAR) + "" + (date.get(Calendar.MONTH) + 1) + ""
+					+ date.get(Calendar.DATE) + uuid.replace("-", "") + originalFile;
+			// 得到完整路径名
+			File newFile = new File(rootPath + newfilename);
+			/* 文件不存在就创建 */
+			if (!newFile.getParentFile().exists()) {
+				newFile.getParentFile().mkdirs();
+			}
+			String filename = originalFile.substring(0, originalFile.indexOf("."));
+			System.out.println(originalFile);
+			System.out.println(filename);
+			file.transferTo(newFile);
+			System.out.println("newFile : " + newFile);
+			String urlpat = contextPath + "/image/" + newfilename;
+			mvv.put("src", urlpat);
+			mvv.put("title", newfilename);
+			mv.put("code", 0);
+			mv.put("msg", "上传成功");
+			mv.put("data", mvv);
+			return mv;
+		} catch (Exception e) {
+			e.printStackTrace();
+			mv.put("success", 1);
+			return mv;
+		}
+	}
+
+	// 用户跳转页面
+	@RequestMapping("/toUpdateArticle")
+	public String index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		 return "updateArticle";
+		//response.sendRedirect(request.getContextPath() + "/views/updateArticle.jsp");
+	}
+
+	/**
+	 * 修改文章
+	 * 
+	 */
+	@RequestMapping("/updateArticle")
+	@ResponseBody
+	public Msg updateArticle(Article article) {
+		return articleService.updateArticleById(article);
+	}
+
+	/**
+	 * 文章详情
+	 * 
+	 */
+	@RequestMapping("/articleInfo")
+	@ResponseBody
+	public Msg articleInfo(@RequestParam("id") Integer id) {
+		Article article = articleService.articleInfo(id);
+		return Msg.success().add("article", article);
+	}
+
+	/**
+	 * 删除文章
+	 */
+	@RequestMapping("/deleteArticle")
+	@ResponseBody
+	public Msg delArticle(@RequestParam("id") Integer id) {
+		return articleService.delArticleById(id);
+	}
+}

+ 105 - 0
src/main/java/lingtao/net/controller/BugController.java

@@ -0,0 +1,105 @@
+package lingtao.net.controller;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.util.Date;
+import java.util.List;
+
+import javax.management.RuntimeErrorException;
+import javax.servlet.http.HttpSession;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.http.client.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Bug;
+import lingtao.net.bean.Msg;
+import lingtao.net.service.BugService;
+
+@RestController
+public class BugController {
+
+	@Autowired
+	private BugService bugService;
+
+	private String localPrefix = "abc\\bug";
+
+	private String localPath = "C:\\lingtao\\quote_price\\upload";
+
+	//private String localDomain = "http://47.114.150.226:8080/erp";
+
+	/**
+	 * bug列表
+	 * 
+	 * @param page
+	 * @param limit
+	 * @return
+	 */
+	@RequestMapping("/getBugs")
+	public PageInfo<Bug> getBugs(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, Bug bug) {
+		PageHelper.startPage(page, limit);
+		List<Bug> bugList = bugService.getBugs(bug);
+		PageInfo<Bug> pageInfo = new PageInfo<Bug>(bugList);
+		return pageInfo;
+	}
+
+	/**
+	 * 添加角色
+	 */
+	@RequestMapping("/addBug")
+	public Msg addBug(Bug bug, HttpSession session) {
+		return bugService.addBug(bug, session);
+	}
+
+	// 图片上传及新增
+	@RequestMapping("/bugUpload")
+	public Msg upload(@RequestParam("file") MultipartFile file) throws Exception {
+		if (file.isEmpty()) {
+			return Msg.fail("文件不能为空");
+		}
+		// 获取文件名后缀
+		String extension = FilenameUtils.getExtension(file.getOriginalFilename());
+		// 获取path
+		String path = getPath(extension, FilenameUtils.getBaseName(file.getOriginalFilename()));
+		// 保存文件信息
+		File newFile = new File(localPath + File.separator + path);
+		try {
+			FileUtils.copyInputStreamToFile(new ByteArrayInputStream(file.getBytes()), newFile);
+		} catch (IOException e) {
+			throw new RuntimeErrorException(null, "");
+		}
+		return Msg.success();
+	}
+
+	/**
+	 *
+	 * @param prefixSelf 根据上传的接口存入自己的文件夹
+	 * @param suffix     文件的后缀
+	 * @param fileName   文件名
+	 * @return
+	 */
+	public String getPath(String suffix, String fileName) {
+
+		// 生成uuid
+		// String uuid = UUID.randomUUID().toString().replaceAll("-", "");
+		String path = null;
+
+		// 文件路径
+		path = DateUtils.formatDate(new Date(), "yyyyMMdd") + File.separator + fileName;
+
+		path = localPrefix + File.separator + File.separator + path;
+
+		return path + "." + suffix;
+	}
+
+}

+ 109 - 0
src/main/java/lingtao/net/controller/CustomerAwardController.java

@@ -0,0 +1,109 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.CustomerAward;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.CustomerAwardService;
+import lingtao.net.util.PublicMethods;
+
+@Controller
+public class CustomerAwardController {
+
+	@Autowired
+	private CustomerAwardService customerAwardService;
+
+	// 用户跳转页面
+	@RequestMapping("/customerAward/index")
+	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		response.sendRedirect(request.getContextPath() + "/views/system/customerAward/customerAward.jsp");
+	}
+
+	/**
+	 * 根据条件查询数据
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/getCustomerAward")
+	public PageInfo<CustomerAward> getCustomerAward(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, CustomerAward customerAward) {
+		PageHelper.startPage(page, limit);
+		List<CustomerAward> customerAwardList = customerAwardService.getCustomerAward(customerAward);
+		PageInfo<CustomerAward> pageInfo = new PageInfo<CustomerAward>(customerAwardList);
+		return pageInfo;
+	}
+
+	/**
+	 * 批量删除
+	 * 
+	 * @param ids
+	 */
+	@ResponseBody
+	@RequestMapping("/deleteDatas")
+	public Msg deleteBatch(@RequestParam(value = "ids") String ids, @RequestParam(value = "creators") String creators) {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		String[] arrCreators = creators.split(",");
+		boolean selfFlag = true;
+		for (String creator : arrCreators) {
+			if (!user.getRealname().equals(creator)) {
+				selfFlag = false;
+				break;
+			}
+		}
+		// 超管身份
+		boolean flag = new PublicMethods().isSuper();
+		// 不是超管
+		if (!flag) {
+			// 判断是不是自己上传的数据
+			if (!selfFlag) {
+				return Msg.fail("禁止删除其他人数据!");
+			}
+		}
+		String[] arrIds = ids.split(",");
+		// String数组转为Integer数组
+		int[] ints = new int[arrIds.length];
+		for (int i = 0; i < arrIds.length; i++) {
+			ints[i] = Integer.parseInt(arrIds[i]);
+		}
+		return customerAwardService.deleteBatch(ints);
+	}
+
+	/**
+	 * 
+	 * 文件上传
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/ajaxUpload_customerAward")
+	public Msg uploadExcel(@RequestParam("file") MultipartFile file) throws Exception {
+		synchronized (this) {
+			return customerAwardService.ajaxUploadExcel(file);
+		}
+	}
+
+	/**
+	 * 获取上传过的店铺
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/getArardShopname")
+	public List<String> getArardShopname() {
+		List<String> FilenameList = customerAwardService.getArardShopname();
+		return FilenameList;
+	}
+}

+ 129 - 0
src/main/java/lingtao/net/controller/CustomerDataControlle.java

@@ -0,0 +1,129 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.CustomerData;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.CustomerDataService;
+
+@RestController
+public class CustomerDataControlle {
+
+	@Autowired
+	private CustomerDataService customerDataService;
+
+	@RequestMapping("/getCustomerDatas")
+	public Msg getCustomerDatas(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, CustomerData customerData) {
+		PageHelper.startPage(page, limit);
+		List<CustomerData> customerDatalist = customerDataService.getCustomerDatas(customerData);
+		PageInfo<CustomerData> pageInfo = new PageInfo<CustomerData>(customerDatalist);
+		return Msg.success().add("list", pageInfo);
+	}
+
+	/**
+	 * 添加数据
+	 * 
+	 * @throws Exception
+	 */
+	@RequestMapping("/addCustomerData")
+	public Msg addCustomerData(CustomerData customerData) throws Exception {
+		// 把字符串转为日期格式
+		customerDataService.addCustomerData(customerData);
+		return Msg.success();
+	}
+
+	/**
+	 * 修改数据
+	 */
+	@RequestMapping("/updateCustomerData")
+	public Msg updateCustomerData(CustomerData customerData) {
+		customerDataService.updateCustomerDataById(customerData);
+		return Msg.success();
+	}
+
+	/**
+	 * 删除数据
+	 */
+	@RequestMapping("/deleteCustomerData")
+	public Msg deleteCustomerData(@RequestParam("id") Integer id) {
+		customerDataService.deleteCustomerDataById(id);
+		return Msg.success();
+	}
+
+	/**
+	 * 店长修改说明数据
+	 * 
+	 * @param customerData
+	 */
+	@RequestMapping("/updateRemarkById")
+	public Msg updateRemarkById(@RequestParam(value = "id") int id, @RequestParam(value = "field") String field,
+			@RequestParam(value = "value") String value) {
+		// 超管、组长身份才允许修改comment
+		boolean flag = isSuperOrManager();
+		if (!flag) {
+			return Msg.fail();
+		}
+		customerDataService.updateRemarkById(id, field, value);
+		return Msg.success();
+	}
+
+	/**
+	 * 修改完成状态
+	 * 
+	 * @param id
+	 * @return
+	 */
+	@RequestMapping("/changeIsBuy")
+	public Msg changeIsBuy(@RequestParam(value = "id") Integer id, @RequestParam(value = "username") String username) {
+		// 超管、组长身份才允许修改【成交状态】
+		boolean flag = isSuperOrManager();
+		if (!flag) {
+			return Msg.fail();
+		}
+		return customerDataService.changeIsBuy(id);
+		// 只有自己创建的数据才能更改【完成状态】
+		/*
+		 * if (username.equals(user.getUsername())) { }
+		 */
+		// return Msg.fail();
+	}
+
+	// 是否有超管或者组长身份
+	public boolean isSuperOrManager() {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		String role = user.getRole();
+		boolean flag = false;
+		if (role.contains(",")) {
+			String[] split = role.split(",");
+			for (int i = 0; i < split.length; i++) {
+				if ("1011".equals(split[i]) || "1".equals(split[i])) {
+					flag = true;
+					break;
+				}
+			}
+		} else {
+			if ("1011".equals(role) || "1".equals(role)) {
+				flag = true;
+			}
+		}
+		return flag;
+	}
+
+	// 获取摘要
+	@RequestMapping("/getProductExplain")
+	public List<String> getProductExplain(@RequestParam("productExplain") String productExplain) {
+		List<String> name = customerDataService.getProductExplain(productExplain);
+		return name;
+	}
+}

+ 243 - 0
src/main/java/lingtao/net/controller/CustomerTrainController.java

@@ -0,0 +1,243 @@
+package lingtao.net.controller;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.management.RuntimeErrorException;
+import javax.servlet.http.HttpSession;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.http.client.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.CustomerTrainContent;
+import lingtao.net.bean.CustomerTrainKindLabel;
+import lingtao.net.bean.CustomerTrainProType;
+import lingtao.net.bean.Msg;
+import lingtao.net.service.CustomerTrainService;
+
+@RestController
+public class CustomerTrainController {
+
+	@Autowired
+	private CustomerTrainService customerTrainService;
+
+	private String localPrefix = "abc\\train";
+
+	private String localPath = "C:\\lingtao\\upload";
+
+	private String localDomain = "http://47.114.150.226:80/erp";
+
+	// 图片上传及新增
+	@RequestMapping("/imgUpload")
+	public Object upload(@RequestParam("file") MultipartFile file) throws Exception {
+		if (file.isEmpty()) {
+			return Msg.fail("文件不能为空");
+		}
+		// 获取文件名后缀
+		String extension = FilenameUtils.getExtension(file.getOriginalFilename());
+		// 获取path
+		String path = getPath(extension, FilenameUtils.getBaseName(file.getOriginalFilename()));
+		// 保存文件信息
+		File newFile = new File(localPath + File.separator + path);
+		try {
+			FileUtils.copyInputStreamToFile(new ByteArrayInputStream(file.getBytes()), newFile);
+		} catch (IOException e) {
+			throw new RuntimeErrorException(null, "");
+		}
+		String serverPath = localDomain + "/" + path;
+		Map<String, Object> map = new HashMap<String, Object>();
+		Map<String, Object> map2 = new HashMap<String, Object>();
+		map.put("code", 0); // 0表示上传成功
+		map.put("msg", "上传成功"); // 提示消息
+		// src返回图片上传成功后的下载路径,这里直接给绝对路径
+		map2.put("src", serverPath);
+		map.put("data", map2);
+		return map;
+	}
+
+	/**
+	 *
+	 * @param prefixSelf 根据上传的接口存入自己的文件夹
+	 * @param suffix     文件的后缀
+	 * @param fileName   文件名
+	 * @return
+	 */
+	public String getPath(String suffix, String fileName) {
+
+		// 生成uuid
+		// String uuid = UUID.randomUUID().toString().replaceAll("-", "");
+		String path = null;
+
+		// 文件路径
+		path = DateUtils.formatDate(new Date(), "yyyyMMdd") + File.separator + fileName;
+
+		path = localPrefix + File.separator + File.separator + path;
+
+		return path + "." + suffix;
+	}
+
+	/* =============产品知识内容================ */
+	/**
+	 * 查询
+	 * 
+	 * @param page
+	 * @param limit
+	 * @param customerTrainContent
+	 * @return
+	 */
+	@RequestMapping("/getCustomerTrainContents")
+	public PageInfo<CustomerTrainContent> getCustomerTrainContents(
+			@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit,
+			CustomerTrainContent customerTrainContent) {
+		PageHelper.startPage(page, limit);
+		List<CustomerTrainContent> customerTrainContentList = customerTrainService
+				.getCustomerTrainContents(customerTrainContent);
+		PageInfo<CustomerTrainContent> pageInfo = new PageInfo<CustomerTrainContent>(customerTrainContentList);
+		return pageInfo;
+	}
+
+	/**
+	 * 添加
+	 * 
+	 */
+	@RequestMapping("/addCustomerTrainContent")
+	public Msg addCustomerTrainContent(CustomerTrainContent customerTrainContent, HttpSession session) {
+
+		return customerTrainService.addCustomerTrainContent(customerTrainContent, session);
+	}
+
+	/**
+	 * 修改
+	 */
+	@RequestMapping("/updateCustomerTrainContent")
+	public Msg updateCustomerTrainContent(CustomerTrainContent customerTrainContent, HttpSession session) {
+		return customerTrainService.updateCustomerTrainContentById(customerTrainContent, session);
+	}
+
+	/**
+	 * 修改
+	 */
+	@RequestMapping("/updateCustomerTrainContentSort")
+	public Msg updateById(@RequestParam(value = "id") int id, @RequestParam(value = "value") String value) {
+		return customerTrainService.updateCustomerTrainContentSort(id, value);
+	}
+
+	/**
+	 * 删除
+	 */
+	@RequestMapping("/deleteCustomerTrainContent")
+	public Msg deleteCustomerTrainContent(@RequestParam("id") Integer id) {
+		return customerTrainService.deleteCustomerTrainContentById(id);
+	}
+
+	/* =============产品种类================ */
+	/**
+	 * 查询
+	 * 
+	 * @param page
+	 * @param limit
+	 * @param customerTrainProType
+	 * @return
+	 */
+	@RequestMapping("/getCustomerTrainProTypes")
+	public PageInfo<CustomerTrainProType> getCustomerTrainProTypes(
+			@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit,
+			CustomerTrainProType customerTrainProType) {
+		PageHelper.startPage(page, limit);
+		List<CustomerTrainProType> customerTrainProTypeList = customerTrainService
+				.getCustomerTrainProTypes(customerTrainProType);
+		PageInfo<CustomerTrainProType> pageInfo = new PageInfo<CustomerTrainProType>(customerTrainProTypeList);
+		return pageInfo;
+	}
+
+	/**
+	 * 添加
+	 * 
+	 */
+	@RequestMapping("/addCustomerTrainProType")
+	public Msg addCustomerTrainProType(CustomerTrainProType customerTrainProType, HttpSession session) {
+
+		return customerTrainService.addCustomerTrainProType(customerTrainProType, session);
+	}
+
+	/**
+	 * 修改
+	 */
+	@RequestMapping("/updateCustomerTrainProType")
+	public Msg updateCustomerTrainProType(CustomerTrainProType customerTrainProType, HttpSession session) {
+		return customerTrainService.updateCustomerTrainProTypeById(customerTrainProType, session);
+	}
+
+	/**
+	 * 删除
+	 */
+	@RequestMapping("/deleteCustomerTrainProType")
+	public Msg deleteCustomerTrainProType(@RequestParam("id") Integer id) {
+		return customerTrainService.deleteCustomerTrainProTypeById(id);
+	}
+
+	/* =============产品类型================ */
+	/**
+	 * 查询
+	 * 
+	 * @param page
+	 * @param limit
+	 * @param customerTrainKindLabel
+	 * @return
+	 */
+	@RequestMapping("/getCustomerTrainKindLabelsByProType")
+	public PageInfo<CustomerTrainKindLabel> getCustomerTrainKindLabelsByProType(
+			@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit,
+			@RequestParam(value = "needPage") String needPage, CustomerTrainKindLabel customerTrainKindLabel) {
+		// 0:不要分页 1:要分页
+		if ("1".equals(needPage))
+			PageHelper.startPage(page, limit);
+		List<CustomerTrainKindLabel> customerTrainKindLabelList = customerTrainService
+				.getCustomerTrainKindLabelsByProType(customerTrainKindLabel);
+		PageInfo<CustomerTrainKindLabel> pageInfo = new PageInfo<CustomerTrainKindLabel>(customerTrainKindLabelList);
+		return pageInfo;
+	}
+
+	/**
+	 * 添加
+	 * 
+	 */
+	@RequestMapping("/addCustomerTrainKindLabel")
+	public Msg addCustomerTrainKindLabel(CustomerTrainKindLabel customerTrainKindLabel, HttpSession session) {
+
+		return customerTrainService.addCustomerTrainKindLabel(customerTrainKindLabel, session);
+	}
+
+	/**
+	 * 修改
+	 */
+	@RequestMapping("/updateCustomerTrainKindLabel")
+	public Msg updateCustomerTrainKindLabel(CustomerTrainKindLabel customerTrainKindLabel, HttpSession session) {
+		return customerTrainService.updateCustomerTrainKindLabelById(customerTrainKindLabel, session);
+	}
+
+	/**
+	 * 删除
+	 */
+	@RequestMapping("/deleteCustomerTrainKindLabel")
+	public Msg deleteCustomerTrainKindLabel(@RequestParam("id") Integer id) {
+		return customerTrainService.deleteCustomerTrainKindLabelById(id);
+	}
+}

+ 75 - 0
src/main/java/lingtao/net/controller/ExpressFeeController.java

@@ -0,0 +1,75 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.ExpressFee;
+import lingtao.net.bean.Msg;
+import lingtao.net.service.ExpressFeeService;
+
+@RestController
+public class ExpressFeeController {
+
+	@Autowired
+	private ExpressFeeService expressFeeService;
+
+	/**
+	 * 省份快递费列表
+	 * 
+	 * @return
+	 */
+	@RequestMapping("/getExpressFees")
+	public Msg getExpressFees(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, ExpressFee expressFee) {
+		PageHelper.startPage(page, limit);
+		// 带分页,用于列表展示
+		List<ExpressFee> expressFeeList = expressFeeService.getExpressFees(expressFee);
+		// 全国省份
+		List<ExpressFee> allProvinces = expressFeeService.getAllExpressFees(expressFee);
+		// 手提袋偏远地区运费
+		List<ExpressFee> handBagExpressFees = expressFeeService.getHandBagExpressFees(expressFee);
+		// 封套:6、房卡套:7、吊旗:13
+		List<ExpressFee> taoExpressFees = expressFeeService.getTaoExpressFees(expressFee);
+		// 其他产品偏远地区运费
+		List<ExpressFee> orherExpressFees = expressFeeService.getOtherExpressFees(expressFee);
+		PageInfo<ExpressFee> pageInfo = new PageInfo<ExpressFee>(expressFeeList);
+		return Msg.success().add("list", pageInfo).add("allProvinces", allProvinces).add("handBag", handBagExpressFees)
+				.add("tao", taoExpressFees).add("other", orherExpressFees);
+	}
+
+	/**
+	 * 添加省份快递费
+	 */
+	@RequestMapping("/addExpressFee")
+	public Msg addExpressFee(ExpressFee expressFee, HttpSession session) {
+		expressFeeService.addExpressFee(expressFee, session);
+		return Msg.success();
+	}
+
+	/**
+	 * 修改省份快递费
+	 */
+	@RequestMapping("/updateExpressFee")
+	public Msg updateExpressFee(HttpSession session, @RequestParam(value = "id") int id,
+			@RequestParam(value = "field") String field, @RequestParam(value = "value") String value) throws Exception {
+		return expressFeeService.updateExpressFeeById(session, id, field, value);
+	}
+
+	/**
+	 * 删除
+	 */
+	@RequestMapping("/deleteExpressFee")
+	public Msg deleteExpressFee(@RequestParam("id") Integer id) {
+		expressFeeService.deleteExpressFeeById(id);
+		return Msg.success();
+	}
+}

+ 90 - 0
src/main/java/lingtao/net/controller/FileController.java

@@ -0,0 +1,90 @@
+package lingtao.net.controller;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.apache.ibatis.annotations.Param;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.MyFile;
+import lingtao.net.service.MyFileService;
+
+@Controller
+public class FileController {
+
+	@Autowired
+	private MyFileService fileService;
+
+	/**
+	 * 上传文件
+	 * 
+	 * @throws IOException
+	 */
+	@RequestMapping("/fileUpload")
+	@ResponseBody
+	public Msg uploadFile(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
+		return fileService.fileUpload(file, request);
+	}
+
+	/**
+	 * 查询文件列表
+	 * @param page
+	 * @param limit
+	 * @param myFile
+	 * @param session
+	 * @return
+	 */
+	@RequestMapping("getAllFiles")
+	@ResponseBody
+	public Msg FileList(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, MyFile myFile, HttpSession session) {
+		PageHelper.startPage(page, limit);
+		List<MyFile> fileList = fileService.getFileList(myFile, session);
+		PageInfo<MyFile> filesInfo = new PageInfo<MyFile>(fileList);
+		return Msg.success().add("fileList", filesInfo);
+	}
+
+	/**
+	 * 根据id删除文件
+	 * 
+	 */
+	@RequestMapping("/deleteFile")
+	@ResponseBody
+	public Msg deleteFile(@Param("fileId") Integer fileId) {
+		return fileService.deleteFile(fileId);
+	}
+
+	/**
+	 * 批量删除
+	 * 
+	 * @param ids
+	 */
+	@ResponseBody
+	@RequestMapping("/deleteFiles")
+	public Msg deleteBatch(@RequestParam(value = "ids") String ids, @RequestParam(value = "fileNames") String fileNames,
+			HttpServletRequest request) {
+		String[] arrIds = ids.split(",");
+		String[] fileNameArr = fileNames.split(";");
+		List<Integer> del_ids = new ArrayList<Integer>();
+		String hasFileload = request.getSession().getServletContext().getRealPath("/") + "/deptFile/";
+		for (int i = 0; i < fileNameArr.length; i++) {
+			del_ids.add(Integer.parseInt(arrIds[i]));
+			fileService.deleteBatch(del_ids);
+			fileService.deleteFile(hasFileload + fileNameArr[i]);
+		}
+		return Msg.success();
+	}
+}

+ 104 - 0
src/main/java/lingtao/net/controller/Finance2Controller.java

@@ -0,0 +1,104 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Finance;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.Finance2Service;
+
+@Controller
+public class Finance2Controller {
+
+	@Autowired
+	private Finance2Service finance2Service;
+
+	// 用户跳转页面
+	@RequestMapping("/finance_2/index")
+	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		// return "/finance/finance";
+		response.sendRedirect(request.getContextPath() + "/views/system/finance/finance2.jsp");
+	}
+
+	/**
+	 * 根据条件查询数据
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/getFinance_2")
+	public PageInfo<Finance> getFinance(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, Finance finance) {
+		PageHelper.startPage(page, limit);
+		List<Finance> financeList = finance2Service.getFinance(finance);
+		PageInfo<Finance> pageInfo = new PageInfo<Finance>(financeList);
+		return pageInfo;
+	}
+
+	/**
+	 * 获取自己上传过的文件名(用于导出文件)
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/getAllFilename_2")
+	public List<String> getAllFilename() {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		List<String> FilenameList = finance2Service.getAllFilename(user.getRealname());
+		return FilenameList;
+	}
+
+	/**
+	 * 根据文件名删除自己导入过的文件
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/deleteDataByFilename_2")
+	public Msg deleteDataByFilename(@RequestParam(value = "filename") String filename) {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		return finance2Service.deleteDataByFilename(filename, user.getRealname());
+	}
+
+	/**
+	 * 
+	 * 文件上传
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/ajaxUpload_f2")
+	public Msg uploadExcel(@RequestParam("file") MultipartFile file) throws Exception {
+		synchronized (this) {
+			return finance2Service.ajaxUploadExcel(file);
+		}
+	}
+
+	/**
+	 * 导出
+	 * 
+	 * @param response
+	 * @param request
+	 * @param finance
+	 * @throws Exception
+	 */
+	@RequestMapping("/excel_2")
+	public void excel(HttpServletResponse response, Finance finance) throws Exception {
+		if (StringUtils.isEmpty(finance.getFilename())) {
+			return;
+		}
+		finance2Service.excel(response, finance);
+	}
+}

+ 104 - 0
src/main/java/lingtao/net/controller/Finance3Controller.java

@@ -0,0 +1,104 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Finance;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.Finance3Service;
+
+@Controller
+public class Finance3Controller {
+
+	@Autowired
+	private Finance3Service finance3Service;
+
+	// 用户跳转页面
+	@RequestMapping("/finance_3/index")
+	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		// return "/finance/finance";
+		response.sendRedirect(request.getContextPath() + "/views/system/finance/finance3.jsp");
+	}
+
+	/**
+	 * 根据条件查询数据
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/getFinance_3")
+	public PageInfo<Finance> getFinance(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, Finance finance) {
+		PageHelper.startPage(page, limit);
+		List<Finance> financeList = finance3Service.getFinance(finance);
+		PageInfo<Finance> pageInfo = new PageInfo<Finance>(financeList);
+		return pageInfo;
+	}
+
+	/**
+	 * 获取自己上传过的文件名(用于导出文件)
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/getAllFilename_3")
+	public List<String> getAllFilename() {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		List<String> FilenameList = finance3Service.getAllFilename(user.getRealname());
+		return FilenameList;
+	}
+
+	/**
+	 * 根据文件名删除自己导入过的文件
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/deleteDataByFilename_3")
+	public Msg deleteDataByFilename(@RequestParam(value = "filename") String filename) {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		return finance3Service.deleteDataByFilename(filename, user.getRealname());
+	}
+
+	/**
+	 * 
+	 * 文件上传
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/ajaxUpload_f3")
+	public Msg uploadExcel(@RequestParam("file") MultipartFile file) throws Exception {
+		synchronized (this) {
+			return finance3Service.ajaxUploadExcel(file);
+		}
+	}
+
+	/**
+	 * 导出
+	 * 
+	 * @param response
+	 * @param request
+	 * @param finance
+	 * @throws Exception
+	 */
+	@RequestMapping("/excel_3")
+	public void excel(HttpServletResponse response, Finance finance) throws Exception {
+		if (StringUtils.isEmpty(finance.getFilename())) {
+			return;
+		}
+		finance3Service.excel(response, finance);
+	}
+}

+ 104 - 0
src/main/java/lingtao/net/controller/Finance4Controller.java

@@ -0,0 +1,104 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Finance;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.Finance4Service;
+
+@Controller
+public class Finance4Controller {
+
+	@Autowired
+	private Finance4Service finance4Service;
+
+	// 用户跳转页面
+	@RequestMapping("/finance_4/index")
+	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		// return "/finance/finance";
+		response.sendRedirect(request.getContextPath() + "/views/system/finance/finance4.jsp");
+	}
+
+	/**
+	 * 根据条件查询数据
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/getFinance_4")
+	public PageInfo<Finance> getFinance(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, Finance finance) {
+		PageHelper.startPage(page, limit);
+		List<Finance> financeList = finance4Service.getFinance(finance);
+		PageInfo<Finance> pageInfo = new PageInfo<Finance>(financeList);
+		return pageInfo;
+	}
+
+	/**
+	 * 获取自己上传过的文件名(用于导出文件)
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/getAllFilename_4")
+	public List<String> getAllFilename() {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		List<String> FilenameList = finance4Service.getAllFilename(user.getRealname());
+		return FilenameList;
+	}
+
+	/**
+	 * 根据文件名删除自己导入过的文件
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/deleteDataByFilename_4")
+	public Msg deleteDataByFilename(@RequestParam(value = "filename") String filename) {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		return finance4Service.deleteDataByFilename(filename, user.getRealname());
+	}
+
+	/**
+	 * 
+	 * 文件上传
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/ajaxUpload_f4")
+	public Msg uploadExcel(@RequestParam("file") MultipartFile file) throws Exception {
+		synchronized (this) {
+			return finance4Service.ajaxUploadExcel(file);
+		}
+	}
+
+	/**
+	 * 导出
+	 * 
+	 * @param response
+	 * @param request
+	 * @param finance
+	 * @throws Exception
+	 */
+	@RequestMapping("/excel_4")
+	public void excel(HttpServletResponse response, Finance finance) throws Exception {
+		if (StringUtils.isEmpty(finance.getFilename())) {
+			return;
+		}
+		finance4Service.excel(response, finance);
+	}
+}

+ 104 - 0
src/main/java/lingtao/net/controller/Finance5Controller.java

@@ -0,0 +1,104 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Finance;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.Finance5Service;
+
+@Controller
+public class Finance5Controller {
+
+	@Autowired
+	private Finance5Service finance5Service;
+
+	// 用户跳转页面
+	@RequestMapping("/finance_5/index")
+	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		// return "/finance/finance";
+		response.sendRedirect(request.getContextPath() + "/views/system/finance/finance5.jsp");
+	}
+
+	/**
+	 * 根据条件查询数据
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/getFinance_5")
+	public PageInfo<Finance> getFinance(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, Finance finance) {
+		PageHelper.startPage(page, limit);
+		List<Finance> financeList = finance5Service.getFinance(finance);
+		PageInfo<Finance> pageInfo = new PageInfo<Finance>(financeList);
+		return pageInfo;
+	}
+
+	/**
+	 * 获取自己上传过的文件名(用于导出文件)
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/getAllFilename_5")
+	public List<String> getAllFilename() {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		List<String> FilenameList = finance5Service.getAllFilename(user.getRealname());
+		return FilenameList;
+	}
+
+	/**
+	 * 根据文件名删除自己导入过的文件
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/deleteDataByFilename_5")
+	public Msg deleteDataByFilename(@RequestParam(value = "filename") String filename) {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		return finance5Service.deleteDataByFilename(filename, user.getRealname());
+	}
+
+	/**
+	 * 
+	 * 文件上传
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/ajaxUpload_f5")
+	public Msg uploadExcel(@RequestParam("file") MultipartFile file) throws Exception {
+		synchronized (this) {
+			return finance5Service.ajaxUploadExcel(file);
+		}
+	}
+
+	/**
+	 * 导出
+	 * 
+	 * @param response
+	 * @param request
+	 * @param finance
+	 * @throws Exception
+	 */
+	@RequestMapping("/excel_5")
+	public void excel(HttpServletResponse response, Finance finance) throws Exception {
+		if (StringUtils.isEmpty(finance.getFilename())) {
+			return;
+		}
+		finance5Service.excel(response, finance);
+	}
+}

+ 104 - 0
src/main/java/lingtao/net/controller/Finance6Controller.java

@@ -0,0 +1,104 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Finance;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.Finance6Service;
+
+@Controller
+public class Finance6Controller {
+
+	@Autowired
+	private Finance6Service finance6Service;
+
+	// 用户跳转页面
+	@RequestMapping("/finance_6/index")
+	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		// return "/finance/finance";
+		response.sendRedirect(request.getContextPath() + "/views/system/finance/finance6.jsp");
+	}
+
+	/**
+	 * 根据条件查询数据
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/getFinance_6")
+	public PageInfo<Finance> getFinance(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, Finance finance) {
+		PageHelper.startPage(page, limit);
+		List<Finance> financeList = finance6Service.getFinance(finance);
+		PageInfo<Finance> pageInfo = new PageInfo<Finance>(financeList);
+		return pageInfo;
+	}
+
+	/**
+	 * 获取自己上传过的文件名(用于导出文件)
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/getAllFilename_6")
+	public List<String> getAllFilename() {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		List<String> FilenameList = finance6Service.getAllFilename(user.getRealname());
+		return FilenameList;
+	}
+
+	/**
+	 * 根据文件名删除自己导入过的文件
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/deleteDataByFilename_6")
+	public Msg deleteDataByFilename(@RequestParam(value = "filename") String filename) {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		return finance6Service.deleteDataByFilename(filename, user.getRealname());
+	}
+
+	/**
+	 * 
+	 * 文件上传
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/ajaxUpload_f6")
+	public Msg uploadExcel(@RequestParam("file") MultipartFile file) throws Exception {
+		synchronized (this) {
+			return finance6Service.ajaxUploadExcel(file);
+		}
+	}
+
+	/**
+	 * 导出
+	 * 
+	 * @param response
+	 * @param request
+	 * @param finance
+	 * @throws Exception
+	 */
+	@RequestMapping("/excel_6")
+	public void excel(HttpServletResponse response, Finance finance) throws Exception {
+		if (StringUtils.isEmpty(finance.getFilename())) {
+			return;
+		}
+		finance6Service.excel(response, finance);
+	}
+}

+ 104 - 0
src/main/java/lingtao/net/controller/Finance7Controller.java

@@ -0,0 +1,104 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Finance;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.Finance7Service;
+
+@Controller
+public class Finance7Controller {
+
+	@Autowired
+	private Finance7Service finance7Service;
+
+	// 用户跳转页面
+	@RequestMapping("/finance_7/index")
+	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		// return "/finance/finance";
+		response.sendRedirect(request.getContextPath() + "/views/system/finance/finance7.jsp");
+	}
+
+	/**
+	 * 根据条件查询数据
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/getFinance_7")
+	public PageInfo<Finance> getFinance(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, Finance finance) {
+		PageHelper.startPage(page, limit);
+		List<Finance> financeList = finance7Service.getFinance(finance);
+		PageInfo<Finance> pageInfo = new PageInfo<Finance>(financeList);
+		return pageInfo;
+	}
+
+	/**
+	 * 获取自己上传过的文件名(用于导出文件)
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/getAllFilename_7")
+	public List<String> getAllFilename() {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		List<String> FilenameList = finance7Service.getAllFilename(user.getRealname());
+		return FilenameList;
+	}
+
+	/**
+	 * 根据文件名删除自己导入过的文件
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/deleteDataByFilename_7")
+	public Msg deleteDataByFilename(@RequestParam(value = "filename") String filename) {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		return finance7Service.deleteDataByFilename(filename, user.getRealname());
+	}
+
+	/**
+	 * 
+	 * 文件上传
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/ajaxUpload_f7")
+	public Msg uploadExcel(@RequestParam("file") MultipartFile file) throws Exception {
+		synchronized (this) {
+			return finance7Service.ajaxUploadExcel(file);
+		}
+	}
+
+	/**
+	 * 导出
+	 * 
+	 * @param response
+	 * @param request
+	 * @param finance
+	 * @throws Exception
+	 */
+	@RequestMapping("/excel_7")
+	public void excel(HttpServletResponse response, Finance finance) throws Exception {
+		if (StringUtils.isEmpty(finance.getFilename())) {
+			return;
+		}
+		finance7Service.excel(response, finance);
+	}
+}

+ 104 - 0
src/main/java/lingtao/net/controller/FinanceController.java

@@ -0,0 +1,104 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Finance;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.FinanceService;
+
+@Controller
+public class FinanceController {
+
+	@Autowired
+	private FinanceService financeService;
+
+	// 用户跳转页面
+	@RequestMapping("/finance/index")
+	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		// return "/finance/finance";
+		response.sendRedirect(request.getContextPath() + "/views/system/finance/finance.jsp");
+	}
+
+	/**
+	 * 根据条件查询数据
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/getFinance")
+	public PageInfo<Finance> getFinance(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, Finance finance) {
+		PageHelper.startPage(page, limit);
+		List<Finance> financeList = financeService.getFinance(finance);
+		PageInfo<Finance> pageInfo = new PageInfo<Finance>(financeList);
+		return pageInfo;
+	}
+
+	/**
+	 * 获取自己上传过的文件名(用于导出文件)
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/getAllFilename")
+	public List<String> getAllFilename() {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		List<String> FilenameList = financeService.getAllFilename(user.getRealname());
+		return FilenameList;
+	}
+
+	/**
+	 * 根据文件名删除自己导入过的文件
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/deleteDataByFilename")
+	public Msg deleteDataByFilename(@RequestParam(value = "filename") String filename) {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		return financeService.deleteDataByFilename(filename, user.getRealname());
+	}
+
+	/**
+	 * 
+	 * 文件上传
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/ajaxUpload_1")
+	public Msg uploadExcel(@RequestParam("file") MultipartFile file) throws Exception {
+		synchronized (this) {
+			return financeService.ajaxUploadExcel(file);
+		}
+	}
+
+	/**
+	 * 导出
+	 * 
+	 * @param response
+	 * @param request
+	 * @param finance
+	 * @throws Exception
+	 */
+	@RequestMapping("/excel")
+	public void excel(HttpServletResponse response, Finance finance) throws Exception {
+		if (StringUtils.isEmpty(finance.getFilename())) {
+			return;
+		}
+		financeService.excel(response, finance);
+	}
+}

+ 87 - 0
src/main/java/lingtao/net/controller/FinanceDifferenceController.java

@@ -0,0 +1,87 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.FinanceDifference;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.FinanceDifferenceService;
+
+@Controller
+public class FinanceDifferenceController {
+
+	@Autowired
+	private FinanceDifferenceService differenceService;
+
+	// 用户跳转页面
+	@RequestMapping("/finance/difference/index")
+	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		// return "/difference/difference";
+		response.sendRedirect(request.getContextPath() + "/views/system/financeDifference/difference.jsp");
+	}
+
+	/**
+	 * 根据条件查询数据
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/getDifference")
+	public PageInfo<FinanceDifference> getFinance(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, FinanceDifference difference) {
+		PageHelper.startPage(page, limit);
+		List<FinanceDifference> differenceList = differenceService.get(difference);
+		PageInfo<FinanceDifference> pageInfo = new PageInfo<FinanceDifference>(differenceList);
+		return pageInfo;
+	}
+
+	/**
+	 * 
+	 * 文件上传
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/ajaxUpload")
+	public Msg uploadExcel(@RequestParam("file") MultipartFile file) throws Exception {
+		synchronized (this) {
+			return differenceService.ajaxUploadExcel(file);
+		}
+	}
+
+	@ResponseBody
+	@RequestMapping("/getFilename")
+	public List<String> getAllFilename() {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		List<String> FilenameList = differenceService.getAllFilename(user.getRealname());
+		return FilenameList;
+	}
+
+	/**
+	 * 导出
+	 * 
+	 * @param response
+	 * @param request
+	 * @param difference
+	 * @throws Exception
+	 */
+	@RequestMapping("/excel_difference")
+	public void excel(HttpServletResponse response, FinanceDifference difference) throws Exception {
+		if (StringUtils.isEmpty(difference.getFilename())) {
+			return;
+		}
+		differenceService.excel(response, difference);
+	}
+}

+ 103 - 0
src/main/java/lingtao/net/controller/FinanceExtractController.java

@@ -0,0 +1,103 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.FinanceExtract;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.FinanceExtractService;
+
+@Controller
+public class FinanceExtractController {
+
+	@Autowired
+	private FinanceExtractService financeExtractService;
+
+	// 用户跳转页面
+	@RequestMapping("/finance/extract/index")
+	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		response.sendRedirect(request.getContextPath() + "/views/system/finance/extract/extract.jsp");
+	}
+
+	/**
+	 * 根据条件查询数据
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/getFinance_extract")
+	public PageInfo<FinanceExtract> getFinanceExtract(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, FinanceExtract financeExtract) {
+		PageHelper.startPage(page, limit);
+		List<FinanceExtract> financeList = financeExtractService.getFinanceExtract(financeExtract);
+		PageInfo<FinanceExtract> pageInfo = new PageInfo<FinanceExtract>(financeList);
+		return pageInfo;
+	}
+
+	/**
+	 * 获取自己上传过的文件名(用于导出文件)
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/getFilename_extract")
+	public List<String> getFilename_extract() {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		List<String> FilenameList = financeExtractService.getFilename_extract(user.getRealname());
+		return FilenameList;
+	}
+
+	/**
+	 * 根据文件名删除自己导入过的文件
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/deleteDataByFilename2")
+	public Msg deleteDataByFilename(@RequestParam(value = "filename") String filename) {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		return financeExtractService.deleteDataByFilename(filename, user.getRealname());
+	}
+
+	/**
+	 * 
+	 * 文件上传
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/ajaxUpload_2")
+	public Msg uploadExcel(@RequestParam("file") MultipartFile file) throws Exception {
+		synchronized (this) {
+			return financeExtractService.ajaxUploadExcel(file);
+		}
+	}
+
+	/**
+	 * 导出
+	 * 
+	 * @param response
+	 * @param request
+	 * @param finance
+	 * @throws Exception
+	 */
+	@RequestMapping("/excel_extract")
+	public void excel(HttpServletResponse response, FinanceExtract financeExtract) throws Exception {
+		if (StringUtils.isEmpty(financeExtract.getFilename())) {
+			return;
+		}
+		financeExtractService.excel(response, financeExtract);
+	}
+}

+ 65 - 0
src/main/java/lingtao/net/controller/InformationController.java

@@ -0,0 +1,65 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Information;
+import lingtao.net.bean.Msg;
+import lingtao.net.service.InformationService;
+
+@RestController
+public class InformationController {
+
+	@Autowired
+	private InformationService informationService;
+
+	/**
+	 * 产品知识列表
+	 * 
+	 * @return
+	 */
+	@RequestMapping("/getInformations")
+	public Msg getInformations(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, Information information) {
+		PageHelper.startPage(page, limit);
+		List<Information> informationList = informationService.getInformations(information);
+		PageInfo<Information> pageInfo = new PageInfo<Information>(informationList);
+		return Msg.success().add("list", pageInfo);
+	}
+
+	/**
+	 * 添加产品知识
+	 */
+	@RequestMapping("/addInformation")
+	public Msg addInformation(Information information, HttpSession session) {
+		informationService.addInformation(information, session);
+		return Msg.success();
+	}
+
+	/**
+	 * 修改产品知识
+	 */
+	@RequestMapping("/updateInformation")
+	public Msg updateInformation(Information information, HttpSession session) {
+		informationService.updateInformationById(information, session);
+		return Msg.success();
+	}
+
+	/**
+	 * 删除
+	 */
+	@RequestMapping("/deleteInformation")
+	public Msg deleteInformation(@RequestParam("id") Integer id) {
+		informationService.deleteInformationById(id);
+		return Msg.success();
+	}
+}

+ 101 - 0
src/main/java/lingtao/net/controller/LoginIpController.java

@@ -0,0 +1,101 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.LoginIp;
+import lingtao.net.bean.Msg;
+import lingtao.net.service.LoginIpService;
+
+@Controller
+public class LoginIpController {
+
+	@Autowired
+	private LoginIpService loginIpService;
+
+	// IP跳转页面
+	@RequestMapping("/loginIp/index")
+	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		response.sendRedirect(request.getContextPath() + "/views/system/loginIp/loginIp.jsp");
+	}
+
+	/**
+	 * 查询所有IP
+	 */
+	@RequestMapping("/getLoginIpList")
+	@ResponseBody
+	private Msg IPList(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, LoginIp loginIp) {
+		PageHelper.startPage(page, limit);
+		List<LoginIp> list = loginIpService.getLoginIpList(loginIp);
+		PageInfo<LoginIp> pageInfo = new PageInfo<LoginIp>(list);
+		return Msg.success().add("ipList", pageInfo);
+	}
+
+	/**
+	 * 添加IP
+	 */
+	@ResponseBody
+	@RequestMapping("/addIp")
+	public Msg addIp(LoginIp loginIp) {
+		loginIpService.addIp(loginIp);
+		return Msg.success();
+	}
+	
+	/**
+	 * 修改IP
+	 */
+	@ResponseBody
+	@RequestMapping("/updateIp")
+	public Msg updateIp(LoginIp loginIp) {
+		loginIpService.updateIp(loginIp);
+		return Msg.success();
+	}
+
+	/**
+	 * 删除
+	 */
+	@RequestMapping("/deleteIp")
+	@ResponseBody
+	public Msg deleteIp(@RequestParam("id") Integer id) {
+		loginIpService.deleteIpById(id);
+		return Msg.success();
+	}
+
+	/**
+	 * 批量删除
+	 * 
+	 * @param ids
+	 */
+	@ResponseBody
+	@RequestMapping("/deleteIps")
+	public Msg deleteBatch(@RequestParam(value = "ids") String ids) {
+		String[] arrIds = ids.split(",");
+		// String数组转为Integer数组
+		int[] ints = new int[arrIds.length];
+		for (int i = 0; i < arrIds.length; i++) {
+			ints[i] = Integer.parseInt(arrIds[i]);
+		}
+		return loginIpService.deleteBatch(ints);
+	}
+
+	/**
+	 * 检查授权IP是否存在
+	 */
+	@ResponseBody
+	@RequestMapping("/checkIP")
+	public Msg checkIP(@RequestParam(value = "agreeIp") String agreeIp) {
+		return loginIpService.checkIP(agreeIp);
+	}
+}

+ 45 - 0
src/main/java/lingtao/net/controller/LoginLogController.java

@@ -0,0 +1,45 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.LoginLog;
+import lingtao.net.service.LoginLogService;
+
+@Controller
+public class LoginLogController {
+
+	@Autowired
+	private LoginLogService loginLogService;
+
+	// 登录情况跳转页面
+	@RequestMapping("/loginLog/index")
+	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		response.sendRedirect(request.getContextPath() + "/views/system/loginLog/loginLog.jsp");
+	}
+
+	/**
+	 * 查询所有登录情况
+	 */
+	@RequestMapping("/getLoginLogList")
+	@ResponseBody
+	private PageInfo<LoginLog> IPList(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, LoginLog loginLog) {
+		PageHelper.startPage(page, limit);
+		List<LoginLog> list = loginLogService.getLoginLogList(loginLog);
+		PageInfo<LoginLog> pageInfo = new PageInfo<LoginLog>(list);
+		return pageInfo;
+	}
+	
+}

+ 397 - 0
src/main/java/lingtao/net/controller/ProductController.java

@@ -0,0 +1,397 @@
+package lingtao.net.controller;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.Product;
+import lingtao.net.bean.SysDictSearchPro;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.ProductService;
+import lingtao.net.service.QuoteLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+public class ProductController {
+
+    @Autowired
+    private ProductService productService;
+
+    @Autowired
+    private QuoteLogService quoteLogService;
+
+    // 价格跳转页面
+    @RequestMapping("/product/index")
+    public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+        response.sendRedirect(request.getContextPath() + "/views/system/product/product.jsp");
+    }
+
+    /**
+     * 查询所有价格
+     */
+    @RequestMapping("/getProductList")
+    @ResponseBody
+    private Msg IPList(@RequestParam(value = "page", defaultValue = "1") Integer page,
+                       @RequestParam(value = "limit", defaultValue = "10") Integer limit, Product product) {
+        PageHelper.startPage(page, limit);
+        List<Product> list = productService.getProductList(product);
+        PageInfo<Product> pageInfo = new PageInfo<Product>(list);
+        return Msg.success().add("list", pageInfo);
+    }
+
+    /**
+     * 修改价格
+     *
+     * @param customerData
+     */
+    @RequestMapping("/updatePriceById")
+    public Msg updatePriceById(@RequestParam(value = "proId") int proId, @RequestParam(value = "field") String field,
+                               @RequestParam(value = "value") String value) {
+        return productService.updatePriceById(proId, field, value);
+    }
+
+    /**
+     * 计算价格
+     *
+     * @param product
+     * @return
+     */
+    @RequestMapping("/getThanSum")
+    public Msg thanPrice(Product product, HttpServletRequest request) {
+        SysUser user = (SysUser) request.getSession().getAttribute("USER_SESSION");
+		/*if (StringUtils.isEmpty(product.getWangwang().trim()) && user.getRole().contains("999")
+				&& !user.getRole().contains("1049")) {
+			return Msg.fail("请填写客户旺旺!");
+		}*/
+        if ("帆布".equals(product.getProTypeValue())) {
+            if ("套餐".equals(product.getStickerKind())) {
+                product.setCount(1);
+            }
+        } else {
+            if (StringUtils.isEmpty(product.getCount()) || product.getCount() <= 0) {
+                return Msg.fail("数量必须大于0");
+            }
+        }
+        // 透明不干胶进去后kindValue 会为1,记录起来,查询日志
+        String toumingKind = "";
+        if ("0".equals(product.getProTypeValue()) && "2".equals(product.getKindValue())) {
+            toumingKind = product.getKindValue();
+        }
+        if ("18".equals(product.getProTypeValue()) && "4".equals(product.getKindValue())) {
+            product.setCount(Integer.valueOf(request.getParameter("count1")));
+        }
+        product.setRole(user.getRole());
+
+        if ("菜单".equals(product.getProTypeLabel())) {
+            product.setSize(product.getSize1().replace(",", ""));
+            String s = request.getParameter("kindValue5");
+            product.setKind1Value(s);
+            product.setSize(request.getParameter("ui_menu_size"));
+        } else if ("4".equals(product.getProTypeValue()) && "9".equals(product.getKind())) {
+            product.setSize(request.getParameter("ui_shk_size"));
+        }
+
+        if (user.getRole().indexOf("1010") > -1) {
+            if ("0".equals(product.getKindValue()) && "专版打印".equals(product.getStickerKind())) {
+                double len = Double.valueOf(product.getSize().substring(0, product.getSize().indexOf("*")));
+                double wid = Double.valueOf(product.getSize().substring(product.getSize().indexOf("*") + 1));
+                if ((len <= 5 && wid < 4) || (len < 4 && wid <= 5)) {
+                    product.setSize("5*4");
+                }
+            }
+        } else {
+            if (product.getNumber() != null && product.getNumber() > 1) {
+                if ("专版打印".equals(product.getStickerKind()) || "少数量".equals(product.getCouponKind())) {
+                    if (request.getParameter("desType") != null && !"".equals(request.getParameter("desType"))) {
+                        product.setP(Integer.valueOf(request.getParameter("desType")));
+                    }
+                }
+            }
+        }
+        List<Product> proList = productService.getThanPrice(product, user.getRole());
+
+        if (proList == null) {
+            return Msg.fail("暂无报价");
+        }
+        //银瑾单独报价
+        if (user.getRole().indexOf("1010") > -1) {
+            double otherPrice = 0;
+			/*if("5".equals(product.getKind())) {
+				for (Product list : proList) {
+					list.setPrice(list.getPrice() + 30);
+				}
+			}else if("帆布".equals(product.getProTypeValue())) {
+				for (Product list : proList) {
+					otherPrice = Math.floor(list.getPrice() + 5);
+					list.setPrice(otherPrice > 40 ? otherPrice : 40);
+					if(product.getNumber() > 1) {
+						list.setPrice(Math.floor(list.getPrice() + 2 * (product.getNumber()-1)));
+					}
+				}
+			}else */
+            if ("22".equals(product.getProTypeValue())) {
+                for (Product list : proList) {
+                    list.setPrice(list.getPrice() + 50);
+                }
+            } else if ("桌布".equals(product.getProTypeValue())) {
+                for (Product list : proList) {
+                    list.setPrice(list.getPrice() + 30);
+                }
+            } else if ("13".equals(product.getProTypeValue())) {
+                for (Product list : proList) {
+                    list.setPrice(list.getPrice() + 80);
+                }
+            } else if ("亚克力".equals(product.getProTypeValue())) {
+                for (Product list : proList) {
+                    list.setPrice(list.getPrice() + 40);
+                }
+            } else if ("11".equals(product.getProTypeValue())) {
+                for (Product list : proList) {
+                    list.setPrice(list.getPrice() + 50);
+                }
+            } else if ("0".equals(product.getProTypeValue())) {
+                if ("0".equals(product.getKindValue()) && "常用种类".equals(product.getStickerKind())) {
+                    double len = Double.valueOf(product.getSize().substring(0, product.getSize().indexOf("*")));
+                    ;
+                    double wid = Double.valueOf(product.getSize().substring(product.getSize().indexOf("*") + 1));
+                    if ((len <= 5 && wid < 4) || (len < 4 && wid <= 5)) {
+                        double priceArr[] = {45, 50, 75, 90, 170, 260, 440, 620, 810, 1000};
+                        double countArr[] = {500, 1000, 2000, 3000, 5000, 10000, 20000, 30000, 40000, 50000};
+                        for (Product list : proList) {
+                            for (int i = 0; i < countArr.length; i++) {
+                                if (countArr[i] < list.getCount()) {
+                                    continue;
+                                }
+                                list.setPrice(priceArr[i]);
+                                break;
+                            }
+
+                        }
+                    }
+                } else if ("11".equals(product.getKindValue()) || "布纹纸超白".equals(product.getKindValue())) {
+                    for (Product list : proList) {
+                        list.setPrice(Math.floor(list.getPrice() * 1.5));
+                    }
+                } else if ("拉丝金".equals(product.getKindValue()) || "拉丝银".equals(product.getKindValue())) {
+                    for (Product list : proList) {
+                        list.setPrice(Math.floor(list.getPrice() + 60));
+                    }
+                }
+            } else if ("金属标".equals(product.getProTypeValue()) && "UV转印贴".equals(product.getKind())) {
+                for (Product list : proList) {
+                    if (list.getCount() > 500) {
+                        list.setPrice(Math.floor(list.getPrice() * 0.95));
+                    } else {
+                        list.setPrice(Math.floor(list.getPrice() * 0.9));
+                    }
+                }
+            } else if ("服装吊牌".equals(product.getProTypeValue()) && "异形模切".equals(product.getCraftQie())) {
+                for (Product list : proList) {
+                    list.setPrice(list.getPrice() + 50);
+                }
+            }
+        }
+
+        if ("0".equals(product.getProTypeValue())) {
+            if ("5".equals(product.getKindValue()) && proList == null) {
+                if (StringUtils.isEmpty(product.getAotu())) {
+                    return Msg.fail("哑金不干胶该尺寸无法制作,最大做到 39*27 cm");
+                } /*else {
+					return Msg.fail("哑金不干胶带凹凸工艺该尺寸无法制作         (1*1CM至11*11CM;10*6至12*8CM;20*4以内)");
+				}*/
+            } else if ("易碎纸不干胶".equals(product.getKindValue()) && proList == null) {
+                return Msg.fail("易碎纸不干胶该尺寸无法制作,最大做到 42*38 cm");
+            } else if (("拉丝金".equals(product.getKindValue()) || "拉丝银".equals(product.getKindValue()))
+                    && proList == null) {
+                return Msg.fail("拉丝金/银该尺寸无法制作,最大做到 42*38 cm");
+            } else if ("格底珠光膜".equals(product.getKindValue()) && proList == null) {
+                return Msg.fail("格底珠光膜该尺寸无法制作,最大做到 42*38 cm");
+            }
+            if (proList == null) {
+                if ("少数量".contentEquals(product.getStickerKind())) {
+                    return Msg.fail("少数量最大做到 42*28.5 cm");
+                }
+                /*return Msg.fail("该工艺、该尺寸无法制作,请单独报价");*/
+            }
+        } else if ("20".equals(product.getProTypeValue())) {
+            if (proList == null && "0".equals(product.getKindValue())) {
+                return Msg.fail("双插盒该尺寸展开超过650*500MM,请另行报价");
+            } else if (proList == null && "1".equals(product.getKindValue())) {
+                return Msg.fail("飞机盒该尺寸展开超过900*600MM,请另行报价");
+            }
+        }
+
+        if (!StringUtils.isEmpty(toumingKind)) {
+            product.setKindValue(toumingKind);
+        }
+        // 插入操作日志
+        String log = quoteLogService.log(product, request, proList);
+        if ("登陆失效".equals(log)) {
+            return Msg.fail("登录信息失效~请刷新页面!");
+        }
+
+        // 把角色存入,前台判断,区分不同价格
+        for (Product p : proList) {
+//            p.setPrice(Math.ceil(p.getPrice() * 1.3));
+            p.setRole(user.getRole());
+        }
+
+        if (product.getKindValue() != null) {//判断是否大店报不干胶价格
+			/*if(product.getKindValue().equals("0")) {
+				double width = 0, length = 0;
+				if(product.getWidth() != null) {
+					width = product.getWidth(); 
+				}
+				if(product.getLength() != null) {
+					length = product.getLength();
+				}
+				String role = user.getRole();
+				if(length < width) {
+					length = product.getWidth();
+					width = product.getLength();
+				}
+				if(width == 0 && length == 0) {
+				}else if((length <= 5 && width <= 4)) {
+					String tang = product.getCraftTang();
+					if(AStickersPrice.f_getRole(role) == 1 && tang == null) {
+						List<Product> price = new ArrayList<Product>();
+						if(length == 1 && width == 1) {
+							int priceArr[] = {30, 35, 50, 55, 65, 90, 135, 185, 235, 285};
+							price = f_getPrice( priceArr, product.getCount(), product.getCraftMo());
+						}else if(length == 2 && width == 1) {
+							int priceArr[] = {35, 40, 55, 60, 70, 95, 140, 190, 240, 290};
+							price = f_getPrice( priceArr, product.getCount(), product.getCraftMo());
+						}else if(length == 3 && width == 1) {
+							int priceArr[] = {35, 40, 55, 70, 80, 125, 205, 290, 370, 455};
+							price = f_getPrice( priceArr, product.getCount(), product.getCraftMo());
+						}else if(length == 4 && width == 1) {
+							int priceArr[] = {35, 40, 55, 70, 80, 125, 205, 290, 370, 455};
+							price = f_getPrice( priceArr, product.getCount(), product.getCraftMo());
+						}else if(length == 5 && width == 1) {
+							int priceArr[] = {35, 40, 55, 70, 80, 125, 205, 290, 370, 455};
+							price = f_getPrice( priceArr, product.getCount(), product.getCraftMo());
+						}else if(length == 2 && width == 2) {
+							int priceArr[] = {35, 40, 55, 70, 80, 125, 205, 290, 370, 455};
+							price = f_getPrice( priceArr, product.getCount(), product.getCraftMo());
+						}else if(length == 3 && width == 2) {
+							int priceArr[] = {35, 40, 55, 70, 80, 125, 205, 290, 370, 455};
+							price = f_getPrice( priceArr, product.getCount(), product.getCraftMo());
+						}else if(length == 4 && width == 2) {
+							int priceArr[] = {35, 40, 55, 70, 110, 170, 290, 410, 535, 665};
+							price = f_getPrice( priceArr, product.getCount(), product.getCraftMo());
+						}else if(length == 5 && width == 2) {
+							int priceArr[] = {35, 40, 55, 70, 110, 170, 290, 410, 535, 665};
+							price = f_getPrice( priceArr, product.getCount(), product.getCraftMo());
+						}else if(length == 3 && width == 3) {
+							int priceArr[] = {35, 40, 55, 70, 110, 170, 290, 410, 535, 665};
+							price = f_getPrice( priceArr, product.getCount(), product.getCraftMo());
+						}else if(length == 4 && width == 3) {
+							int priceArr[] = {35, 40, 55, 70, 110, 170, 290, 410, 535, 665};
+							price = f_getPrice( priceArr, product.getCount(), product.getCraftMo());
+						}else if(length == 5 && width == 3) {
+							int priceArr[] = {35, 40, 55, 70, 110, 170, 290, 410, 535, 665};
+							price = f_getPrice( priceArr, product.getCount(), product.getCraftMo());
+						}else if(length == 4 && width == 4) {
+							int priceArr[] = {35, 40, 55, 70, 110, 170, 290, 410, 535, 665};
+							price = f_getPrice( priceArr, product.getCount(), product.getCraftMo());
+						}else if(length == 5 && width == 4) {
+							int priceArr[] = {35, 40, 55, 70, 150, 240, 420, 600, 790, 980};
+							price = f_getPrice( priceArr, product.getCount(), product.getCraftMo());
+						}
+						
+						if (proList.size() >= 4) {
+							proList = proList.subList(0, 4);
+						}
+						
+						for(int i = 0; i < price.size(); i ++){
+							if(product.getNumber() > 1) {
+								proList.get(i).setPrice(price.get(i).getPrice() * product.getNumber());
+							}else {
+								proList.get(i).setPrice(price.get(i).getPrice());
+							}
+						}
+					}
+				}
+			}elseif(user.getRole().indexOf("1033") > 0 && product.getProTypeValue().equals("17")) {
+				if(product.getKindValue().equals("6")) {
+					for (Product products : proList) {
+						products.setPrice(Math.floor(products.getPrice() * 0.88));
+					}
+				}
+			} */
+        }
+
+
+        return Msg.success().add("proList", proList);
+    }
+	
+	/*public List<Product> f_getPrice( int priceArr[], int count, String craftMo) {
+		List<Product> list = new ArrayList<Product>();
+		Product p = new Product();
+		int countArr[] = { 500, 1000, 2000, 3000, 5000, 10000, 20000, 30000, 40000, 50000 };
+		for(int i = 0; i < countArr.length; i++) {
+			if(countArr[i] < count || list.size() > 3) {
+				continue;
+			}
+			p = new Product();
+			p.setCount(countArr[i]);
+			if(craftMo.equals("覆哑膜")) {
+				p.setPrice(Math.ceil(Double.valueOf(priceArr[i]) * 1.2));
+			}else {
+				p.setPrice(Double.valueOf(priceArr[i]));
+			}
+			
+			list.add(p);
+		}
+		
+		return list;
+	}*/
+
+    /**
+     * 根据产品种类获取材质
+     *
+     * @param proTypeValue
+     * @return
+     */
+    @RequestMapping(value = "/getKindsByPro")
+    public Map<String, String> kindList(@RequestParam("proTypeValue") String proTypeValue) {
+        Map<String, String> map = new HashMap<String, String>();
+        List<Product> proList = productService.getKindsByPro(proTypeValue);
+        for (Product product : proList) {
+            map.put(product.getKindValue(), product.getKindLabel());
+        }
+        return map;
+    }
+
+    /**
+     * 根据用户搜索的产品名称获取产品
+     */
+    @RequestMapping(value = "/getSearchPro")
+    public List<SysDictSearchPro> searchPro(@RequestParam("likeProTypeLabel") String likeProTypeLabel)
+            throws Exception {
+        List<SysDictSearchPro> proList = productService.searchPro(likeProTypeLabel);
+        return proList;
+    }
+
+    /**
+     * 价格文件上传
+     */
+    @RequestMapping(value = "/priceUpload")
+    public Msg uploadExcel(@RequestParam("file") MultipartFile file) throws Exception {
+        System.out.println("进来了");
+        productService.ajaxUploadExcel(file);
+        return Msg.success();
+    }
+
+}

+ 214 - 0
src/main/java/lingtao/net/controller/ProductImgController.java

@@ -0,0 +1,214 @@
+package lingtao.net.controller;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.ProductImg;
+import lingtao.net.bean.SysDictProduct;
+import lingtao.net.service.ProductImgService;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.http.client.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.management.RuntimeErrorException;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+public class ProductImgController {
+
+    private String localPrefix = "abc\\product";
+
+    private String localPath = "C:\\lingtao\\upload";
+
+    private String localDomain = "http://47.114.150.226:80/erp";
+
+    @Autowired
+    private ProductImgService productImgService;
+
+    /**
+     * 根据条件查询
+     */
+    @RequestMapping("/getImgList")
+    private Msg imgList(@RequestParam(value = "page", defaultValue = "1") Integer page,
+                        @RequestParam(value = "limit", defaultValue = "10") Integer limit, ProductImg productImg) {
+        PageHelper.startPage(page, limit);
+        List<ProductImg> list = productImgService.getProKindList(productImg);
+        PageInfo<ProductImg> pageInfo = new PageInfo<ProductImg>(list);
+        return Msg.success().add("list", pageInfo);
+    }
+
+    /**
+     * 获取所有产品
+     *
+     * @return
+     */
+    @RequestMapping("/productList")
+    public Msg productList() {
+        Map<String, String> map = new HashMap<String, String>();
+        List<SysDictProduct> proList = productImgService.findAllPro();
+        for (SysDictProduct entity : proList) {
+            map.put(entity.getProTypeValue(), entity.getProTypeLabel());
+        }
+        return Msg.success().add("proMap", map);
+    }
+
+    /**
+     * 根据产品种类获取材质
+     *
+     * @param proTypeValue
+     * @return
+     */
+    /*
+     * @RequestMapping("/getKindsByPro") public Msg
+     * kindList(@RequestParam("proTypeValue") String proTypeValue) { Map<String,
+     * String> map = new HashMap<String, String>(); List<SysDictProduct> kindList =
+     * productImgService.getKindsByPro(proTypeValue); if (kindList.size() > 0) { for
+     * (SysDictProduct entity : kindList) { map.put(entity.getKindValue(),
+     * entity.getKindLabel()); } } return Msg.success().add("proMap", map); }
+     */
+
+    /**
+     * 根据材质获取规格
+     *
+     * @param dto
+     * @return
+     */
+    @RequestMapping(value = "/getKind2sByKind")
+    public Map<String, String> kind2List(@RequestParam("proTypeValue") String proTypeValue,
+                                         @RequestParam("kindValue") String kindValue) {
+        Map<String, String> map = new HashMap<String, String>();
+        List<SysDictProduct> kind2List = productImgService.getKind2sByKind(proTypeValue, kindValue);
+        if (kind2List.size() > 0) {
+            for (SysDictProduct entity : kind2List) {
+                map.put(entity.getKind2Value(), entity.getKind2Label());
+            }
+        }
+        return map;
+    }
+
+    // 图片上传及新增
+    @RequestMapping("/productUpload")
+    public Msg upload(@RequestParam("file") MultipartFile file,
+                      @RequestParam(value = "proTypeValue", required = false) String proTypeValue,
+                      @RequestParam(value = "kindValue", required = false) String kindValue,
+                      @RequestParam(value = "kind2Value", required = false) String kind2Value,
+                      @RequestParam(value = "remark", required = false) String remark) throws Exception {
+        if (file.isEmpty()) {
+            return Msg.fail("文件不能为空");
+        }
+        // 获取文件名后缀
+        String extension = FilenameUtils.getExtension(file.getOriginalFilename());
+        // 获取path
+        String path = getPath(extension, FilenameUtils.getBaseName(file.getOriginalFilename()));
+        // 保存文件信息
+        File newFile = new File(localPath + File.separator + path);
+        try {
+            FileUtils.copyInputStreamToFile(new ByteArrayInputStream(file.getBytes()), newFile);
+        } catch (IOException e) {
+            throw new RuntimeErrorException(null, "");
+        }
+
+        System.out.println("kind2Value=" + "null".equals(kind2Value));
+        // 文件信息
+        ProductImg productImg = new ProductImg();
+        // productImg.setImgUrl(localPath + "/" + path);
+        productImg.setImgUrl(localDomain + "/" + path);
+
+        // 保存图片信息
+        productImg.setProTypeValue(proTypeValue);
+        if (StringUtils.isNotEmpty(kindValue)) {
+            productImg.setKindValue(kindValue);
+        }
+        if (StringUtils.isNotEmpty(kind2Value) && !"null".equals(kind2Value)) {
+            productImg.setKind2Value(kind2Value);
+        }
+        if (StringUtils.isNotEmpty(remark)) {
+            productImg.setRemark(remark);
+        }
+        // 根据value查询label
+        SysDictProduct label = productImgService.getLabel(productImg);
+        productImg.setProTypeLabel(label.getProTypeLabel());
+        productImg.setKindLabel(label.getKindLabel());
+        productImg.setKind2Label(label.getKind2Label());
+
+        // productImg.setImgUrl(productImg.getImgUrl());
+        productImgService.addImgUrl(productImg);
+
+        return Msg.success().add("imgList", productImg);
+    }
+
+    /**
+     * 修改备注说明
+     *
+     * @param id
+     * @param remark
+     * @return
+     */
+    @RequestMapping("/updateImgUploadRemark")
+    public Msg updateImgUploadRemark(@RequestParam("id") Long id, @RequestParam("remark") String remark) {
+        ProductImg img = new ProductImg();
+        img.setId(id);
+        img.setRemark(remark);
+        productImgService.updateImgUploadRemark(img);
+        return Msg.success();
+    }
+
+    /**
+     * @param prefixSelf 根据上传的接口存入自己的文件夹
+     * @param suffix     文件的后缀
+     * @param fileName   文件名
+     * @return
+     */
+    public String getPath(String suffix, String fileName) {
+
+        // 生成uuid
+        // String uuid = UUID.randomUUID().toString().replaceAll("-", "");
+        String path = null;
+
+        // 文件路径
+        path = DateUtils.formatDate(new Date(), "yyyyMMdd") + File.separator + fileName;
+
+        path = localPrefix + File.separator + File.separator + path;
+
+        return path + "." + suffix;
+    }
+
+    /**
+     * 根据条件获取产品图片
+     *
+     * @param dto
+     * @return
+     */
+    @RequestMapping("/getImgs")
+    public List<ProductImg> imgList(@RequestParam("proTypeValue") String proTypeValue,
+                                    @RequestParam(value = "kindValue", required = false) String kindValue,
+                                    @RequestParam(value = "craftValue", required = false) String craftValue,
+                                    @RequestParam(value = "kind2Value", required = false) String kind2Value) {
+        List<ProductImg> imgList = productImgService.getImgsByProKind(proTypeValue, kindValue, kind2Value, craftValue);
+        return imgList;
+    }
+
+    /**
+     * 获取视频地址
+     *
+     * @param dto
+     * @return
+     */
+    @RequestMapping("/getVideos")
+    public List<String> videos() {
+        List<String> videoUrls = productImgService.getVideos();
+        return videoUrls;
+    }
+}

+ 122 - 0
src/main/java/lingtao/net/controller/QuestionController.java

@@ -0,0 +1,122 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Information;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.Question;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.InformationService;
+import lingtao.net.service.QuestionService;
+import lingtao.net.service.SysUserService;
+
+@RestController
+public class QuestionController {
+
+	@Autowired
+	private QuestionService questionService;
+
+	@Autowired
+	private InformationService informationService;
+
+	@Autowired
+	private SysUserService sysUserService;
+
+	/**
+	 * 问题列表
+	 * 
+	 * @return
+	 */
+	@RequestMapping("/questions")
+	public Msg questions(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, Question question) {
+		PageHelper.startPage(page, limit);
+		List<Question> questionList = questionService.questions(question);
+		PageInfo<Question> pageInfo = new PageInfo<Question>(questionList);
+		return Msg.success().add("list", pageInfo);
+	}
+
+	@RequestMapping("/getQuestions")
+	public Msg getQuestions(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit) {
+		PageHelper.startPage(page, limit);
+		// 单选题
+		List<Question> singleQuestionList = questionService.getSingleQuestions();
+		// 多选题
+		List<Question> multipleQuestionList = questionService.getMultipleQuestions();
+		// 填空题
+		List<Question> fillQuestionList = questionService.getFillQuestions();
+		// 简答题
+		List<Information> shortAnswerList = informationService.getShortAnswers();
+
+		PageInfo<Question> single = new PageInfo<Question>(singleQuestionList);
+		PageInfo<Question> multiple = new PageInfo<Question>(multipleQuestionList);
+		PageInfo<Question> fill = new PageInfo<Question>(fillQuestionList);
+		PageInfo<Information> shortAnswer = new PageInfo<Information>(shortAnswerList);
+		// 转成json返回JSONArray.fromObject(questionList)
+		return Msg.success().add("single", single).add("multiple", multiple).add("fill", fill).add("shortAnswer",
+				shortAnswer);
+	}
+
+	/**
+	 * 添加问题
+	 */
+	@RequestMapping("/addQuestion")
+	public Msg addQuestion(Question question, HttpSession session) {
+		questionService.addQuestion(question, session);
+		return Msg.success();
+	}
+
+	/**
+	 * 修改问题
+	 */
+	@RequestMapping("/updateQuestion")
+	public Msg updateQuestion(Question question, HttpSession session) {
+		questionService.updateQuestionById(question, session);
+		return Msg.success();
+	}
+
+	/**
+	 * 删除
+	 */
+	@RequestMapping("/deleteQuestion")
+	public Msg deleteQuestion(@RequestParam("id") Integer id) {
+		questionService.deleteQuestionById(id);
+		return Msg.success();
+	}
+
+	/**
+	 * 答对80%后,改变系统状态
+	 * 
+	 * @return
+	 */
+	@RequestMapping("/videoOverToChangeSysStatus")
+	public Msg videoOverToChangeSysStatus(HttpSession session) {
+		SysUser user = (SysUser) session.getAttribute("USER_SESSION");
+		return sysUserService.videoOverToChangeSysStatus(user.getUserId());
+	}
+	@RequestMapping("/examOverToChangeSysStatus")
+	public Msg examOverToChangeSysStatus(HttpSession session) {
+		SysUser user = (SysUser) session.getAttribute("USER_SESSION");
+		return sysUserService.examOverToChangeSysStatus(user.getUserId());
+	}
+	/*
+	 * @RequestMapping("/changeSysStatus") public Msg changeSysStatus(HttpSession
+	 * session, @RequestBody Map<String, String> map) { System.out.println(map);
+	 * Set<Entry<String, String>> entrySet = map.entrySet(); for (Entry<String,
+	 * String> key : entrySet) { System.out.println(key); } SysUser user = (SysUser)
+	 * session.getAttribute("USER_SESSION"); return
+	 * sysUserService.changeSysStatus(user.getUserId()); }
+	 */
+
+}

+ 165 - 0
src/main/java/lingtao/net/controller/QuoteDataController.java

@@ -0,0 +1,165 @@
+package lingtao.net.controller;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.QuoteData;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.QuoteDataService;
+
+@RestController
+public class QuoteDataController {
+
+	@Autowired
+	private QuoteDataService quoteDataService;
+
+	/**
+	 * 获取操作日志列表
+	 * 
+	 * @param page
+	 * @param limit
+	 * @param quoteLog
+	 * @return
+	 */
+	@RequestMapping("/getQuoteData")
+	public PageInfo<QuoteData> logList(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, QuoteData quoteData) {
+		PageHelper.startPage(page, limit);
+		List<QuoteData> logList = quoteDataService.quoteDatas(quoteData);
+		PageInfo<QuoteData> pageInfo = new PageInfo<QuoteData>(logList);
+		return pageInfo;
+	}
+
+	/**
+	 * 修改数据
+	 * 
+	 */
+	@RequestMapping("/updateById")
+	public Msg updateById(@RequestParam(value = "id") int id, @RequestParam(value = "field") String field,
+			@RequestParam(value = "value") String value, @RequestParam(value = "username") String username) {
+		return quoteDataService.updateById(id, field, value, username);
+	}
+
+	/**
+	 * 获取报过的产品
+	 * 
+	 */
+	@RequestMapping("/getProTypeLabel")
+	public List<String> getProType() {
+		return quoteDataService.getProType();
+	}
+
+	/**
+	 * 修改【是否当天成交】状态(自己修改)
+	 * 
+	 * @param id
+	 * @return
+	 */
+	@RequestMapping("/changeIsBuyToDayStatus")
+	public Msg changeIsBuyToDay(@RequestParam(value = "id") Integer id,
+			@RequestParam(value = "username") String username) {
+		// 只有自己的数据才能更改【是否当天成交】状态
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		// 超管、组长身份也能更改【是否当天成交】状态
+		boolean flag = new CustomerDataControlle().isSuperOrManager();
+		if (!username.equals(user.getUsername()) && !flag) {
+			return Msg.fail("只允许修改自己的数据!");
+		}
+		return quoteDataService.changeIsBuyToDay(id);
+	}
+
+	/**
+	 * 修改【是否成交】状态(店长修改)
+	 * 
+	 * @param id
+	 * @return
+	 */
+	@RequestMapping("/changeIsBuyStatus")
+	public Msg changeIsBuy(@RequestParam(value = "id") Integer id) {
+		// 超管、组长身份才允许修改【成交状态】
+		boolean flag = new CustomerDataControlle().isSuperOrManager();
+		if (!flag) {
+			return Msg.fail();
+		}
+		return quoteDataService.changeIsBuy(id);
+	}
+
+	/**
+	 * 修改所属店铺以及选择状态
+	 * 
+	 * @param id
+	 * @return
+	 */
+	@RequestMapping("/updateShopname")
+	public Msg updateShopname(@RequestParam(value = "id") Integer id, @RequestParam(value = "shopname") String shopname,
+			@RequestParam(value = "username") String username) {
+		if (StringUtils.isEmpty(shopname)) {
+			return Msg.fail("请选择有效店铺!");
+		}
+		// 只有自己的数据才能更改【所属店铺】
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		if (!username.equals(user.getUsername())) {
+			return Msg.fail("只允许修改自己的数据!");
+		}
+		return quoteDataService.updateShopnameSelect(shopname, id);
+	}
+
+	@RequestMapping("/addOrderNumber")
+	public Msg addOrderNumber(@RequestParam(value = "id") Integer id,
+			@RequestParam(value = "orderNumber") String orderNumber) {
+		if (StringUtils.isEmpty(orderNumber)) {
+			return Msg.fail("请填写订单号");
+		}
+		if (orderNumber.length() < 10 || orderNumber.length() > 25) {
+			return Msg.fail("请填写正确的订单号");
+		}
+		return quoteDataService.addOrderNumber(id, orderNumber);
+	}
+
+	/**
+	 * 柱状图
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/echartZhuSummary")
+	public Map<String, Object> echartZhuList(QuoteData quoteData) {
+		return quoteDataService.echartZhuList(quoteData, 0);
+	}
+	
+	/**
+	 * 客服大单统计图
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/echartKefuSummary")
+	public Map<String, Object> echartKefuList(QuoteData quoteData) {
+		return quoteDataService.echartZhuList(quoteData, 1);
+	}
+
+	/**
+	 * 导出
+	 * 
+	 * @param response
+	 * @param request
+	 * @param difference
+	 * @throws Exception
+	 */
+	@RequestMapping("/excel_quoteData")
+	public void excel(HttpServletResponse response, QuoteData quoteData) throws Exception {
+		quoteDataService.excel(response, quoteData);
+	}
+}

+ 39 - 0
src/main/java/lingtao/net/controller/QuoteLogController.java

@@ -0,0 +1,39 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.QuoteLog;
+import lingtao.net.service.QuoteLogService;
+
+@RestController
+public class QuoteLogController {
+
+	@Autowired
+	private QuoteLogService quoteLogService;
+
+	/**
+	 * 获取操作日志列表
+	 * 
+	 * @param page
+	 * @param limit
+	 * @param quoteLog
+	 * @return
+	 */
+	@RequestMapping("/getQuoteLog")
+	public PageInfo<QuoteLog> logList(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, QuoteLog quoteLog) {
+		PageHelper.startPage(page, limit);
+		List<QuoteLog> logList = quoteLogService.quoteLogs(quoteLog);
+		PageInfo<QuoteLog> pageInfo = new PageInfo<QuoteLog>(logList);
+		return pageInfo;
+	}
+
+}

+ 67 - 0
src/main/java/lingtao/net/controller/SysDictSearchProController.java

@@ -0,0 +1,67 @@
+package lingtao.net.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpSession;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysDictSearchPro;
+import lingtao.net.service.SysDictSearchProService;
+
+@RestController
+public class SysDictSearchProController {
+
+	@Autowired
+	private SysDictSearchProService searchProService;
+
+	/**
+	 * 查询关键字
+	 * 
+	 * @param searchPro
+	 * @return
+	 */
+	@RequestMapping("/getKeyWordsList")
+	public PageInfo<SysDictSearchPro> keyWordsList(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, SysDictSearchPro searchPro) {
+		PageHelper.startPage(page, limit);
+		List<SysDictSearchPro> keyWordsList = searchProService.keyWordsList(searchPro);
+		PageInfo<SysDictSearchPro> pageInfo = new PageInfo<SysDictSearchPro>(keyWordsList);
+		return pageInfo;
+	}
+
+	/**
+	 * 添加关键字
+	 */
+	@RequestMapping("/addSearchPro")
+	public Msg addSearchPro(SysDictSearchPro searchPro, HttpSession session) {
+		return searchProService.addSearchPro(searchPro, session);
+	}
+
+	/**
+	 * 根据id修改关键字
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/updateKeyWord")
+	public Msg updateKeyWordById(HttpSession session, @RequestParam(value = "id") int id,
+			@RequestParam(value = "value") String value, @RequestParam(value = "field") String field) throws Exception {
+		return searchProService.updateKeyWordById(session, id, value, field);
+	}
+
+	/**
+	 * 改变用户状态
+	 */
+	@RequestMapping("/changeKeyWordsStatus")
+	public Msg changeKeyWordStatus(@RequestParam(value = "id") Integer id) {
+		return searchProService.changeKeyWordStatus(id);
+	}
+}

+ 42 - 0
src/main/java/lingtao/net/controller/SysPermissionController.java

@@ -0,0 +1,42 @@
+package lingtao.net.controller;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import lingtao.net.bean.SysPermission;
+import lingtao.net.service.SysPermissionService;
+
+@RequestMapping("/sysPermission")
+@Controller
+public class SysPermissionController {
+
+	@Autowired
+	private SysPermissionService sysPermissionService;
+
+	@RequestMapping("/index")
+	public String index() throws Exception {
+		return "system/permission/index";
+	}
+
+	@RequestMapping("/parentList")
+	@ResponseBody
+	public List<SysPermission> parentList() {
+		return sysPermissionService.getParentPers();
+	}
+
+	@RequestMapping("/list")
+	@ResponseBody
+	public Map<String, Object> list() throws Exception {
+		Map<String, Object> map = new HashMap<>();
+		map.put("code", 0);
+		map.put("msg", null);
+		map.put("data", sysPermissionService.getAll());
+		return map;
+	}
+}

+ 172 - 0
src/main/java/lingtao/net/controller/SysRoleController.java

@@ -0,0 +1,172 @@
+package lingtao.net.controller;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysRole;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.SysRoleService;
+
+/**
+ * 角色权限
+ */
+@Controller
+public class SysRoleController {
+
+	@Autowired
+	private SysRoleService sysRoleService;
+
+	// 用户跳转页面
+	@RequestMapping("/role/index")
+	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		response.sendRedirect(request.getContextPath() + "/views/system/role/role.jsp");
+	}
+
+	/**
+	 * 根据条件查询角色
+	 */
+	@RequestMapping("/getRoleList")
+	@ResponseBody
+	private Msg roleList(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, SysRole role) {
+		PageHelper.startPage(page, limit);
+		List<SysRole> list = sysRoleService.getRoles(role);
+		// 查询所有的角色,不分页:用于查询
+		List<SysRole> allRoleList = sysRoleService.getRoles(role);
+		PageInfo<SysRole> pageInfo = new PageInfo<SysRole>(list);
+		return Msg.success().add("roleList", pageInfo).add("allRoleList", allRoleList);
+	}
+
+	/**
+	 * 添加角色
+	 */
+	@ResponseBody
+	@RequestMapping("/addRole")
+	public Msg addRole(SysRole role, HttpSession session) {
+		return sysRoleService.addRole(role, session);
+	}
+
+	/**
+	 * 修改角色
+	 */
+	@ResponseBody
+	@RequestMapping("/updateRole")
+	public Msg updateRoleById(SysRole role) {
+		return sysRoleService.updateRoleById(role);
+	}
+
+	/**
+	 * 改变角色状态
+	 */
+	@ResponseBody
+	@RequestMapping("/changeRoleStatus")
+	public Msg changeRoleStatus(@RequestParam(value = "roleId") String roleId) {
+		return sysRoleService.changeRoleStatus(roleId);
+	}
+
+	/**
+	 * 根据角色id查询角色拥有的权限
+	 * 
+	 * @param roleId
+	 * @return List<perId>
+	 */
+	@RequestMapping("/rolePers")
+	@ResponseBody
+	public List<Integer> rolePers(Integer roleId) throws Exception {
+		return sysRoleService.getPerIdsByRoleId(roleId);
+	}
+
+	/**
+	 * 根据角色id授权(先删除已有的权限,再插入新的权限集合)
+	 */
+	@RequestMapping("/assignPers")
+	@ResponseBody
+	public Map<String, Object> assignPers(Integer roleId, String persIds) throws Exception {
+		Map<String, Object> map = new HashMap<>();
+		sysRoleService.deleteRolePermissions(roleId);
+		sysRoleService.addRolePermissions(roleId, persIds.split(","));
+		return map;
+	}
+
+	/**
+	 * 角色名称字段转换
+	 * 
+	 * @return
+	 */
+	@RequestMapping("/changeRoleName")
+	@ResponseBody
+	public Map<Number, String> changeRoleName() {
+		Map<Number, String> map = new HashMap<Number, String>();
+		List<SysRole> allRoleNames = sysRoleService.getAllRoleName(null);
+
+		for (SysRole sysRole : allRoleNames) {
+			map.put(sysRole.getRoleId(), sysRole.getRoleName());
+		}
+
+		return map;
+	}
+
+	/**
+	 * 获取用户拥有的角色列表
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/getUserRoles")
+	public Msg userRoles(String flag) {
+		SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
+		// 用户角色集合
+		List<SysRole> userRoleList = null;
+		// 用户所拥有的角色
+		String[] roleList = user.getRole().split(",");
+		// 判断是否拥有超管身份标识
+		boolean isSuper = false;
+		boolean isAllShop = false;
+		for (int i = 0; i < roleList.length; i++) {
+			// 有‘超级管理员’身份,状态改为true
+			if ("1".equals(roleList[i])) {
+				isSuper = true;
+				break;
+			}
+
+			// 客服数据管理页面
+			if (StringUtils.isNotEmpty(flag)) {
+				// 拥有‘所有店铺’身份,状态为ture
+				if ("777".equals(roleList[i])) {
+					isAllShop = true;
+					break;
+				}
+			}
+		}
+
+		// 如果有‘超级管理员’身份,查询所有角色;如果没,就查询用户所拥有的且允许被创建的角色
+		if (isSuper) {
+			userRoleList = sysRoleService.getRoles(null);
+		} else {
+			// 如果有‘所有店铺’身份,查询所有允许被创建的角色;如果没,就查询用户所拥有的且允许被创建的角色
+			if (isAllShop) {
+				userRoleList = sysRoleService.getAllRoleName("1");
+			} else {
+				userRoleList = sysRoleService.getRolesByUserId(user.getUserId());
+			}
+		}
+		return Msg.success().add("userRoleList", userRoleList);
+	}
+}

+ 240 - 0
src/main/java/lingtao/net/controller/SysUserController.java

@@ -0,0 +1,240 @@
+package lingtao.net.controller;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.SysUser;
+import lingtao.net.service.SysUserService;
+import lingtao.net.util.PublicMethods;
+
+/**
+ * 用户
+ *
+ */
+@Controller
+public class SysUserController {
+
+	@Autowired
+	private SysUserService sysUserService;
+
+	// 用户跳转页面
+	@RequestMapping("/user/index")
+	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		response.sendRedirect(request.getContextPath() + "/views/system/user/user.jsp");
+	}
+
+	/**
+	 * 根据条件查询用户
+	 */
+	@RequestMapping("/getUserList")
+	@ResponseBody
+	private Msg userList(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, SysUser user) {
+		PageHelper.startPage(page, limit);
+		List<SysUser> list = sysUserService.getUsers(user);
+		PageInfo<SysUser> pageInfo = new PageInfo<SysUser>(list);
+		return Msg.success().add("userList", pageInfo);
+	}
+
+	/**
+	 * 检查用户名是否存在
+	 */
+	@ResponseBody
+	@RequestMapping("/checkUsername")
+	public Msg checkUsername(@RequestParam(value = "username") String username) {
+		return sysUserService.checkUsername(username);
+	}
+
+	/**
+	 * 添加用户
+	 */
+	@ResponseBody
+	@RequestMapping("/addUser")
+	public Msg addUser(SysUser user) {
+		sysUserService.addUser(user);
+		if (StringUtils.isNotEmpty(user.getRole())) {
+			addUserRoles(user);
+		}
+		return Msg.success();
+	}
+
+	/**
+	 * 修改用户
+	 */
+	@ResponseBody
+	@RequestMapping("/updateUser")
+	public Msg updateUserById(SysUser user) {
+		sysUserService.updateUserById(user);
+		sysUserService.deleteUserRoles(user.getUserId());
+		if (StringUtils.isNotEmpty(user.getRole())) {
+			addUserRoles(user);
+		}
+		return Msg.success();
+	}
+
+	/**
+	 * 删除用户
+	 */
+	@RequestMapping("/deleteUserById")
+	@ResponseBody
+	public Msg deleteUserById(@RequestParam("id") Integer userId) {
+		return sysUserService.deleteUserById(userId);
+	}
+
+	/**
+	 * 根据用户编号更改角色
+	 * 
+	 * @param user
+	 */
+	public void addUserRoles(SysUser user) {
+		String[] array = user.getRole().split(",");
+		Integer[] ids = new Integer[array.length];
+		for (int i = 0; i < array.length; i++) {
+			ids[i] = Integer.parseInt(array[i]);
+		}
+		Integer userId = user.getUserId();
+		sysUserService.addUserRoles(userId, ids);
+	}
+
+	/**
+	 * 改变用户状态
+	 */
+	@ResponseBody
+	@RequestMapping("/changeUserStatus")
+	public Msg changeUserStatus(@RequestParam(value = "userId") Integer userId) {
+		return sysUserService.changeUserStatus(userId);
+	}
+
+	/**
+	 * 改变用户系统状态
+	 */
+	@ResponseBody
+	@RequestMapping("/changeSysStatus")
+	public Msg changeSysStatus(@RequestParam(value = "userId") Integer userId) {
+		return sysUserService.changeSysStatus(userId);
+	}
+
+	/**
+	 * 改变所有用户的Ip状态
+	 */
+	@ResponseBody
+	@RequestMapping("/changeNeedIp")
+	public Msg changeNeedIp() {
+		return sysUserService.changeNeedIp();
+	}
+
+	/**
+	 * 改变用户阅读日志状态
+	 */
+	@ResponseBody
+	@RequestMapping("/changeReadLogStatus")
+	public Msg changeReadLogStatus(HttpSession session) {
+		SysUser user = (SysUser) session.getAttribute("USER_SESSION");
+		sysUserService.changeReadLogStatus(user.getUserId());
+		return Msg.success();
+	}
+
+	/**
+	 * 获取用户信息
+	 * 
+	 * @param session
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/getUserInfo")
+	public Msg getUserInfo(HttpSession session) {
+		SysUser user = (SysUser) session.getAttribute("USER_SESSION");
+		SysUser userInfo = sysUserService.getUserInfo(user.getUserId());
+		if (userInfo != null) {
+			return Msg.success().add("userInfo", userInfo);
+		}
+		return Msg.fail();
+	}
+
+	/**
+	 * 修改密码
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/updatePassword")
+	public Msg updatePassword(SysUser user) {
+		return sysUserService.updatePassword(user);
+	}
+
+	/**
+	 * 补充生日
+	 * 
+	 */
+	@ResponseBody
+	@RequestMapping("/addBirthDay")
+	public Msg addBirthDay(SysUser user) {
+		return sysUserService.addBirthDay(user);
+	}
+
+	/**
+	 * 改变用户生日状态
+	 */
+	@ResponseBody
+	@RequestMapping("/changeIsBirthDay")
+	public Msg changeIsBirthDay(HttpSession session) {
+		SysUser user = (SysUser) session.getAttribute("USER_SESSION");
+		sysUserService.changeIsBirthDay(user.getUserId());
+		return Msg.success();
+	}
+
+	/**
+	 * 从session中取出登录用户到信息
+	 * 
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping("/loginAttribute")
+	public Msg loginAttribute(HttpSession session) {
+		SysUser user = (SysUser) session.getAttribute("USER_SESSION");
+		if (user != null) {
+			return Msg.success().add("user", user);
+		}
+		return Msg.fail();
+	}
+
+	/**
+	 * 客服数据 -- 根据搜索的店铺获取人员
+	 * 
+	 * @return
+	 */
+	@RequestMapping("/getRealnamesByShopname")
+	@ResponseBody
+	public Map<String, String> getRealnamesByShopname(@RequestParam(value = "shopname") String shopname,
+			HttpServletRequest request) {
+		Map<String, String> map = new HashMap<String, String>();
+		SysUser user = (SysUser) request.getSession().getAttribute("USER_SESSION");
+		// 没有选择店铺 没有超管或者 没有店铺身份
+		if (StringUtils.isEmpty(shopname) && (!new PublicMethods().isSuper() && !user.getRole().contains("777"))) {
+			return null;
+		}
+		List<SysUser> realnameList = sysUserService.getRealnamesByShopname(shopname);
+
+		for (SysUser sysUser : realnameList) {
+			map.put(sysUser.getRealname(), sysUser.getRealname());
+		}
+
+		return map;
+	}
+
+}

+ 67 - 0
src/main/java/lingtao/net/controller/UpdateLogControllef.java

@@ -0,0 +1,67 @@
+package lingtao.net.controller;
+
+import com.github.pagehelper.PageHelper;
+import lingtao.net.bean.Msg;
+import lingtao.net.bean.UpdateLog;
+import lingtao.net.service.UpdateLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpSession;
+import java.text.SimpleDateFormat;
+import java.util.List;
+
+@RestController
+public class UpdateLogControllef {
+
+	@Autowired
+	private UpdateLogService updateLogService;
+
+	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+	@RequestMapping("/getUpdateLogs")
+	public Msg getUpdateLogs(@RequestParam(value = "page", defaultValue = "1") Integer page,
+			@RequestParam(value = "limit", defaultValue = "10") Integer limit, UpdateLog updateLog) {
+		PageHelper.startPage(page, limit);
+		List<UpdateLog> updateLogList = updateLogService.getUpdateLogs(updateLog);
+		for (UpdateLog log : updateLogList) {
+			log.setAddTimeStr(sdf.format(log.getAddTime()));
+		}
+		return Msg.success().add("list", updateLogList);
+	}
+
+	/**
+	 * 添加更新日志
+	 * 
+	 * @throws Exception
+	 */
+	@RequestMapping("/addLog")
+	public Msg addLog(UpdateLog updateLog, HttpSession session) throws Exception {
+		// 把字符串转为日期格式
+		updateLog.setAddTime(sdf.parse(updateLog.getAddTimeStr()));
+		updateLogService.addLog(updateLog, session);
+		// 更新日志后,把所有用户的阅读更新日志状态改为未读:0
+		updateLogService.changeReadLogStatus();
+		return Msg.success();
+	}
+
+	/**
+	 * 修改更新日志
+	 */
+	@RequestMapping("/updateLog")
+	public Msg updateLog(UpdateLog updateLog, HttpSession session) {
+		updateLogService.updateLogById(updateLog, session);
+		return Msg.success();
+	}
+
+	/**
+	 * 删除
+	 */
+	@RequestMapping("/deleteLog")
+	public Msg deleteLog(@RequestParam("id") Integer id) {
+		updateLogService.deleteLogById(id);
+		return Msg.success();
+	}
+}

+ 38 - 0
src/main/java/lingtao/net/dao/ArticleMapper.java

@@ -0,0 +1,38 @@
+package lingtao.net.dao;
+
+import java.util.List;
+import lingtao.net.bean.Article;
+import lingtao.net.bean.ArticleExample;
+import org.apache.ibatis.annotations.Param;
+
+public interface ArticleMapper {
+    long countByExample(ArticleExample example);
+
+    int deleteByExample(ArticleExample example);
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(Article record);
+
+    int insertSelective(Article record);
+
+    List<Article> selectByExampleWithBLOBs(ArticleExample example);
+
+    List<Article> selectByExample(ArticleExample example);
+
+    Article selectByPrimaryKey(Integer id);
+
+    int updateByExampleSelective(@Param("record") Article record, @Param("example") ArticleExample example);
+
+    int updateByExampleWithBLOBs(@Param("record") Article record, @Param("example") ArticleExample example);
+
+    int updateByExample(@Param("record") Article record, @Param("example") ArticleExample example);
+
+    int updateByPrimaryKeySelective(Article record);
+
+    int updateByPrimaryKeyWithBLOBs(Article record);
+
+    int updateByPrimaryKey(Article record);
+
+	List<Article> getArticle(Article article);
+}

+ 12 - 0
src/main/java/lingtao/net/dao/BugMapper.java

@@ -0,0 +1,12 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import lingtao.net.bean.Bug;
+
+public interface BugMapper {
+
+	List<Bug> getBugs(Bug bug);
+
+	int addBug(Bug bug);
+}

+ 21 - 0
src/main/java/lingtao/net/dao/CommonDao.java

@@ -0,0 +1,21 @@
+package lingtao.net.dao;
+
+import java.io.Serializable;
+import java.util.List;
+
+public interface CommonDao<E, PK extends Serializable> {
+	public List<E> getAll();
+
+	public E get(PK id);
+
+	public void add(E user);
+
+	public void delete(PK id);
+
+	public void batchDelete(PK[] ids);
+
+	public void update(E user);
+
+	public List<E> getList(E condition);
+
+}

+ 23 - 0
src/main/java/lingtao/net/dao/CustomerAwardMapper.java

@@ -0,0 +1,23 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import lingtao.net.bean.CustomerAward;
+
+@Mapper
+public interface CustomerAwardMapper {
+
+	void insertForeach(List<CustomerAward> list);
+
+	List<CustomerAward> getCustomerAward(CustomerAward customerAward);
+
+	// 批量删除
+	public void deleteBatch(int[] ints);
+
+	@Select("select distinct shopname from tbl_customer_award")
+	List<String> getArardShopname();
+
+}

+ 28 - 0
src/main/java/lingtao/net/dao/CustomerDataMapper.java

@@ -0,0 +1,28 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
+
+import lingtao.net.bean.CustomerData;
+
+public interface CustomerDataMapper {
+
+	List<CustomerData> getCustomerDatas(CustomerData customerData);
+
+	void addCustomerData(CustomerData customerData);
+
+	void updateCustomerDataById(CustomerData customerData);
+
+	void deleteCustomerDataById(Integer id);
+	
+	void updateCommentManager(CustomerData customerData);
+	
+	@Update("UPDATE tbl_customer_data SET isBuy = '1',completeDate = now() WHERE id = #{id} ")
+	void changeIsBuy(@Param("id") Integer id);
+
+	List<String> getProductExplain(@Param("productExplain") String productExplain, @Param("username") String username);
+
+
+}

+ 43 - 0
src/main/java/lingtao/net/dao/CustomerTrainMapper.java

@@ -0,0 +1,43 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
+
+import lingtao.net.bean.CustomerTrainContent;
+import lingtao.net.bean.CustomerTrainKindLabel;
+import lingtao.net.bean.CustomerTrainProType;
+
+@Mapper
+public interface CustomerTrainMapper {
+
+	List<CustomerTrainContent> getCustomerTrainContents(CustomerTrainContent customerTrainContent);
+
+	void addCustomerTrainContent(CustomerTrainContent customerTrainContent);
+
+	void updateCustomerTrainContentById(CustomerTrainContent customerTrainContent);
+
+	@Update("update t_customer_knowledge_content set sort = #{sort} where id = #{id}")
+	void updateCustomerTrainContentSort(@Param("id") int id, @Param("sort") int sort);
+
+	void deleteCustomerTrainContentById(Integer id);
+
+	List<CustomerTrainProType> getCustomerTrainProTypes(CustomerTrainProType customerTrainProType);
+
+	void addCustomerTrainProType(CustomerTrainProType customerTrainProType);
+
+	void updateCustomerTrainProTypeById(CustomerTrainProType customerTrainProType);
+
+	void deleteCustomerTrainProTypeById(Integer id);
+
+	List<CustomerTrainKindLabel> getCustomerTrainKindLabelsByProType(CustomerTrainKindLabel customerTrainKindLabel);
+
+	void addCustomerTrainKindLabel(CustomerTrainKindLabel customerTrainKindLabel);
+
+	void updateCustomerTrainKindLabelById(CustomerTrainKindLabel customerTrainKindLabel);
+
+	void deleteCustomerTrainKindLabelById(Integer id);
+
+}

+ 33 - 0
src/main/java/lingtao/net/dao/ExpressFeeMapper.java

@@ -0,0 +1,33 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Select;
+
+import lingtao.net.bean.ExpressFee;
+
+public interface ExpressFeeMapper {
+
+	List<ExpressFee> getExpressFees(ExpressFee expressFee);
+
+	void addExpressFee(ExpressFee expressFee);
+
+	void updateExpressFeeById(ExpressFee expressFee);
+
+	void deleteExpressFeeById(Integer id);
+
+	List<ExpressFee> getShortAnswers();
+
+	@Select("select * from tbl_express_fee where pro_type_value = '999' order by id")
+	List<ExpressFee> getAllExpressFees(ExpressFee expressFee);
+
+	@Select("select * from tbl_express_fee where pro_type_value = '11' order by id")
+	List<ExpressFee> getHandBagExpressFees(ExpressFee expressFee);
+
+	@Select("select * from tbl_express_fee where pro_type_value = '6,7,8' order by id")
+	List<ExpressFee> getTaoExpressFees(ExpressFee expressFee);
+
+	@Select("select * from tbl_express_fee where pro_type_value = '0' order by id")
+	List<ExpressFee> getOtherExpressFees(ExpressFee expressFee);
+
+}

+ 26 - 0
src/main/java/lingtao/net/dao/Finance2Mapper.java

@@ -0,0 +1,26 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import lingtao.net.bean.Finance;
+
+@Mapper
+public interface Finance2Mapper {
+
+	List<Finance> getFinance(Finance finance);
+
+	void insertForeach(List<Finance> list);
+
+	// 查询数据是否存在,避免重复上传
+	String checkAccountNumber(@Param("orderNumber") String orderNumber);
+
+	List<String> getAllFilename(@Param("creator") String creator);
+
+	@Delete("delete from tbl_sys_finance where filename = #{filename} and creator = #{realname}")
+	void deleteDataByFilename(@Param("filename") String filename, @Param("realname") String realname);
+
+}

+ 52 - 0
src/main/java/lingtao/net/dao/Finance3Mapper.java

@@ -0,0 +1,52 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import lingtao.net.bean.Finance;
+
+@Mapper
+public interface Finance3Mapper {
+
+	List<Finance> getFinance(Finance finance);
+	List<Finance> getFinance4(Finance finance);
+	List<Finance> getFinance5(Finance finance);
+
+	void insertForeach(List<Finance> list);
+	void insertForeach4(List<Finance> list);
+	void insertForeach5(List<Finance> list);
+
+	// 查询数据是否存在,避免重复上传
+	String checkAccountNumber(@Param("orderNumber") String orderNumber);
+	String checkAccountNumber4(@Param("orderNumber") String orderNumber);
+	String checkAccountNumber5(@Param("orderNumber") String orderNumber);
+
+	List<String> getAllFilename(@Param("creator") String creator);
+	List<String> getAllFilename4(@Param("creator") String creator);
+	List<String> getAllFilename5(@Param("creator") String creator);
+
+	@Delete("delete from tbl_sys_finance3 where filename = #{filename} and creator = #{realname}")
+	void deleteDataByFilename(@Param("filename") String filename, @Param("realname") String realname);
+	@Delete("delete from tbl_sys_finance4 where filename = #{filename} and creator = #{realname}")
+	void deleteDataByFilename4(@Param("filename") String filename, @Param("realname") String realname);
+	@Delete("delete from tbl_sys_finance5 where filename = #{filename} and creator = #{realname}")
+	void deleteDataByFilename5(@Param("filename") String filename, @Param("realname") String realname);
+
+	List<Finance> getFinance6(Finance finance);
+	void insertForeach6(List<Finance> list);
+	String checkAccountNumber6(@Param("orderNumber") String orderNumber);
+	List<String> getAllFilename6(@Param("creator") String creator);
+	@Delete("delete from tbl_sys_finance6 where filename = #{filename} and creator = #{realname}")
+	void deleteDataByFilename6(@Param("filename") String filename, @Param("realname") String realname);
+	
+	List<Finance> getFinance7(Finance finance);
+	void insertForeach7(List<Finance> list);
+	String checkAccountNumber7(@Param("orderNumber") String orderNumber);
+	List<String> getAllFilename7(@Param("creator") String creator);
+	@Delete("delete from tbl_sys_finance7 where filename = #{filename} and creator = #{realname}")
+	void deleteDataByFilename7(@Param("filename") String filename, @Param("realname") String realname);
+	
+}

+ 17 - 0
src/main/java/lingtao/net/dao/FinanceDifferenceMapper.java

@@ -0,0 +1,17 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+
+import lingtao.net.bean.FinanceDifference;
+
+public interface FinanceDifferenceMapper {
+
+	List<FinanceDifference> get(FinanceDifference difference);
+
+	void insertForeach(List<FinanceDifference> list);
+	
+	List<String> getAllFilename(@Param("creator")String creator);
+
+}

+ 26 - 0
src/main/java/lingtao/net/dao/FinanceExtractMapper.java

@@ -0,0 +1,26 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import lingtao.net.bean.FinanceExtract;
+
+@Mapper
+public interface FinanceExtractMapper {
+
+	List<FinanceExtract> getFinanceExtract(FinanceExtract financeExtract);
+
+	void insertForeach(List<FinanceExtract> list);
+
+	// 查询数据是否存在,避免重复上传
+	String checkAccountNumber(@Param("orderNumber") String orderNumber);
+
+	List<String> getFilename_extract(@Param("creator") String creator);
+
+	@Delete("delete from tbl_sys_finance_extract where filename = #{filename} and creator = #{realname}")
+	void deleteDataByFilename(@Param("filename") String filename, @Param("realname") String realname);
+
+}

+ 26 - 0
src/main/java/lingtao/net/dao/FinanceMapper.java

@@ -0,0 +1,26 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import lingtao.net.bean.Finance;
+
+@Mapper
+public interface FinanceMapper {
+
+	List<Finance> getFinance(Finance finance);
+
+	void insertForeach(List<Finance> list);
+
+	// 查询数据是否存在,避免重复上传
+	String checkAccountNumber(@Param("orderNumber") String orderNumber);
+
+	List<String> getAllFilename(@Param("creator") String creator);
+
+	@Delete("delete from tbl_sys_finance where filename = #{filename} and creator = #{realname}")
+	void deleteDataByFilename(@Param("filename") String filename, @Param("realname") String realname);
+
+}

+ 19 - 0
src/main/java/lingtao/net/dao/InformationMapper.java

@@ -0,0 +1,19 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import lingtao.net.bean.Information;
+
+public interface InformationMapper {
+
+	List<Information> getInformations(Information information);
+
+	void addInformation(Information information);
+
+	void updateInformationById(Information information);
+
+	void deleteInformationById(Integer id);
+
+	List<Information> getShortAnswers();
+
+}

+ 27 - 0
src/main/java/lingtao/net/dao/LoginIpMapper.java

@@ -0,0 +1,27 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Select;
+
+import lingtao.net.bean.LoginIp;
+
+public interface LoginIpMapper {
+
+	public List<LoginIp> getLoginIpList(LoginIp loginIp);
+
+	@Select("select agreeIp from tbl_login_ip")
+	public List<String> getAllIp();
+
+	public void addIp(LoginIp loginIp);
+	public void updateIp(LoginIp loginIp);
+
+	public int deleteIpById(Integer id);
+
+	// 批量删除
+	public void deleteBatch(int[] ints);
+
+	@Select("select * from tbl_login_ip where agreeIp = #{agreeIp}")
+	public LoginIp checkIP(String agreeIp);
+
+}

+ 16 - 0
src/main/java/lingtao/net/dao/LoginLogMapper.java

@@ -0,0 +1,16 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Insert;
+
+import lingtao.net.bean.LoginLog;
+
+public interface LoginLogMapper {
+
+	List<LoginLog> getLoginLogList(LoginLog loginLog);
+
+	@Insert("insert into tbl_login_log set remark = #{remark},status = #{status}")
+	int addLog(LoginLog loginLog);
+
+}

+ 32 - 0
src/main/java/lingtao/net/dao/MyFileMapper.java

@@ -0,0 +1,32 @@
+package lingtao.net.dao;
+
+import java.util.List;
+import lingtao.net.bean.MyFile;
+import lingtao.net.bean.MyFileExample;
+import org.apache.ibatis.annotations.Param;
+
+public interface MyFileMapper {
+    long countByExample(MyFileExample example);
+
+    int deleteByExample(MyFileExample example);
+
+    int deleteByPrimaryKey(Integer fileId);
+
+    int insert(MyFile record);
+
+    int insertSelective(MyFile record);
+
+    List<MyFile> selectByExample(MyFileExample example);
+
+    MyFile selectByPrimaryKey(Integer fileId);
+
+    int updateByExampleSelective(@Param("record") MyFile record, @Param("example") MyFileExample example);
+
+    int updateByExample(@Param("record") MyFile record, @Param("example") MyFileExample example);
+
+    int updateByPrimaryKeySelective(MyFile record);
+
+    int updateByPrimaryKey(MyFile record);
+
+	List<MyFile> getFileList(MyFile myFile);
+}

+ 34 - 0
src/main/java/lingtao/net/dao/ProductImgMapper.java

@@ -0,0 +1,34 @@
+package lingtao.net.dao;
+
+import lingtao.net.bean.ProductImg;
+import lingtao.net.bean.SysDictProduct;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+public interface ProductImgMapper {
+
+    List<ProductImg> getProKindList(ProductImg productImg);
+
+    SysDictProduct getLabel(ProductImg productImg);
+
+    int addImgUrl(ProductImg productImg);
+
+    int updateImgUploadRemark(ProductImg productImg);
+
+    List<SysDictProduct> findAllPro();
+
+    List<SysDictProduct> getKindsByPro(@Param("proTypeValue") String proTypeValue);
+
+    List<SysDictProduct> getKind2sByKind(@Param("proTypeValue") String proTypeValue,
+                                         @Param("kindValue") String kindValue);
+
+    List<ProductImg> getImgsByProKind(@Param("proTypeValue") String proTypeValue, @Param("kindValue") String kindValue,
+                                      @Param("kind2Value") String kind2Value, @Param("craftValue") String craftValue);
+
+    // 获取视频地址
+    @Select("select img_url from product_img where pro_type_value = '999'")
+    List<String> getVideos();
+
+}

+ 60 - 0
src/main/java/lingtao/net/dao/ProductMapper.java

@@ -0,0 +1,60 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+
+import lingtao.net.bean.Product;
+import lingtao.net.bean.SysDictSearchPro;
+
+public interface ProductMapper {
+
+	// 价格列表
+	List<Product> getProductList(Product product);
+	
+	// 更新价格
+	int updatePriceById(Product product);
+
+	// 得到所有的产品种类
+	List<Product> findAllPro();
+
+	// 根据产品种类得到旗下的产品品种
+	List<Product> getKindsByPro(@Param("proTypeValue") String proTypeValue);
+
+	// 根据关键字搜索产品菜单
+	List<SysDictSearchPro> searchPro(@Param("likeProTypeLabel") String likeProTypeLabel);
+
+	// 价格导入
+	void insertSelective(Product vo);
+
+	// 根据种类和品种得到单价,再根据尺寸—数量计算价格
+	List<Product> getThanPrice(Product product);
+
+	// 优惠券5位以上1万以内价格
+	List<Product> couponThanPrice(Product dto);
+	
+	// 优惠券位以上1万以内价格
+	List<Product> couponThanPrices(Product dto);
+
+	// 优惠券5位以上1万以上价格
+	List<Product> couponThousandThanPrice(Product dto);
+
+	// 吊旗/宣传单5位数以上价格计算(同 couponThanPrice)
+	List<Product> diaoqiThanPrice(Product dto);
+
+	// 吊旗比优惠券价格贵5/10块钱一位--1万以内
+	List<Product> hangingFlagsThanPrice(Product dto);
+
+	// 吊旗比优惠券价格贵10--1万以上的价格
+	List<Product> hangingFlagsThousandThanPrice(Product dto);
+
+	// 便签本联单/稿纸超过1千数量的价格
+	List<Product> notePaperPrice(Product dto);
+
+	// 优惠券、吊旗、腰封;便签本彩胶纸/红头文件;扇子;超过1万数量的价格
+	List<Product> thanThousandPrice(Product dto);
+
+	//慕斯垫价格计算
+	List<Product> getMsdPrice(Product dto);
+
+}

+ 25 - 0
src/main/java/lingtao/net/dao/QuestionMapper.java

@@ -0,0 +1,25 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+
+import lingtao.net.bean.Question;
+
+public interface QuestionMapper {
+
+	List<Question> questions(Question question);
+
+	int addQuestion(Question question);
+
+	int updateQuestionById(Question question);
+
+	int deleteQuestionById(@Param("id") Integer id);
+
+	List<Question> getSingleQuestions();
+
+	List<Question> getMultipleQuestions();
+
+	List<Question> getFillQuestions();
+
+}

+ 42 - 0
src/main/java/lingtao/net/dao/QuoteDataMapper.java

@@ -0,0 +1,42 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+
+import lingtao.net.bean.QuoteData;
+
+public interface QuoteDataMapper {
+
+	List<QuoteData> quoteDatas(QuoteData quoteData);
+
+	void updateById(QuoteData quoteData);
+
+	void changeIsBuyToDay(@Param("id") Integer id);
+
+	void changeIsBuy(@Param("id") Integer id);
+
+	@Update("update tbl_quote_data set shopname = #{shopname},isSelect = 1,selectDate = now() where id = #{id}")
+	void updateShopnameSelect(@Param("shopname") String shopname, @Param("id") Integer id);
+
+	@Update("update tbl_quote_data set orderNumber = #{orderNumber} where id = #{id}")
+	void addOrderNumber(@Param("id") Integer id, @Param("orderNumber") String orderNumber);
+
+	void addQuoteData(QuoteData quoteData);
+
+	List<String> getQuoteDataByMinutes(String username);
+
+	List<String> getShopName(QuoteData quoteData);
+
+	@Select("select distinct proTypeLabel from tbl_quote_data WHERE proTypeLabel IS NOT NULL")
+	List<String> getProType();
+
+	List<String> getRealnames(@Param("shopname") String shopname);
+	
+	QuoteData getEchartList(QuoteData quoteData);
+
+	QuoteData getKefuEchartList(QuoteData quoteData);//客服大单流失列表
+	
+}

+ 12 - 0
src/main/java/lingtao/net/dao/QuoteLogMapper.java

@@ -0,0 +1,12 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import lingtao.net.bean.QuoteLog;
+
+public interface QuoteLogMapper {
+
+	List<QuoteLog> quoteLogs(QuoteLog quoteLog);
+
+	void insertSelective(QuoteLog log);
+}

+ 19 - 0
src/main/java/lingtao/net/dao/SysDictSearchProMapper.java

@@ -0,0 +1,19 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+
+import lingtao.net.bean.SysDictSearchPro;
+
+public interface SysDictSearchProMapper {
+
+	List<SysDictSearchPro> keyWordsList(SysDictSearchPro searchPro);
+
+	int changeKeyWordStatus(@Param("id") Integer id);
+
+	int insertSelective(SysDictSearchPro searchPro);
+
+	int updateKeyWordById(SysDictSearchPro searchPro);
+
+}

+ 15 - 0
src/main/java/lingtao/net/dao/SysPermissionMapper.java

@@ -0,0 +1,15 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import lingtao.net.bean.SysPermission;
+
+public interface SysPermissionMapper {
+
+	List<SysPermission> getAll();
+
+	List<SysPermission> getParentPers();
+
+	List<SysPermission> getPersByUserId(Integer integer);
+
+}

+ 37 - 0
src/main/java/lingtao/net/dao/SysRoleMapper.java

@@ -0,0 +1,37 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import lingtao.net.bean.SysRole;
+
+public interface SysRoleMapper {
+
+	int insertSelective(SysRole role);
+
+	List<SysRole> getRoles(SysRole role);
+
+	int updateByPrimaryKeySelective(SysRole role);
+
+	int changeRoleStatus(@Param("roleId") String roleId);
+
+	// 根据角色编号查询对应的权限编号集合
+	public List<Integer> getPerIdsByRoleId(@Param("roleId") Integer roleId);
+
+	public void deleteRolePermissions(Integer roleId);
+
+	public void addRolePermissions(@Param("roleId") Integer roleId, @Param("perIds") String[] perIds);
+
+	List<SysRole> getAllRoleName(@Param("isRegist") String isRegist);
+
+	// 查询出用户所拥有的且允许被创建的角色
+	List<SysRole> getRolesByUserId(@Param("userId") Integer userId);
+
+	@Select("select roleId from tbl_sys_role where isRegist = '0'")
+	List<Integer> getRoleIdsWhenIsNotRegist();
+
+	@Select("select roleId from tbl_sys_role where isSelf = '0'")
+	List<Integer> getRoleIdsWhenIsNotLingTao();
+}

+ 73 - 0
src/main/java/lingtao/net/dao/SysUserMapper.java

@@ -0,0 +1,73 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+
+import lingtao.net.bean.SysUser;
+
+public interface SysUserMapper {
+	int deleteByPrimaryKey(Integer userId);
+
+	int insertSelective(SysUser record);
+
+	int updateByPrimaryKeySelective(SysUser record);
+
+	@Select("select * from tbl_sys_user where username = #{username}")
+	SysUser getUserByUsername(@Param("username") String username);
+
+	List<SysUser> getUsers(SysUser user);
+
+	int changeUserStatus(@Param("userId") Integer userId);
+
+	public void addUserRoles(@Param("userId") Integer userId, @Param("roleIds") Integer[] roleIds);
+
+	void deleteUserRoles(@Param("userId") Integer userId);
+
+	int addBirthDay(SysUser user);
+
+	int changeSysStatus(@Param("userId") Integer userId);
+
+	int changeNeedIp();
+
+	@Update("update tbl_sys_user set sysStatus = 1 where sysStatus = 0 and userId = #{userId}")
+	int videoOverToChangeSysStatus(@Param("userId") Integer userId);
+
+	@Update("update tbl_sys_user set sysStatus = 2 where userId = #{userId}")
+	int examOverToChangeSysStatus(@Param("userId") Integer userId);
+
+	@Update("update tbl_sys_user set readLogStatus = 1 where userId = #{userId}")
+	int changeReadLogStatus(Integer userId);
+
+	@Select("select * from tbl_sys_user where userId = #{userId}")
+	SysUser getUserInfo(Integer userId);
+
+	/**
+	 * 如果当天生日,更改状态
+	 * 
+	 * @param isBirthDay
+	 * @param userId
+	 * @return
+	 */
+	@Update("update tbl_sys_user set isBirthDay = #{isBirthDay} where userId = #{userId}")
+	int setIsBirthDay(@Param("isBirthDay") Integer isBirthDay, @Param("userId") Integer userId);
+
+	/**
+	 * 改变生日状态
+	 * 
+	 * @param userId
+	 */
+	@Update("update tbl_sys_user set isBirthDay = 0 where userId = #{userId}")
+	void changeIsBirthDay(Integer userId);
+
+	/**
+	 * 客服数据 -- 根据搜索的店铺获取人员
+	 * 
+	 * @param shopname
+	 */
+	@Select("select * from tbl_sys_user where role like '%${shopname}%'")
+	List<SysUser> getRealnamesByShopname(@Param("shopname") String shopname);
+
+}

+ 22 - 0
src/main/java/lingtao/net/dao/UpdateLogMapper.java

@@ -0,0 +1,22 @@
+package lingtao.net.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Update;
+
+import lingtao.net.bean.UpdateLog;
+
+public interface UpdateLogMapper {
+
+	List<UpdateLog> getUpdateLogs(UpdateLog updateLog);
+
+	int addLog(UpdateLog updateLog);
+
+	int deleteLogById(Integer id);
+
+	int updateLogById(UpdateLog updateLog);
+
+	@Update("UPDATE tbl_sys_user SET readLogStatus = 0")
+	void changeReadLogStatus();
+
+}

+ 59 - 0
src/main/java/lingtao/net/entity/ClothingTag.java

@@ -0,0 +1,59 @@
+package lingtao.net.entity;
+
+import lingtao.net.enums.ClothingTagMater;
+import lingtao.net.enums.ClothingTagTechEnum;
+import lingtao.net.enums.ProductMembrane;
+import lingtao.net.enums.ProductSlice;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ClothingTag {
+
+    private Long id;
+
+    /**
+     * 材质
+     */
+    private ClothingTagMater material;
+
+    /**
+     * 工艺
+     */
+    private ClothingTagTechEnum technique;
+
+    /**
+     * 覆膜
+     */
+    private ProductMembrane productMembrane;
+    /**
+     * 切割
+     */
+    private ProductSlice productSlice;
+
+    /**
+     * 是否加棉绳
+     */
+    private boolean isRope;
+
+    /**
+     * 绳子公式
+     */
+    private String ropeFormula;
+
+    /**
+     * 计算方法
+     */
+    private List<String> compute;
+
+    /**
+     * 是否多面
+     */
+    private boolean isMulti;
+
+    /**
+     * 计算公式
+     */
+    private String formula;
+}

+ 4 - 0
src/main/java/lingtao/net/entity/SelfAdhesiveSticker.java

@@ -0,0 +1,4 @@
+package lingtao.net.entity;
+
+public class SelfAdhesiveSticker {
+}

+ 23 - 0
src/main/java/lingtao/net/enums/ClothingTagMater.java

@@ -0,0 +1,23 @@
+package lingtao.net.enums;
+
+public enum ClothingTagMater {
+    g350(0, "350克铜版纸"),
+    g600(1, "600克铜版纸");
+
+    ClothingTagMater(Integer code, String value) {
+        this.code = code;
+        this.value = value;
+    }
+
+    private Integer code;
+
+    private String value;
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getValue() {
+        return value;
+    }
+}

+ 28 - 0
src/main/java/lingtao/net/enums/ClothingTagTechEnum.java

@@ -0,0 +1,28 @@
+package lingtao.net.enums;
+
+public enum ClothingTagTechEnum {
+
+    none(0, "无"),
+    hot_gold_on_one_side(1, "单面烫金"),
+    single_concave_and_convex(2, "凹凸"),
+    hot_gold_on_two_side(3, "双面烫金"),
+    hot_gold_concave_and_convex_on_one_side(4, "单面烫金+凹凸"),
+    ;
+
+    ClothingTagTechEnum(Integer code, String value) {
+        this.code = code;
+        this.value = value;
+    }
+
+    private Integer code;
+
+    private String value;
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getValue() {
+        return value;
+    }
+}

+ 25 - 0
src/main/java/lingtao/net/enums/ProductEnum.java

@@ -0,0 +1,25 @@
+package lingtao.net.enums;
+
+import lingtao.net.entity.SelfAdhesiveSticker;
+
+public enum ProductEnum {
+    clothing_Tag(0, "服装吊牌"),
+    self_adhesive_sticker(1, "不干胶");
+
+    ProductEnum(Integer code, String value) {
+        this.code = code;
+        this.value = value;
+    }
+
+    private Integer code;
+
+    private String value;
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getValue() {
+        return value;
+    }
+}

+ 24 - 0
src/main/java/lingtao/net/enums/ProductMembrane.java

@@ -0,0 +1,24 @@
+package lingtao.net.enums;
+
+public enum ProductMembrane {
+
+    none(0, "不覆膜"),
+    double_matte_film(1, "双面覆哑膜");
+
+    ProductMembrane(Integer code, String value) {
+        this.code = code;
+        this.value = value;
+    }
+
+    private Integer code;
+
+    private String value;
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getValue() {
+        return value;
+    }
+}

+ 24 - 0
src/main/java/lingtao/net/enums/ProductSlice.java

@@ -0,0 +1,24 @@
+package lingtao.net.enums;
+
+public enum ProductSlice {
+    none(0, "不操作"),
+    right_angle_punch(1, "直角打孔"),
+    profiled_die_cutting(2, "异形模切");
+
+    ProductSlice(Integer code, String value) {
+        this.code = code;
+        this.value = value;
+    }
+
+    private Integer code;
+
+    private String value;
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getValue() {
+        return value;
+    }
+}

+ 106 - 0
src/main/java/lingtao/net/gui/LoginGui.java

@@ -0,0 +1,106 @@
+//package lingtao.net.gui;
+//
+//import java.awt.EventQueue;
+//import java.awt.event.ActionEvent;
+//import java.awt.event.ActionListener;
+//import java.util.List;
+//
+//import javax.swing.JButton;
+//import javax.swing.JFrame;
+//import javax.swing.JLabel;
+//import javax.swing.JPanel;
+//import javax.swing.JTextField;
+//import javax.swing.border.EmptyBorder;
+//
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Controller;
+//
+//import lingtao.net.bean.Product;
+//import lingtao.net.service.ProductService;
+//
+//
+//@Controller
+//public class LoginGui extends JFrame {
+//
+//	private JPanel contentPane;
+//	private JTextField username;
+//	private JTextField password;
+//	private JLabel textField__1;
+//	private JLabel textField__2;
+//	private JButton btn_submit;
+//	@Autowired
+//	private ProductService priceService;
+//
+//	/**
+//	 * Launch the application.
+//	 */
+//	public static void main(String[] args) {
+//		EventQueue.invokeLater(new Runnable() {
+//			public void run() {
+//				try {
+//					LoginGui frame = new LoginGui();
+//					frame.setVisible(true);
+//				} catch (Exception e) {
+//					e.printStackTrace();
+//				}
+//			}
+//		});
+//	}
+//
+//	/**
+//	 * Create the frame.
+//	 */
+//	public LoginGui() {
+//		init();
+//		listener();
+//	}
+//
+//	//登录监听
+//	public void listener() {
+//		btn_submit.addActionListener(new ActionListener() {
+//			public void actionPerformed(ActionEvent e) {
+//				username.getText();
+//				password.getText();
+//				List<Product> allPro = priceService.findAllPro();
+//				System.out.println(allPro);
+//			}
+//		});
+//
+//	}
+//
+//	private void init() {
+//		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+//		setBounds(100, 100, 450, 300);
+//		contentPane = new JPanel();
+//		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
+//		setContentPane(contentPane);
+//		contentPane.setLayout(null);
+//
+//		JPanel panel = new JPanel();
+//		panel.setBounds(0, 0, 434, 262);
+//		contentPane.add(panel);
+//		panel.setLayout(null);
+//
+//		textField__1 = new JLabel("用户名:");
+//		textField__1.setBounds(99, 54, 54, 15);
+//		panel.add(textField__1);
+//
+//		textField__2 = new JLabel("密码:");
+//		textField__2.setBounds(99, 110, 43, 15);
+//		panel.add(textField__2);
+//
+//		username = new JTextField();
+//		username.setBounds(152, 54, 175, 21);
+//		panel.add(username);
+//		username.setColumns(10);
+//
+//		password = new JTextField();
+//		password.setColumns(10);
+//		password.setBounds(152, 110, 175, 21);
+//		panel.add(password);
+//
+//		btn_submit = new JButton("登录");
+//		btn_submit.setBounds(158, 160, 130, 37);
+//		panel.add(btn_submit);
+//	}
+//}

+ 98 - 0
src/main/java/lingtao/net/gui/PriceGui.java

@@ -0,0 +1,98 @@
+//package lingtao.net.gui;
+//
+//import java.awt.BorderLayout;
+//import java.awt.EventQueue;
+//
+//import javax.swing.JFrame;
+//import javax.swing.JPanel;
+//import javax.swing.border.EmptyBorder;
+//import javax.swing.JRadioButton;
+//import javax.swing.JComboBox;
+//import javax.swing.DefaultComboBoxModel;
+//
+//public class PriceGui extends JFrame {
+//
+//	private JPanel contentPane;
+//
+//	/**
+//	 * Launch the application.
+//	 */
+//	public static void main(String[] args) {
+//		EventQueue.invokeLater(new Runnable() {
+//			public void run() {
+//				try {
+//					PriceGui frame = new PriceGui();
+//					frame.setVisible(true);
+//				} catch (Exception e) {
+//					e.printStackTrace();
+//				}
+//			}
+//		});
+//	}
+//
+//	/**
+//	 * Create the frame.
+//	 */
+//	public PriceGui() {
+//		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+//		setBounds(100, 100, 861, 558);
+//		contentPane = new JPanel();
+//		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
+//		setContentPane(contentPane);
+//		contentPane.setLayout(null);
+//
+//		JPanel panel = new JPanel();
+//		panel.setBounds(0, 0, 845, 520);
+//		contentPane.add(panel);
+//		panel.setLayout(null);
+//
+//		JRadioButton rdbtnNewRadioButton = new JRadioButton("不干胶");
+//		rdbtnNewRadioButton.setBounds(0, 26, 89, 23);
+//		panel.add(rdbtnNewRadioButton);
+//
+//		JRadioButton 特殊不干胶 = new JRadioButton("特殊不干胶");
+//		特殊不干胶.setBounds(0, 67, 111, 23);
+//		panel.add(特殊不干胶);
+//
+//		JComboBox comboBox = new JComboBox();
+//		comboBox.setModel(new DefaultComboBoxModel(new String[] {"", "A级铜板不干胶(加胶加粘)", "哑膜A级铜版纸不干胶(加胶加粘)", "pvc透明(加胶加粘)", "复古牛皮纸贴纸(加胶加粘)"}));
+//		comboBox.setBounds(119, 27, 203, 21);
+//		panel.add(comboBox);
+//
+//		JRadioButton rdbtnNewRadioButton_2 = new JRadioButton("卷装标签");
+//		rdbtnNewRadioButton_2.setBounds(0, 104, 106, 23);
+//		panel.add(rdbtnNewRadioButton_2);
+//
+//		JRadioButton rdbtnNewRadioButton_1 = new JRadioButton("插卡");
+//		rdbtnNewRadioButton_1.setBounds(0, 144, 106, 34);
+//		panel.add(rdbtnNewRadioButton_1);
+//
+//		JRadioButton rdbtnNewRadioButton_3 = new JRadioButton("优惠券");
+//		rdbtnNewRadioButton_3.setBounds(0, 180, 111, 23);
+//		panel.add(rdbtnNewRadioButton_3);
+//
+//		JRadioButton rdbtnNewRadioButton_3_1 = new JRadioButton("腰封");
+//		rdbtnNewRadioButton_3_1.setBounds(0, 218, 106, 23);
+//		panel.add(rdbtnNewRadioButton_3_1);
+//
+//		JComboBox comboBox_1 = new JComboBox();
+//		comboBox_1.setBounds(119, 68, 203, 21);
+//		panel.add(comboBox_1);
+//
+//		JComboBox comboBox_2 = new JComboBox();
+//		comboBox_2.setBounds(119, 105, 203, 21);
+//		panel.add(comboBox_2);
+//
+//		JComboBox comboBox_3 = new JComboBox();
+//		comboBox_3.setBounds(119, 145, 203, 21);
+//		panel.add(comboBox_3);
+//
+//		JComboBox comboBox_4 = new JComboBox();
+//		comboBox_4.setBounds(119, 181, 203, 21);
+//		panel.add(comboBox_4);
+//
+//		JComboBox comboBox_5 = new JComboBox();
+//		comboBox_5.setBounds(119, 219, 203, 21);
+//		panel.add(comboBox_5);
+//	}
+//}

Some files were not shown because too many files changed in this diff