153 changed files with 6419 additions and 59 deletions
@ -0,0 +1,35 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
|
|||
<parent> |
|||
<artifactId>epmet-ext</artifactId> |
|||
<groupId>com.epmet</groupId> |
|||
<version>2.0.0</version> |
|||
</parent> |
|||
|
|||
|
|||
<artifactId>epmet-ext-client</artifactId> |
|||
<packaging>jar</packaging> |
|||
|
|||
<dependencies> |
|||
<dependency> |
|||
<groupId>com.epmet</groupId> |
|||
<artifactId>epmet-commons-tools</artifactId> |
|||
<version>2.0.0</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.github.binarywang</groupId> |
|||
<artifactId>weixin-java-mp</artifactId> |
|||
<version>3.6.0</version> |
|||
<scope>compile</scope> |
|||
</dependency> |
|||
</dependencies> |
|||
|
|||
<build> |
|||
<finalName>${project.artifactId}</finalName> |
|||
</build> |
|||
|
|||
</project> |
@ -0,0 +1,31 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/13 9:33 上午 |
|||
*/ |
|||
@Data |
|||
public class StaffSinAgencyFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1827402498483127629L; |
|||
|
|||
//后端自己看
|
|||
public interface StaffSinAgency{} |
|||
|
|||
/** |
|||
* appId+customerId+时间戳加密secret |
|||
*/ |
|||
// @NotBlank(message = "secret不能为空",groups = {StaffSinDept.class})
|
|||
private String accessToken; |
|||
|
|||
/** |
|||
* 机关Id |
|||
*/ |
|||
@NotBlank(message = "机关Id不能为空",groups = {StaffSinAgency.class}) |
|||
private String agencyId; |
|||
} |
@ -0,0 +1,31 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/13 9:33 上午 |
|||
*/ |
|||
@Data |
|||
public class StaffSinDeptFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1827404498483127629L; |
|||
|
|||
//后端自己看
|
|||
public interface StaffSinDept{} |
|||
|
|||
/** |
|||
* appId+customerId+时间戳加密secret |
|||
*/ |
|||
// @NotBlank(message = "secret不能为空",groups = {StaffSinDept.class})
|
|||
private String accessToken; |
|||
|
|||
/** |
|||
* 部门Id |
|||
*/ |
|||
@NotBlank(message = "部门Id不能为空",groups = {StaffSinDept.class}) |
|||
private String departmentId; |
|||
} |
@ -0,0 +1,32 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/13 9:33 上午 |
|||
*/ |
|||
@Data |
|||
public class StaffSinGridFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1827404498483127629L; |
|||
|
|||
//后端自己看
|
|||
public interface StaffSinGrid{} |
|||
|
|||
/** |
|||
* appId+customerId+时间戳加密secret |
|||
*/ |
|||
// @NotBlank(message = "secret不能为空",groups = {StaffSinGrid.class})
|
|||
private String accessToken; |
|||
|
|||
/** |
|||
* 网格Id |
|||
*/ |
|||
@NotBlank(message = "网格Id不能为空",groups = {StaffSinGrid.class}) |
|||
private String gridId; |
|||
} |
@ -0,0 +1,32 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/13 9:30 上午 |
|||
*/ |
|||
@Data |
|||
public class RoleResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = -4321366067217459L; |
|||
|
|||
/** |
|||
* 角色key |
|||
*/ |
|||
private String roleKey; |
|||
|
|||
/** |
|||
* 角色名称 |
|||
*/ |
|||
private String roleName; |
|||
|
|||
/** |
|||
* 用户id |
|||
*/ |
|||
@JsonIgnore |
|||
private String userId; |
|||
} |
@ -0,0 +1,42 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/13 9:25 上午 |
|||
*/ |
|||
@Data |
|||
public class StaffSinDeptResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = -3440415466710443002L; |
|||
|
|||
/** |
|||
* 工作人员Id |
|||
*/ |
|||
private String staffId; |
|||
|
|||
/** |
|||
* 工作人员名称 |
|||
*/ |
|||
private String staffName; |
|||
|
|||
/** |
|||
* 头像 |
|||
*/ |
|||
private String headPhoto; |
|||
|
|||
/** |
|||
* 性别,1男2女0未知 |
|||
*/ |
|||
private Integer gender; |
|||
|
|||
/** |
|||
* 角色列表 |
|||
*/ |
|||
private List<RoleResultDTO> roleList; |
|||
|
|||
} |
@ -0,0 +1,11 @@ |
|||
FROM java:8 |
|||
|
|||
RUN export LANG="zh_CN.UTF-8" |
|||
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
|||
RUN echo 'Asia/Shanghai' > /etc/timezone |
|||
|
|||
COPY ./target/*.jar ./app.jar |
|||
|
|||
EXPOSE 8113 |
|||
|
|||
ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] |
@ -0,0 +1,17 @@ |
|||
version: "3.7" |
|||
services: |
|||
epmet-ext-server: |
|||
container_name: epmet-ext-server-dev |
|||
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-ext-server:0.0.1 |
|||
ports: |
|||
- "8113:8113" |
|||
network_mode: host # 使用现有网络 |
|||
volumes: |
|||
- "/opt/epmet-cloud-logs/dev:/logs" |
|||
environment: |
|||
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" |
|||
deploy: |
|||
resources: |
|||
limits: |
|||
cpus: '0.1' |
|||
memory: 250M |
@ -0,0 +1,17 @@ |
|||
version: "3.7" |
|||
services: |
|||
epmet-ext-server: |
|||
container_name: epmet-ext-server-prod |
|||
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-ext-server:0.0.1 |
|||
ports: |
|||
- "8113:8113" |
|||
network_mode: host # 使用现有网络 |
|||
volumes: |
|||
- "/opt/epmet-cloud-logs/prod:/logs" |
|||
environment: |
|||
RUN_INSTRUCT: "java -Xms256m -Xmx512m -jar ./app.jar" |
|||
deploy: |
|||
resources: |
|||
limits: |
|||
cpus: '0.1' |
|||
memory: 600M |
@ -0,0 +1,17 @@ |
|||
version: "3.7" |
|||
services: |
|||
epmet-ext-server: |
|||
container_name: epmet-ext-server-test |
|||
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-ext-server:0.0.1 |
|||
ports: |
|||
- "8113:8113" |
|||
network_mode: host # 使用现有网络 |
|||
volumes: |
|||
- "/opt/epmet-cloud-logs/test:/logs" |
|||
environment: |
|||
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar" |
|||
deploy: |
|||
resources: |
|||
limits: |
|||
cpus: '0.1' |
|||
memory: 250M |
@ -0,0 +1,293 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<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> |
|||
<version>0.0.1</version> |
|||
|
|||
<parent> |
|||
<groupId>com.epmet</groupId> |
|||
<artifactId>epmet-ext</artifactId> |
|||
<version>2.0.0</version> |
|||
</parent> |
|||
|
|||
<artifactId>epmet-ext-server</artifactId> |
|||
<packaging>jar</packaging> |
|||
|
|||
<properties> |
|||
<aliyun.core.version>3.2.2</aliyun.core.version> |
|||
<aliyun.dysmsapi.version>1.1.0</aliyun.dysmsapi.version> |
|||
<qcloud.qcloudsms.version>1.0.5</qcloud.qcloudsms.version> |
|||
<freemarker.version>2.3.28</freemarker.version> |
|||
</properties> |
|||
|
|||
<dependencies> |
|||
<dependency> |
|||
<groupId>com.epmet</groupId> |
|||
<artifactId>epmet-ext-client</artifactId> |
|||
<version>2.0.0</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.epmet</groupId> |
|||
<artifactId>epmet-commons-tools</artifactId> |
|||
<version>2.0.0</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.epmet</groupId> |
|||
<artifactId>epmet-user-client</artifactId> |
|||
<version>2.0.0</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.epmet</groupId> |
|||
<artifactId>gov-org-client</artifactId> |
|||
<version>2.0.0</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.epmet</groupId> |
|||
<artifactId>epmet-commons-mybatis</artifactId> |
|||
<version>2.0.0</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-web</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework</groupId> |
|||
<artifactId>spring-context-support</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-actuator</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.alibaba.cloud</groupId> |
|||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.alibaba.cloud</groupId> |
|||
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.aliyun</groupId> |
|||
<artifactId>aliyun-java-sdk-core</artifactId> |
|||
<version>${aliyun.core.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.aliyun</groupId> |
|||
<artifactId>aliyun-java-sdk-dysmsapi</artifactId> |
|||
<version>${aliyun.dysmsapi.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.github.qcloudsms</groupId> |
|||
<artifactId>qcloudsms</artifactId> |
|||
<version>${qcloud.qcloudsms.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.sun.mail</groupId> |
|||
<artifactId>javax.mail</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.freemarker</groupId> |
|||
<artifactId>freemarker</artifactId> |
|||
<version>${freemarker.version}</version> |
|||
</dependency> |
|||
<!-- 替换Feign原生httpclient --> |
|||
<dependency> |
|||
<groupId>io.github.openfeign</groupId> |
|||
<artifactId>feign-httpclient</artifactId> |
|||
<version>10.3.0</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.flywaydb</groupId> |
|||
<artifactId>flyway-core</artifactId> |
|||
<!--<version>5.1.1</version>--> |
|||
</dependency> |
|||
|
|||
<!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp --> |
|||
<dependency> |
|||
<groupId>com.squareup.okhttp3</groupId> |
|||
<artifactId>okhttp</artifactId> |
|||
<version>4.0.0</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-test</artifactId> |
|||
<scope>test</scope> |
|||
<exclusions> |
|||
<exclusion> |
|||
<groupId>org.junit.vintage</groupId> |
|||
<artifactId>junit-vintage-engine</artifactId> |
|||
</exclusion> |
|||
</exclusions> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.dom4j</groupId> |
|||
<artifactId>dom4j</artifactId> |
|||
<version>2.1.3</version> |
|||
<scope>compile</scope> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.github.binarywang</groupId> |
|||
<artifactId>weixin-java-common</artifactId> |
|||
<version>3.6.0</version> |
|||
<scope>compile</scope> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.epmet</groupId> |
|||
<artifactId>epmet-common-clienttoken</artifactId> |
|||
<version>2.0.0</version> |
|||
<scope>compile</scope> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.epmet</groupId> |
|||
<artifactId>oper-crm-client</artifactId> |
|||
<version>2.0.0</version> |
|||
<scope>compile</scope> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.epmet</groupId> |
|||
<artifactId>epmet-oss-client</artifactId> |
|||
<version>2.0.0</version> |
|||
<scope>compile</scope> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework</groupId> |
|||
<artifactId>spring-test</artifactId> |
|||
<version>5.1.12.RELEASE</version> |
|||
<scope>compile</scope> |
|||
</dependency> |
|||
|
|||
<!-- 钉钉机器人 --> |
|||
<dependency> |
|||
<groupId>com.aliyun</groupId> |
|||
<artifactId>alibaba-dingtalk-service-sdk</artifactId> |
|||
<version>1.0.1</version> |
|||
</dependency> |
|||
|
|||
</dependencies> |
|||
|
|||
<build> |
|||
<finalName>${project.artifactId}</finalName> |
|||
<plugins> |
|||
<plugin> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-maven-plugin</artifactId> |
|||
</plugin> |
|||
<plugin> |
|||
<groupId>org.apache.maven.plugins</groupId> |
|||
<artifactId>maven-surefire-plugin</artifactId> |
|||
<configuration> |
|||
<skipTests>true</skipTests> |
|||
</configuration> |
|||
</plugin> |
|||
</plugins> |
|||
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory> |
|||
<resources> |
|||
<resource> |
|||
<filtering>true</filtering> |
|||
<directory>${basedir}/src/main/resources</directory> |
|||
</resource> |
|||
</resources> |
|||
</build> |
|||
<profiles> |
|||
<profile> |
|||
<id>dev</id> |
|||
<activation> |
|||
<activeByDefault>true</activeByDefault> |
|||
</activation> |
|||
<properties> |
|||
<server.port>8113</server.port> |
|||
<spring.profiles.active>dev</spring.profiles.active> |
|||
|
|||
<!-- 数据库配置--> |
|||
<spring.datasource.druid.url> |
|||
<![CDATA[jdbc:mysql://192.168.1.130:3306/epmet_third?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]> |
|||
</spring.datasource.druid.url> |
|||
<spring.datasource.druid.username>epmet_third_user</spring.datasource.druid.username> |
|||
<spring.datasource.druid.password>EpmEt-db-UsEr</spring.datasource.druid.password> |
|||
<!-- redis配置 --> |
|||
<spring.redis.index>0</spring.redis.index> |
|||
<spring.redis.host>192.168.1.130</spring.redis.host> |
|||
<spring.redis.port>6379</spring.redis.port> |
|||
<spring.redis.password>123456</spring.redis.password> |
|||
<!-- nacos --> |
|||
<nacos.register-enabled>true</nacos.register-enabled> |
|||
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr> |
|||
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace> |
|||
<nacos.config.namespace></nacos.config.namespace> |
|||
<nacos.config.group></nacos.config.group> |
|||
<nacos.config-enabled>false</nacos.config-enabled> |
|||
<nacos.ip/> |
|||
|
|||
<spring.flyway.enabled>false</spring.flyway.enabled> |
|||
</properties> |
|||
</profile> |
|||
<profile> |
|||
<id>test</id> |
|||
<!--<activation> |
|||
<activeByDefault>true</activeByDefault> |
|||
</activation>--> |
|||
<properties> |
|||
<server.port>8113</server.port> |
|||
<spring.profiles.active>test</spring.profiles.active> |
|||
|
|||
<!-- 数据库配置--> |
|||
<spring.datasource.druid.url> |
|||
<![CDATA[jdbc:mysql://rm-m5ef9t617j6o5eup7.mysql.rds.aliyuncs.com:3306/epmet_third?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]> |
|||
</spring.datasource.druid.url> |
|||
<spring.datasource.druid.username>epmet</spring.datasource.druid.username> |
|||
<spring.datasource.druid.password>elink@833066</spring.datasource.druid.password> |
|||
<!-- redis配置 --> |
|||
<spring.redis.index>0</spring.redis.index> |
|||
<spring.redis.host>r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com</spring.redis.host> |
|||
<spring.redis.port>6379</spring.redis.port> |
|||
<spring.redis.password>EpmEtrEdIs!q@w</spring.redis.password> |
|||
<!-- nacos --> |
|||
<nacos.register-enabled>true</nacos.register-enabled> |
|||
<nacos.server-addr>192.168.10.150:8848</nacos.server-addr> |
|||
<nacos.discovery.namespace>67e3c350-533e-4d7c-9f8f-faf1b4aa82ae</nacos.discovery.namespace> |
|||
<nacos.config.namespace></nacos.config.namespace> |
|||
<nacos.config.group></nacos.config.group> |
|||
<nacos.config-enabled>false</nacos.config-enabled> |
|||
<nacos.ip/> |
|||
|
|||
<spring.flyway.enabled>true</spring.flyway.enabled> |
|||
</properties> |
|||
</profile> |
|||
|
|||
<profile> |
|||
<id>prod</id> |
|||
<!--<activation> |
|||
<activeByDefault>true</activeByDefault> |
|||
</activation>--> |
|||
<properties> |
|||
<server.port>8113</server.port> |
|||
<spring.profiles.active>prod</spring.profiles.active> |
|||
|
|||
<!-- 数据库配置--> |
|||
<spring.datasource.druid.url> |
|||
<![CDATA[jdbc:mysql://rm-m5e3vzs2637224wj9.mysql.rds.aliyuncs.com:3306/epmet_third?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]> |
|||
</spring.datasource.druid.url> |
|||
<spring.datasource.druid.username>epmet_third_user</spring.datasource.druid.username> |
|||
<spring.datasource.druid.password>EpmEt-db-UsEr</spring.datasource.druid.password> |
|||
<!-- redis配置 --> |
|||
<spring.redis.index>0</spring.redis.index> |
|||
<spring.redis.host>r-m5ez3n1j0qc3ykq2ut.redis.rds.aliyuncs.com</spring.redis.host> |
|||
<spring.redis.port>6379</spring.redis.port> |
|||
<spring.redis.password>EpmEtclOUdrEdIs!Q2w</spring.redis.password> |
|||
<!-- nacos --> |
|||
<nacos.register-enabled>true</nacos.register-enabled> |
|||
<nacos.server-addr>192.168.11.180:8848</nacos.server-addr> |
|||
<nacos.discovery.namespace>bd205d23-e696-47be-b995-916313f86e99</nacos.discovery.namespace> |
|||
<nacos.config.namespace></nacos.config.namespace> |
|||
<nacos.config.group></nacos.config.group> |
|||
<nacos.config-enabled>false</nacos.config-enabled> |
|||
<nacos.ip/> |
|||
|
|||
<spring.flyway.enabled>true</spring.flyway.enabled> |
|||
</properties> |
|||
</profile> |
|||
</profiles> |
|||
|
|||
</project> |
@ -0,0 +1,17 @@ |
|||
package com.epmet; |
|||
|
|||
import org.springframework.boot.SpringApplication; |
|||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
|||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; |
|||
import org.springframework.cloud.openfeign.EnableFeignClients; |
|||
|
|||
@SpringBootApplication |
|||
@EnableDiscoveryClient |
|||
@EnableFeignClients |
|||
public class EpmetExtApplication { |
|||
|
|||
public static void main(String[] args) { |
|||
SpringApplication.run(EpmetExtApplication.class, args); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,40 @@ |
|||
package com.epmet.aspect; |
|||
|
|||
import com.epmet.commons.tools.aspect.BaseRequestLogAspect; |
|||
import org.aspectj.lang.ProceedingJoinPoint; |
|||
import org.aspectj.lang.annotation.Around; |
|||
import org.aspectj.lang.annotation.Aspect; |
|||
import org.springframework.core.annotation.Order; |
|||
import org.springframework.stereotype.Component; |
|||
import org.springframework.web.context.request.RequestAttributes; |
|||
import org.springframework.web.context.request.RequestContextHolder; |
|||
import org.springframework.web.context.request.ServletRequestAttributes; |
|||
|
|||
import javax.servlet.http.HttpServletRequest; |
|||
|
|||
/** |
|||
* 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 |
|||
*/ |
|||
@Aspect |
|||
@Component |
|||
@Order(0) |
|||
public class RequestLogAspect extends BaseRequestLogAspect { |
|||
|
|||
@Override |
|||
@Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ") |
|||
public Object proceed(ProceedingJoinPoint point) throws Throwable { |
|||
return super.proceed(point, getRequest()); |
|||
} |
|||
|
|||
/** |
|||
* 获取Request对象 |
|||
* |
|||
* @return |
|||
*/ |
|||
private HttpServletRequest getRequest() { |
|||
RequestAttributes ra = RequestContextHolder.getRequestAttributes(); |
|||
ServletRequestAttributes sra = (ServletRequestAttributes) ra; |
|||
return sra.getRequest(); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,26 @@ |
|||
/** |
|||
* Copyright (c) 2018 人人开源 All rights reserved. |
|||
* |
|||
* https://www.renren.io
|
|||
* |
|||
* 版权所有,侵权必究! |
|||
*/ |
|||
|
|||
package com.epmet.config; |
|||
|
|||
import com.epmet.commons.tools.config.ModuleConfig; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* 模块配置信息 |
|||
* |
|||
* @author Mark sunlightcs@gmail.com |
|||
* @since 1.0.0 |
|||
*/ |
|||
@Service |
|||
public class ModuleConfigImpl implements ModuleConfig { |
|||
@Override |
|||
public String getName() { |
|||
return "epmetext"; |
|||
} |
|||
} |
@ -0,0 +1,17 @@ |
|||
package com.epmet.constant; |
|||
|
|||
/** |
|||
* @Description |
|||
* @author zxc |
|||
*/ |
|||
public interface ModuleConstant { |
|||
|
|||
String ERROR_GOV_ORG_GRID = "调用gov_org服务查询【网格】下的所有工作人员失败"; |
|||
|
|||
String ERROR_GOV_ORG_DEPARTMENT = "调用gov_org服务查询【部门】下的所有工作人员失败"; |
|||
|
|||
String ERROR_GOV_ORG_AGENCY = "调用gov_org服务查询【机关】下的所有工作人员失败"; |
|||
|
|||
String ERROR_EPMET_USER = "调用epmet_user服务查询网格下的所有工作人员失败"; |
|||
|
|||
} |
@ -0,0 +1,65 @@ |
|||
package com.epmet.controller; |
|||
|
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.commons.tools.validator.ValidatorUtils; |
|||
import com.epmet.dto.form.*; |
|||
import com.epmet.dto.result.StaffSinAgencyResultDTO; |
|||
import com.epmet.dto.result.StaffSinDeptResultDTO; |
|||
import com.epmet.dto.result.StaffSinGridResultDTO; |
|||
import com.epmet.service.OpenUpService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/13 9:16 上午 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("staff") |
|||
public class OpenUpController { |
|||
|
|||
@Autowired |
|||
private OpenUpService openUpService; |
|||
|
|||
/** |
|||
* @Description 网格工作人员 被禁用的、未激活的不显示 |
|||
* @param formDTO |
|||
* @author zxc |
|||
* @date 2020/8/13 9:42 上午 |
|||
*/ |
|||
@PostMapping("staffsingrid") |
|||
public Result<List<StaffSinGridResultDTO>> staffSinGrid(@RequestBody StaffSinGridFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO, StaffSinGridFormDTO.StaffSinGrid.class); |
|||
return new Result<List<StaffSinGridResultDTO>>().ok(openUpService.staffSinGrid(formDTO)); |
|||
} |
|||
|
|||
/** |
|||
* @Description 部门工作人员 被禁用的、未激活的不显示 |
|||
* @param formDTO |
|||
* @author zxc |
|||
* @date 2020/8/13 9:51 上午 |
|||
*/ |
|||
@PostMapping("staffsindept") |
|||
public Result<List<StaffSinDeptResultDTO>> staffSinDept(@RequestBody StaffSinDeptFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO, StaffSinDeptFormDTO.StaffSinDept.class); |
|||
return new Result<List<StaffSinDeptResultDTO>>().ok(openUpService.staffSinDept(formDTO)); |
|||
} |
|||
|
|||
/** |
|||
* @Description 机关工作人员 被禁用的、未激活的不显示 |
|||
* @param formDTO |
|||
* @author zxc |
|||
* @date 2020/8/17 9:59 上午 |
|||
*/ |
|||
@PostMapping("staffsinagency") |
|||
public Result<List<StaffSinAgencyResultDTO>> staffSinAgency(@RequestBody StaffSinAgencyFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO, StaffSinAgencyFormDTO.StaffSinAgency.class); |
|||
return new Result<List<StaffSinAgencyResultDTO>>().ok(openUpService.staffSinAgency(formDTO)); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,41 @@ |
|||
package com.epmet.service; |
|||
|
|||
import com.epmet.dto.form.StaffSinAgencyFormDTO; |
|||
import com.epmet.dto.form.StaffSinDeptFormDTO; |
|||
import com.epmet.dto.form.StaffSinGridFormDTO; |
|||
import com.epmet.dto.result.StaffSinAgencyResultDTO; |
|||
import com.epmet.dto.result.StaffSinDeptResultDTO; |
|||
import com.epmet.dto.result.StaffSinGridResultDTO; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/13 9:17 上午 |
|||
*/ |
|||
public interface OpenUpService { |
|||
|
|||
/** |
|||
* @Description 网格工作人员 被禁用的、未激活的不显示 |
|||
* @param formDTO |
|||
* @author zxc |
|||
* @date 2020/8/13 9:42 上午 |
|||
*/ |
|||
List<StaffSinGridResultDTO> staffSinGrid(StaffSinGridFormDTO formDTO); |
|||
|
|||
/** |
|||
* @Description 部门工作人员 被禁用的、未激活的不显示 |
|||
* @param formDTO |
|||
* @author zxc |
|||
* @date 2020/8/13 9:51 上午 |
|||
*/ |
|||
List<StaffSinDeptResultDTO> staffSinDept(StaffSinDeptFormDTO formDTO); |
|||
|
|||
/** |
|||
* @Description 机关工作人员 被禁用的、未激活的不显示 |
|||
* @param formDTO |
|||
* @author zxc |
|||
* @date 2020/8/17 9:59 上午 |
|||
*/ |
|||
List<StaffSinAgencyResultDTO> staffSinAgency(StaffSinAgencyFormDTO formDTO); |
|||
} |
@ -0,0 +1,126 @@ |
|||
package com.epmet.service.impl; |
|||
|
|||
import com.epmet.commons.tools.constant.NumConstant; |
|||
import com.epmet.commons.tools.constant.StrConstant; |
|||
import com.epmet.commons.tools.exception.RenException; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.constant.ModuleConstant; |
|||
import com.epmet.dto.form.*; |
|||
import com.epmet.dto.result.StaffSinAgencyResultDTO; |
|||
import com.epmet.dto.result.StaffSinDeptResultDTO; |
|||
import com.epmet.dto.result.StaffSinGridResultDTO; |
|||
import com.epmet.feign.EpmetUserOpenFeignClient; |
|||
import com.epmet.feign.GovOrgOpenFeignClient; |
|||
import com.epmet.service.OpenUpService; |
|||
import org.springframework.beans.BeanUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
import java.util.UUID; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/13 9:18 上午 |
|||
*/ |
|||
@Service |
|||
public class OpenUpServiceImpl implements OpenUpService { |
|||
|
|||
@Autowired |
|||
private EpmetUserOpenFeignClient epmetUserOpenFeignClient; |
|||
@Autowired |
|||
private GovOrgOpenFeignClient govOrgOpenFeignClient; |
|||
|
|||
/** |
|||
* @Description 网格工作人员 被禁用的、未激活的不显示 |
|||
* @param formDTO |
|||
* @author zxc |
|||
* @date 2020/8/13 9:42 上午 |
|||
*/ |
|||
@Override |
|||
public List<StaffSinGridResultDTO> staffSinGrid(StaffSinGridFormDTO formDTO) { |
|||
CommonGridIdFormDTO commonGridId = new CommonGridIdFormDTO(); |
|||
commonGridId.setGridId(formDTO.getGridId()); |
|||
commonGridId.setUserId(UUID.randomUUID().toString().replace(StrConstant.HYPHEN, "")); |
|||
Result<List<String>> gridStaffs = govOrgOpenFeignClient.getGridStaffs(commonGridId); |
|||
if (!gridStaffs.success()){ |
|||
throw new RenException(ModuleConstant.ERROR_GOV_ORG_GRID); |
|||
} |
|||
if (gridStaffs.getData().size() == NumConstant.ZERO){ |
|||
return new ArrayList<>(); |
|||
} |
|||
return this.getStaffList(gridStaffs.getData()); |
|||
} |
|||
|
|||
/** |
|||
* @Description 部门工作人员 被禁用的、未激活的不显示 |
|||
* @param formDTO |
|||
* @author zxc |
|||
* @date 2020/8/13 9:51 上午 |
|||
*/ |
|||
@Override |
|||
public List<StaffSinDeptResultDTO> staffSinDept(StaffSinDeptFormDTO formDTO) { |
|||
DepartmentIdFormDTO departmentId = new DepartmentIdFormDTO(); |
|||
departmentId.setDepartmentId(formDTO.getDepartmentId()); |
|||
Result<List<String>> departmentStaffs = govOrgOpenFeignClient.getDepartmentStaffs(departmentId); |
|||
if (!departmentStaffs.success()){ |
|||
throw new RenException(ModuleConstant.ERROR_GOV_ORG_DEPARTMENT); |
|||
} |
|||
if (departmentStaffs.getData().size() == NumConstant.ZERO){ |
|||
return new ArrayList<>(); |
|||
} |
|||
List<StaffSinGridResultDTO> data = this.getStaffList(departmentStaffs.getData()); |
|||
List<StaffSinDeptResultDTO> result = new ArrayList<>(); |
|||
data.forEach(staff -> { |
|||
StaffSinDeptResultDTO dept = new StaffSinDeptResultDTO(); |
|||
BeanUtils.copyProperties(staff,dept); |
|||
result.add(dept); |
|||
}); |
|||
return result; |
|||
} |
|||
|
|||
/** |
|||
* @Description 机关工作人员 被禁用的、未激活的不显示 |
|||
* @param formDTO |
|||
* @author zxc |
|||
* @date 2020/8/17 9:59 上午 |
|||
*/ |
|||
@Override |
|||
public List<StaffSinAgencyResultDTO> staffSinAgency(StaffSinAgencyFormDTO formDTO) { |
|||
AgencyIdFormDTO agencyId = new AgencyIdFormDTO(); |
|||
agencyId.setAgencyId(formDTO.getAgencyId()); |
|||
Result<List<String>> agencyStaffs = govOrgOpenFeignClient.getAgencyStaffs(agencyId); |
|||
if (!agencyStaffs.success()){ |
|||
throw new RenException(ModuleConstant.ERROR_GOV_ORG_AGENCY); |
|||
} |
|||
if (agencyStaffs.getData().size() == NumConstant.ZERO){ |
|||
return new ArrayList<>(); |
|||
} |
|||
List<StaffSinGridResultDTO> staffList = this.getStaffList(agencyStaffs.getData()); |
|||
List<StaffSinAgencyResultDTO> result = new ArrayList<>(); |
|||
staffList.forEach(staff -> { |
|||
StaffSinAgencyResultDTO agency = new StaffSinAgencyResultDTO(); |
|||
BeanUtils.copyProperties(staff,agency); |
|||
result.add(agency); |
|||
}); |
|||
return result; |
|||
} |
|||
|
|||
/** |
|||
* @Description 获取工作人员信息 |
|||
* @param userIds |
|||
* @author zxc |
|||
* @date 2020/8/17 1:30 下午 |
|||
*/ |
|||
public List<StaffSinGridResultDTO> getStaffList(List<String> userIds){ |
|||
UserIdsFormDTO userIdsForm = new UserIdsFormDTO(); |
|||
userIdsForm.setUserIds(userIds); |
|||
Result<List<StaffSinGridResultDTO>> staffInfoList = epmetUserOpenFeignClient.getStaffInfoList(userIdsForm); |
|||
if (!staffInfoList.success()){ |
|||
throw new RenException(ModuleConstant.ERROR_EPMET_USER); |
|||
} |
|||
return staffInfoList.getData(); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,100 @@ |
|||
server: |
|||
port: @server.port@ |
|||
servlet: |
|||
context-path: /epmet/ext |
|||
|
|||
spring: |
|||
main: |
|||
allow-bean-definition-overriding: true |
|||
application: |
|||
name: epmet-ext-server |
|||
# dev|test|prod |
|||
profiles: |
|||
active: dev |
|||
jackson: |
|||
time-zone: GMT+8 |
|||
date-format: yyyy-MM-dd HH:mm:ss |
|||
redis: |
|||
database: @spring.redis.index@ |
|||
host: @spring.redis.host@ |
|||
port: @spring.redis.port@ |
|||
password: @spring.redis.password@ |
|||
timeout: 30s |
|||
datasource: |
|||
druid: |
|||
#MySQL |
|||
driver-class-name: com.mysql.cj.jdbc.Driver |
|||
url: @spring.datasource.druid.url@ |
|||
username: @spring.datasource.druid.username@ |
|||
password: @spring.datasource.druid.password@ |
|||
cloud: |
|||
nacos: |
|||
discovery: |
|||
server-addr: @nacos.server-addr@ |
|||
namespace: @nacos.discovery.namespace@ |
|||
register-enabled: @nacos.register-enabled@ |
|||
ip: @nacos.ip@ |
|||
config: |
|||
enabled: @nacos.config-enabled@ |
|||
server-addr: @nacos.server-addr@ |
|||
namespace: @nacos.config.namespace@ |
|||
group: @nacos.config.group@ |
|||
file-extension: yaml |
|||
flyway: |
|||
enabled: @spring.flyway.enabled@ |
|||
locations: classpath:db/migration |
|||
url: @spring.datasource.druid.url@ |
|||
user: @spring.datasource.druid.username@ |
|||
password: @spring.datasource.druid.password@ |
|||
baseline-on-migrate: true |
|||
baseline-version: 0 |
|||
management: |
|||
endpoints: |
|||
web: |
|||
exposure: |
|||
include: "*" |
|||
endpoint: |
|||
health: |
|||
show-details: ALWAYS |
|||
|
|||
mybatis-plus: |
|||
mapper-locations: classpath:/mapper/**/*.xml |
|||
typeAliasesPackage: com.epmet.entity |
|||
global-config: |
|||
db-config: |
|||
id-type: ID_WORKER |
|||
field-strategy: NOT_NULL |
|||
column-underline: true |
|||
banner: false |
|||
|
|||
configuration: |
|||
map-underscore-to-camel-case: true |
|||
cache-enabled: false |
|||
call-setters-on-nulls: true |
|||
jdbc-type-for-null: 'null' |
|||
|
|||
feign: |
|||
hystrix: |
|||
enabled: true |
|||
client: |
|||
config: |
|||
default: |
|||
loggerLevel: BASIC |
|||
httpclient: |
|||
enabled: true |
|||
|
|||
hystrix: |
|||
command: |
|||
default: |
|||
execution: |
|||
isolation: |
|||
thread: |
|||
timeoutInMilliseconds: 60000 |
|||
|
|||
ribbon: |
|||
ReadTimeout: 300000 |
|||
ConnectTimeout: 300000 |
|||
|
|||
pagehelper: |
|||
helper-dialect: mysql |
|||
reasonable: false |
@ -0,0 +1 @@ |
|||
select 0; |
@ -0,0 +1,164 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<configuration> |
|||
<include resource="org/springframework/boot/logging/logback/base.xml"/> |
|||
|
|||
<property name="log.path" value="logs/ext"/> |
|||
|
|||
<springProperty scope="context" name="appname" source="spring.application.name"/> |
|||
|
|||
<!-- 日志上下文名称 --> |
|||
<contextName>${appname}</contextName> |
|||
|
|||
<!-- 彩色日志格式 --> |
|||
<property name="CONSOLE_LOG_PATTERN" |
|||
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> |
|||
|
|||
<!--1. 输出到控制台--> |
|||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> |
|||
<!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息--> |
|||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter"> |
|||
<level>debug</level> |
|||
</filter> |
|||
<encoder> |
|||
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern> |
|||
<!-- 设置字符集 --> |
|||
<charset>UTF-8</charset> |
|||
</encoder> |
|||
</appender> |
|||
|
|||
<!--2. 输出到文档--> |
|||
<!-- 2.1 level为 DEBUG 日志,时间滚动输出 --> |
|||
<appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
|||
<!-- 正在记录的日志文档的路径及文档名 --> |
|||
<file>${log.path}/debug.log</file> |
|||
<!--日志文档输出格式--> |
|||
<encoder> |
|||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n</pattern> |
|||
<charset>UTF-8</charset> <!-- 设置字符集 --> |
|||
</encoder> |
|||
<!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
|||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
|||
<!-- 日志归档 --> |
|||
<fileNamePattern>${log.path}/debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
|||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
|||
<maxFileSize>100MB</maxFileSize> |
|||
</timeBasedFileNamingAndTriggeringPolicy> |
|||
<!--日志文档保留天数--> |
|||
<maxHistory>15</maxHistory> |
|||
</rollingPolicy> |
|||
<!-- 此日志文档只记录debug级别的 --> |
|||
<filter class="ch.qos.logback.classic.filter.LevelFilter"> |
|||
<level>debug</level> |
|||
<onMatch>ACCEPT</onMatch> |
|||
<onMismatch>DENY</onMismatch> |
|||
</filter> |
|||
</appender> |
|||
|
|||
<!-- 2.2 level为 INFO 日志,时间滚动输出 --> |
|||
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
|||
<!-- 正在记录的日志文档的路径及文档名 --> |
|||
<file>${log.path}/info.log</file> |
|||
<!--日志文档输出格式--> |
|||
<encoder> |
|||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n</pattern> |
|||
<charset>UTF-8</charset> |
|||
</encoder> |
|||
<!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
|||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
|||
<!-- 每天日志归档路径以及格式 --> |
|||
<fileNamePattern>${log.path}/info-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
|||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
|||
<maxFileSize>100MB</maxFileSize> |
|||
</timeBasedFileNamingAndTriggeringPolicy> |
|||
<!--日志文档保留天数--> |
|||
<maxHistory>15</maxHistory> |
|||
</rollingPolicy> |
|||
<!-- 此日志文档只记录info级别的 --> |
|||
<filter class="ch.qos.logback.classic.filter.LevelFilter"> |
|||
<level>info</level> |
|||
<onMatch>ACCEPT</onMatch> |
|||
<onMismatch>DENY</onMismatch> |
|||
</filter> |
|||
</appender> |
|||
|
|||
<!-- 2.3 level为 WARN 日志,时间滚动输出 --> |
|||
<appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
|||
<!-- 正在记录的日志文档的路径及文档名 --> |
|||
<file>${log.path}/warn.log</file> |
|||
<!--日志文档输出格式--> |
|||
<encoder> |
|||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n</pattern> |
|||
<charset>UTF-8</charset> <!-- 此处设置字符集 --> |
|||
</encoder> |
|||
<!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
|||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
|||
<fileNamePattern>${log.path}/warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
|||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
|||
<maxFileSize>100MB</maxFileSize> |
|||
</timeBasedFileNamingAndTriggeringPolicy> |
|||
<!--日志文档保留天数--> |
|||
<maxHistory>15</maxHistory> |
|||
</rollingPolicy> |
|||
<!-- 此日志文档只记录warn级别的 --> |
|||
<filter class="ch.qos.logback.classic.filter.LevelFilter"> |
|||
<level>warn</level> |
|||
<onMatch>ACCEPT</onMatch> |
|||
<onMismatch>DENY</onMismatch> |
|||
</filter> |
|||
</appender> |
|||
|
|||
<!-- 2.4 level为 ERROR 日志,时间滚动输出 --> |
|||
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
|||
<!-- 正在记录的日志文档的路径及文档名 --> |
|||
<file>${log.path}/error.log</file> |
|||
<!--日志文档输出格式--> |
|||
<encoder> |
|||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n</pattern> |
|||
<charset>UTF-8</charset> <!-- 此处设置字符集 --> |
|||
</encoder> |
|||
<!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
|||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
|||
<fileNamePattern>${log.path}/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
|||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
|||
<maxFileSize>100MB</maxFileSize> |
|||
</timeBasedFileNamingAndTriggeringPolicy> |
|||
<!--日志文档保留天数--> |
|||
<maxHistory>15</maxHistory> |
|||
</rollingPolicy> |
|||
<!-- 此日志文档只记录ERROR级别的 --> |
|||
<filter class="ch.qos.logback.classic.filter.LevelFilter"> |
|||
<level>ERROR</level> |
|||
<onMatch>ACCEPT</onMatch> |
|||
<onMismatch>DENY</onMismatch> |
|||
</filter> |
|||
</appender> |
|||
|
|||
<!-- 开发、测试环境 --> |
|||
<springProfile name="dev,test"> |
|||
<logger name="org.springframework.web" level="INFO"/> |
|||
<logger name="org.springboot.sample" level="INFO"/> |
|||
<logger name="com.epmet.dao" level="INFO"/> |
|||
<logger name="com.epmet.dao" level="DEBUG"/> |
|||
<root level="INFO"> |
|||
<appender-ref ref="DEBUG_FILE"/> |
|||
<appender-ref ref="INFO_FILE"/> |
|||
<appender-ref ref="WARN_FILE"/> |
|||
<appender-ref ref="ERROR_FILE"/> |
|||
</root> |
|||
</springProfile> |
|||
|
|||
<!-- 生产环境 --> |
|||
<springProfile name="prod"> |
|||
<logger name="org.springframework.web" level="INFO"/> |
|||
<logger name="org.springboot.sample" level="INFO"/> |
|||
<logger name="com.epmet.dao" level="INFO"/> |
|||
<root level="INFO"> |
|||
<appender-ref ref="CONSOLE"/> |
|||
<appender-ref ref="DEBUG_FILE"/> |
|||
<appender-ref ref="INFO_FILE"/> |
|||
<appender-ref ref="WARN_FILE"/> |
|||
<appender-ref ref="ERROR_FILE"/> |
|||
</root> |
|||
</springProfile> |
|||
|
|||
</configuration> |
@ -0,0 +1,21 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|||
<parent> |
|||
<artifactId>epmet-module</artifactId> |
|||
<groupId>com.epmet</groupId> |
|||
<version>2.0.0</version> |
|||
</parent> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
|
|||
<artifactId>epmet-ext</artifactId> |
|||
<packaging>pom</packaging> |
|||
|
|||
<modules> |
|||
<module>epmet-ext-client</module> |
|||
<module>epmet-ext-server</module> |
|||
</modules> |
|||
|
|||
|
|||
</project> |
@ -0,0 +1,20 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/17 10:37 上午 |
|||
*/ |
|||
@Data |
|||
public class AgencyIdFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = -1719033407335647411L; |
|||
|
|||
/** |
|||
* 部门Id |
|||
*/ |
|||
private String agencyId; |
|||
} |
@ -0,0 +1,21 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/13 5:56 下午 |
|||
*/ |
|||
@Data |
|||
public class CustomerIdFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 4512080710854617599L; |
|||
|
|||
public interface Customer{} |
|||
|
|||
@NotBlank(message = "customerId不能为空",groups = {Customer.class}) |
|||
private String customerId; |
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/13 10:37 上午 |
|||
*/ |
|||
@Data |
|||
public class DepartmentIdFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = -1718433407335647411L; |
|||
|
|||
/** |
|||
* 部门Id |
|||
*/ |
|||
private String departmentId; |
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/13 10:35 上午 |
|||
*/ |
|||
@Data |
|||
public class GridIdFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = -1062540828459359881L; |
|||
|
|||
/** |
|||
* 网格Id |
|||
*/ |
|||
private String gridId; |
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/14 9:27 上午 |
|||
*/ |
|||
@Data |
|||
public class CustomerGridCountResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 386294009143897744L; |
|||
|
|||
/** |
|||
* 客户下的网格数量 |
|||
*/ |
|||
private Integer gridCount; |
|||
} |
@ -0,0 +1,48 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
import org.hibernate.validator.constraints.Length; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @author zhaoqifeng |
|||
* @dscription |
|||
* @date 2020/8/12 17:52 |
|||
*/ |
|||
@Data |
|||
public class ProjectResponseFormDTO implements Serializable { |
|||
private static final long serialVersionUID = -4915724637094689896L; |
|||
/** |
|||
* 用户Id |
|||
*/ |
|||
private String userId; |
|||
/** |
|||
* 项目Id |
|||
*/ |
|||
private String projectId; |
|||
/** |
|||
* 流程节点Id |
|||
*/ |
|||
private String projectProcessId; |
|||
/** |
|||
* 公开答复内容 |
|||
*/ |
|||
@Length(max = 1000, message = "公开答复不能超过1000个字符") |
|||
private String publicReply; |
|||
/** |
|||
* 内部流转意见 |
|||
*/ |
|||
@NotBlank(message = "内部备注不能为空") |
|||
@Length(max = 1000, message = "内部备注不能超过1000个字符") |
|||
private String internalRemark; |
|||
/** |
|||
* 项目人员关联表ID |
|||
*/ |
|||
private String projectStaffId; |
|||
/** |
|||
* 部门名 |
|||
*/ |
|||
private String departmentName; |
|||
} |
@ -0,0 +1,17 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/12 4:34 下午 |
|||
*/ |
|||
@Data |
|||
public class GridCountFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 3121175488079594627L; |
|||
|
|||
private String customerId; |
|||
} |
@ -0,0 +1,36 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/14 9:01 上午 |
|||
*/ |
|||
@Data |
|||
public class CustomerInfoResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 7653925905635170972L; |
|||
|
|||
/** |
|||
* 客户Id |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 客户名称 |
|||
*/ |
|||
private String customerName; |
|||
|
|||
/** |
|||
* 已创建网格数 |
|||
*/ |
|||
private Integer createGridNum; |
|||
|
|||
/** |
|||
* 最大允许创建数 |
|||
*/ |
|||
private Integer maxGridNum; |
|||
|
|||
} |
@ -0,0 +1,17 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/12 4:31 下午 |
|||
*/ |
|||
@Data |
|||
public class GridCountResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = -5523213918272649646L; |
|||
|
|||
private Integer gridCount; |
|||
} |
@ -0,0 +1,11 @@ |
|||
package com.epmet.constant; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2020/8/14 9:46 上午 |
|||
*/ |
|||
public interface ModuleConstant { |
|||
|
|||
String ERROR_GOV_ORG_COUNT = "调用gov_org服务【查询客户下网格数量】失败"; |
|||
|
|||
} |
@ -0,0 +1,5 @@ |
|||
|
|||
ALTER TABLE `customer` |
|||
ADD COLUMN `GRID_NUMBER` int(11) NULL COMMENT '客户允许创建的网格数' AFTER `ORGANIZATION_LEVEL`; |
|||
|
|||
UPDATE customer SET GRID_NUMBER = 10; |
@ -0,0 +1,116 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dto; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
import lombok.Data; |
|||
|
|||
|
|||
/** |
|||
* 客户定制功能详情表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-08-11 |
|||
*/ |
|||
@Data |
|||
public class CustomerFunctionDetailDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 主键 |
|||
*/ |
|||
private String id; |
|||
|
|||
/** |
|||
* 客户Id |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 功能Id |
|||
*/ |
|||
private String functionId; |
|||
|
|||
/** |
|||
* 自定义功能名称 |
|||
*/ |
|||
private String functionName; |
|||
|
|||
/** |
|||
* 自定义大图标 |
|||
*/ |
|||
private String iconLargeImg; |
|||
|
|||
/** |
|||
* 自定义小图标 |
|||
*/ |
|||
private String iconSmallImg; |
|||
|
|||
/** |
|||
* 自定义业务域名 |
|||
*/ |
|||
private String domainName; |
|||
|
|||
/** |
|||
* 外链地址 |
|||
*/ |
|||
private String targetLink; |
|||
|
|||
/** |
|||
* 上架状态:0:下架、1:上架 |
|||
*/ |
|||
private Integer shoppingStatus; |
|||
|
|||
/** |
|||
* 自定义排序 |
|||
*/ |
|||
private Integer displayOrder; |
|||
|
|||
/** |
|||
* 删除标识(0.未删除 1.已删除) |
|||
*/ |
|||
private Integer delFlag; |
|||
|
|||
/** |
|||
* 乐观锁 |
|||
*/ |
|||
private Integer revision; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createdBy; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private Date createdTime; |
|||
|
|||
/** |
|||
* 更新人 |
|||
*/ |
|||
private String updatedBy; |
|||
|
|||
/** |
|||
* 更新时间 |
|||
*/ |
|||
private Date updatedTime; |
|||
|
|||
} |
@ -0,0 +1,67 @@ |
|||
package com.epmet.dto; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 定制功能修改 入参 |
|||
* |
|||
* @author zhangyong |
|||
* @since v1.0.0 2020-08-13 |
|||
*/ |
|||
@Data |
|||
public class CustomizedDTO implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 定制功能ID |
|||
*/ |
|||
private String functionId; |
|||
|
|||
/** |
|||
* 上架状态:0:下架、1:上架 |
|||
*/ |
|||
private String shoppingStatus; |
|||
|
|||
/** |
|||
* 功能说明 |
|||
*/ |
|||
private String functionExplain; |
|||
|
|||
/** |
|||
* 定制功能详情ID |
|||
*/ |
|||
private String customizedId; |
|||
|
|||
/** |
|||
* 默认名称 |
|||
*/ |
|||
private String customizedName; |
|||
|
|||
/** |
|||
* 默认大图标 |
|||
*/ |
|||
private String iconLargeImg; |
|||
|
|||
/** |
|||
* 默认小图标 |
|||
*/ |
|||
private String iconSmallImg; |
|||
|
|||
|
|||
/** |
|||
* 外链地址 |
|||
*/ |
|||
private String targetLink; |
|||
|
|||
/** |
|||
* 业务域名 |
|||
*/ |
|||
private String domainName; |
|||
|
|||
/** |
|||
* 来源app(政府端:gov、居民端:resi) |
|||
*/ |
|||
private String fromApp; |
|||
} |
@ -0,0 +1,106 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dto; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
import lombok.Data; |
|||
|
|||
|
|||
/** |
|||
* 定制功能 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-08-11 |
|||
*/ |
|||
@Data |
|||
public class FunctionCustomizedDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 唯一标识 |
|||
*/ |
|||
private String id; |
|||
|
|||
/** |
|||
* 功能ID(function.ID) |
|||
*/ |
|||
private String functionId; |
|||
|
|||
/** |
|||
* 默认名称 |
|||
*/ |
|||
private String customizedName; |
|||
|
|||
/** |
|||
* 默认大图标 |
|||
*/ |
|||
private String iconLargeImg; |
|||
|
|||
/** |
|||
* 默认小图标 |
|||
*/ |
|||
private String iconSmallImg; |
|||
|
|||
/** |
|||
* 外链地址(必须是https的请求) |
|||
*/ |
|||
private String targetLink; |
|||
|
|||
/** |
|||
* 删除标识(0.未删除 1.已删除) |
|||
*/ |
|||
private Integer delFlag; |
|||
|
|||
/** |
|||
* 乐观锁 |
|||
*/ |
|||
private Integer revision; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createdBy; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private Date createdTime; |
|||
|
|||
/** |
|||
* 更新人 |
|||
*/ |
|||
private String updatedBy; |
|||
|
|||
/** |
|||
* 更新时间 |
|||
*/ |
|||
private Date updatedTime; |
|||
|
|||
/** |
|||
* 业务域名 |
|||
*/ |
|||
private String realmName; |
|||
|
|||
/** |
|||
* 来源app(政府端:gov、居民端:resi) |
|||
*/ |
|||
private String fromApp; |
|||
|
|||
} |
@ -0,0 +1,106 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dto; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
import lombok.Data; |
|||
|
|||
|
|||
/** |
|||
* 定制功能访问记录表 记录居民端、工作端那些人访问过定制功能以及访问的结果 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-08-13 |
|||
*/ |
|||
@Data |
|||
public class FunctionCustomizedVisitedDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 主键 |
|||
*/ |
|||
private String id; |
|||
|
|||
/** |
|||
* 客户ID |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 用户Id |
|||
*/ |
|||
private String userId; |
|||
|
|||
/** |
|||
* 所属端 居民端:resi工作端:work |
|||
*/ |
|||
private String clientType; |
|||
|
|||
/** |
|||
* 功能Id |
|||
*/ |
|||
private String functionId; |
|||
|
|||
/** |
|||
* 请求地址 访问的url地址 |
|||
*/ |
|||
private String url; |
|||
|
|||
/** |
|||
* 结果 成功success失败error |
|||
*/ |
|||
private String result; |
|||
|
|||
/** |
|||
* 原因 失败的原因(例:请求超时、404、500等) |
|||
*/ |
|||
private String msg; |
|||
|
|||
/** |
|||
* 删除标识(0.未删除 1.已删除) |
|||
*/ |
|||
private Integer delFlag; |
|||
|
|||
/** |
|||
* 乐观锁 |
|||
*/ |
|||
private Integer revision; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createdBy; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private Date createdTime; |
|||
|
|||
/** |
|||
* 更新人 |
|||
*/ |
|||
private String updatedBy; |
|||
|
|||
/** |
|||
* 更新时间 |
|||
*/ |
|||
private Date updatedTime; |
|||
|
|||
} |
@ -0,0 +1,90 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dto; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
import lombok.Data; |
|||
|
|||
|
|||
/** |
|||
* 客户定制功能上下架历史 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-08-14 |
|||
*/ |
|||
@Data |
|||
public class FunctionShoppingHistoryDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 主键 |
|||
*/ |
|||
private String id; |
|||
|
|||
/** |
|||
* 客户Id |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 功能Id |
|||
*/ |
|||
private String functionId; |
|||
|
|||
/** |
|||
* 上下架状态 上架状态:0:下架、1:上架 |
|||
*/ |
|||
private Integer shoppingStatus; |
|||
|
|||
/** |
|||
* 理由 |
|||
*/ |
|||
private String reason; |
|||
|
|||
/** |
|||
* 乐观锁 |
|||
*/ |
|||
private Integer revision; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createdBy; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private Date createdTime; |
|||
|
|||
/** |
|||
* 更新人 |
|||
*/ |
|||
private String updatedBy; |
|||
|
|||
/** |
|||
* 更新时间 |
|||
*/ |
|||
private Date updatedTime; |
|||
|
|||
/** |
|||
* 删除标识(0.未删除 1.已删除) |
|||
*/ |
|||
private Integer delFlag; |
|||
} |
@ -0,0 +1,23 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 入参为:定制功能ID |
|||
* |
|||
* @author zhangyong |
|||
* @since v1.0.0 2020-08-13 |
|||
*/ |
|||
@Data |
|||
public class CommonFunctionIdFormDTO implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 定制功能ID |
|||
*/ |
|||
@NotBlank(message = "定制功能ID不能为空") |
|||
private String functionId; |
|||
} |
@ -0,0 +1,59 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.Min; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 定制功能列表 入参 |
|||
* |
|||
* @author zhangyong |
|||
* @since v1.0.0 2020-08-14 |
|||
*/ |
|||
@Data |
|||
public class FunctionCustomizedListFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
|
|||
/** |
|||
* 功能名称 |
|||
*/ |
|||
private String customizedName; |
|||
|
|||
|
|||
/** |
|||
* 所属端 |
|||
*/ |
|||
private String fromApp; |
|||
|
|||
/** |
|||
* 页码,从1开始 |
|||
*/ |
|||
@Min(value = 1, message = "页码必须大于0") |
|||
private Integer pageNo; |
|||
|
|||
/** |
|||
* 页容量,默认20页 |
|||
*/ |
|||
@Min(value = 1, message = "每页条数必须大于必须大于0") |
|||
private Integer pageSize; |
|||
} |
@ -0,0 +1,35 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 查询客户定制功能列表-接口入参 |
|||
* @Author sun |
|||
*/ |
|||
@Data |
|||
public class FunctionDetailFromDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = -6163303184086480522L; |
|||
|
|||
public interface AddUserInternalGroup { |
|||
} |
|||
public interface AddUserShowGroup extends CustomerClientShowGroup { |
|||
} |
|||
|
|||
/** |
|||
* 客户ID |
|||
*/ |
|||
@NotBlank(message = "客户Id不能为空", groups = {AddUserShowGroup.class}) |
|||
private String customerId; |
|||
|
|||
/** |
|||
* resi:居民端,work:工作端 |
|||
*/ |
|||
@NotBlank(message = "所属端不能为空", groups = {AddUserInternalGroup.class, AddUserShowGroup.class}) |
|||
private String clientType; |
|||
|
|||
} |
@ -0,0 +1,56 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 查询客户定制功能列表-接口入参 |
|||
* @Author sun |
|||
*/ |
|||
@Data |
|||
public class FunctionVisitedFromDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = -6163303184086480522L; |
|||
|
|||
public interface AddUserInternalGroup { |
|||
} |
|||
public interface AddUserShowGroup extends CustomerClientShowGroup { |
|||
} |
|||
|
|||
/** |
|||
* 用户Id |
|||
*/ |
|||
private String userId; |
|||
/** |
|||
* 客户Id |
|||
*/ |
|||
private String customerId; |
|||
/** |
|||
* 所属端 |
|||
*/ |
|||
@NotBlank(message = "所属端不能为空", groups = {AddUserInternalGroup.class, AddUserShowGroup.class}) |
|||
private String clientType; |
|||
/** |
|||
* 功能Id |
|||
*/ |
|||
@NotBlank(message = "功能Id不能为空", groups = {AddUserInternalGroup.class, AddUserShowGroup.class}) |
|||
private String functionId; |
|||
/** |
|||
* 请求地址 |
|||
*/ |
|||
@NotBlank(message = "请求地址不能为空", groups = {AddUserInternalGroup.class, AddUserShowGroup.class}) |
|||
private String url; |
|||
/** |
|||
* 结果 |
|||
*/ |
|||
@NotBlank(message = "结果不能为空", groups = {AddUserInternalGroup.class, AddUserShowGroup.class}) |
|||
private String result; |
|||
/** |
|||
* 原因 |
|||
*/ |
|||
private String msg; |
|||
|
|||
} |
@ -0,0 +1,72 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 定制功能新增 入参 |
|||
* |
|||
* @author zhangyong |
|||
* @since v1.0.0 2020-08-13 |
|||
*/ |
|||
@Data |
|||
public class SaveFunctionCustomizedFormDTO implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 功能名称 |
|||
*/ |
|||
@NotBlank(message = "功能名称不能为空") |
|||
private String functionName; |
|||
|
|||
/** |
|||
* 功能类型:0.默认功能,1.定制功能 |
|||
*/ |
|||
@NotBlank(message = "功能类型:0.默认功能,1.定制功能不能为空") |
|||
private String functionGroup; |
|||
|
|||
/** |
|||
* 功能说明 |
|||
*/ |
|||
@NotBlank(message = "功能说明不能为空") |
|||
private String functionExplain; |
|||
|
|||
/** |
|||
* 默认大图标 |
|||
*/ |
|||
@NotBlank(message = "默认大图标不能为空") |
|||
private String iconLargeImg; |
|||
|
|||
/** |
|||
* 默认小图标 |
|||
*/ |
|||
@NotBlank(message = "默认小图标不能为空") |
|||
private String iconSmallImg; |
|||
|
|||
/** |
|||
* 外链地址 |
|||
*/ |
|||
@NotBlank(message = "外链地址不能为空") |
|||
private String targetLink; |
|||
|
|||
/** |
|||
* 上架状态:0:下架、1:上架 |
|||
*/ |
|||
@NotBlank(message = "上架状态:0:下架、1:上架不能为空") |
|||
private String shoppingStatus; |
|||
|
|||
/** |
|||
* 业务域名(https;//... 无端口号)
|
|||
*/ |
|||
@NotBlank(message = "业务域名(https;//... 无端口号)不能为空") |
|||
private String domainName; |
|||
|
|||
/** |
|||
* 来源app(工作端:gov、居民端:resi) |
|||
*/ |
|||
@NotBlank(message = "来源app(工作端:gov、居民端:resi)不能为空") |
|||
private String fromApp; |
|||
} |
@ -0,0 +1,53 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 客户定制功能修改 入参 |
|||
* 目前允许修改功能名称、大小图标 |
|||
* |
|||
* @author zhangyong |
|||
* @since v1.0.0 2020-08-13 |
|||
*/ |
|||
@Data |
|||
public class UpdateCustomerFunctionFormDTO implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
public interface AddUserInternalGroup {} |
|||
public interface AddUserShowGroup extends CustomerClientShowGroup {} |
|||
|
|||
/** |
|||
* 客户Id |
|||
*/ |
|||
@NotBlank(message = "客户ID不能为空", groups = {AddUserInternalGroup.class}) |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 功能ID |
|||
*/ |
|||
@NotBlank(message = "功能ID不能为空", groups = {AddUserInternalGroup.class}) |
|||
private String functionId; |
|||
|
|||
/** |
|||
* 自定义功能名称 |
|||
*/ |
|||
@NotBlank(message = "自定义功能名称不能为空", groups = {AddUserShowGroup.class}) |
|||
private String functionName; |
|||
|
|||
/** |
|||
* 自定义大图标 |
|||
*/ |
|||
@NotBlank(message = "自定义大图标不能为空", groups = {AddUserShowGroup.class}) |
|||
private String iconLargeImg; |
|||
|
|||
/** |
|||
* 自定义小图标 |
|||
*/ |
|||
@NotBlank(message = "自定义小图标不能为空", groups = {AddUserShowGroup.class}) |
|||
private String iconSmallImg; |
|||
|
|||
private String userId; |
|||
} |
@ -0,0 +1,72 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 定制功能修改 入参 |
|||
* |
|||
* @author zhangyong |
|||
* @since v1.0.0 2020-08-13 |
|||
*/ |
|||
@Data |
|||
public class UpdateCustomizedFormDTO implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 定制功能ID |
|||
*/ |
|||
@NotBlank(message = "定制功能ID不能为空") |
|||
private String functionId; |
|||
|
|||
/** |
|||
* 上架状态:0:下架、1:上架 |
|||
*/ |
|||
@NotBlank(message = "上架状态:0:下架、1:上架不能为空") |
|||
private String shoppingStatus; |
|||
|
|||
/** |
|||
* 功能说明 |
|||
*/ |
|||
@NotBlank(message = "功能说明不能为空") |
|||
private String functionExplain; |
|||
|
|||
/** |
|||
* 默认名称 |
|||
*/ |
|||
@NotBlank(message = "默认名称不能为空") |
|||
private String customizedName; |
|||
|
|||
/** |
|||
* 默认大图标 |
|||
*/ |
|||
@NotBlank(message = "默认大图标不能为空") |
|||
private String iconLargeImg; |
|||
|
|||
/** |
|||
* 默认小图标 |
|||
*/ |
|||
@NotBlank(message = "默认小图标不能为空") |
|||
private String iconSmallImg; |
|||
|
|||
|
|||
/** |
|||
* 外链地址 |
|||
*/ |
|||
@NotBlank(message = "外链地址不能为空") |
|||
private String targetLink; |
|||
|
|||
/** |
|||
* 业务域名 |
|||
*/ |
|||
@NotBlank(message = "业务域名不能为空") |
|||
private String domainName; |
|||
|
|||
/** |
|||
* 来源app(工作端:gov、居民端:resi) |
|||
*/ |
|||
@NotBlank(message = "来源app(工作端:gov、居民端:resi)不能为空") |
|||
private String fromApp; |
|||
} |
@ -0,0 +1,47 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 修改客户定制功能上下架 入参 |
|||
* |
|||
* @author zhangyong |
|||
* @since v1.0.0 2020-08-13 |
|||
*/ |
|||
@Data |
|||
public class UpdateShoppingStatusFormDTO implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
public interface AddUserInternalGroup {} |
|||
public interface AddUserShowGroup extends CustomerClientShowGroup {} |
|||
|
|||
/** |
|||
* 客户Id |
|||
*/ |
|||
@NotBlank(message = "客户Id不能为空", groups = {AddUserInternalGroup.class}) |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 功能ID |
|||
*/ |
|||
@NotBlank(message = "功能ID不能为空", groups = {AddUserInternalGroup.class}) |
|||
private String functionId; |
|||
|
|||
/** |
|||
* 上架状态:0:下架、1:上架 |
|||
*/ |
|||
@NotBlank(message = "上架状态:0:下架、1:上架不能为空", groups = {AddUserShowGroup.class}) |
|||
private String shoppingStatus; |
|||
|
|||
/** |
|||
* 理由 |
|||
*/ |
|||
@NotBlank(message = "上下架理由不能为空", groups = {AddUserShowGroup.class}) |
|||
private String reason; |
|||
|
|||
private String userId; |
|||
} |
@ -0,0 +1,61 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 定制功能详情 返回值 |
|||
* |
|||
* @author zhangyong |
|||
* @since v1.0.0 2020-08-13 |
|||
*/ |
|||
@Data |
|||
public class FunctionCustomizedDetailResultDTO implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 功能ID(function.ID) |
|||
*/ |
|||
private String functionId; |
|||
|
|||
/** |
|||
* 上架状态:0:下架、1:上架 |
|||
*/ |
|||
private String shoppingStatus; |
|||
|
|||
/** |
|||
* 功能说明 |
|||
*/ |
|||
private String functionExplain; |
|||
|
|||
/** |
|||
* 默认名称 |
|||
*/ |
|||
private String customizedName; |
|||
|
|||
/** |
|||
* 默认大图标 |
|||
*/ |
|||
private String iconLargeImg; |
|||
|
|||
/** |
|||
* 默认小图标 |
|||
*/ |
|||
private String iconSmallImg; |
|||
|
|||
/** |
|||
* 外链地址 |
|||
*/ |
|||
private String targetLink; |
|||
|
|||
/** |
|||
* 业务域名 |
|||
*/ |
|||
private String domainName; |
|||
|
|||
/** |
|||
* 来源app(工作端:gov、居民端:resi) |
|||
*/ |
|||
private String fromApp; |
|||
} |
@ -0,0 +1,61 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 定制功能列表 返回值 |
|||
* |
|||
* @author zhangyong |
|||
* @since v1.0.0 2020-08-14 |
|||
*/ |
|||
@Data |
|||
public class FunctionCustomizedListDTO implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 功能ID(function.ID) |
|||
*/ |
|||
private String functionId; |
|||
|
|||
/** |
|||
* 上架状态:0:下架、1:上架 |
|||
*/ |
|||
private String shoppingStatus; |
|||
|
|||
/** |
|||
* 功能说明 |
|||
*/ |
|||
private String functionExplain; |
|||
|
|||
/** |
|||
* 默认名称 |
|||
*/ |
|||
private String customizedName; |
|||
|
|||
/** |
|||
* 默认大图标 |
|||
*/ |
|||
private String iconLargeImg; |
|||
|
|||
/** |
|||
* 默认小图标 |
|||
*/ |
|||
private String iconSmallImg; |
|||
|
|||
/** |
|||
* 外链地址 |
|||
*/ |
|||
private String targetLink; |
|||
|
|||
/** |
|||
* 业务域名 |
|||
*/ |
|||
private String domainName; |
|||
|
|||
/** |
|||
* 来源app(政府端:gov、居民端:resi) |
|||
*/ |
|||
private String fromApp; |
|||
} |
@ -0,0 +1,29 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 定制功能列表 返回值 |
|||
* |
|||
* @author zhangyong |
|||
* @since v1.0.0 2020-08-14 |
|||
*/ |
|||
@Data |
|||
public class FunctionCustomizedListResultDTO implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 列表总条数 |
|||
*/ |
|||
private Integer total; |
|||
|
|||
/** |
|||
* 列表内容 |
|||
*/ |
|||
private List<FunctionCustomizedListDTO> listDTOS; |
|||
|
|||
|
|||
} |
@ -0,0 +1,50 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.ArrayList; |
|||
|
|||
/** |
|||
* 查询客户定制功能列表-接口返参 |
|||
* @Author sun |
|||
*/ |
|||
@Data |
|||
public class FunctionDetailResultDTO implements Serializable { |
|||
private static final long serialVersionUID = 2971689193155710437L; |
|||
|
|||
/** |
|||
* 功能Id |
|||
*/ |
|||
private String functionId; |
|||
|
|||
/** |
|||
* 自定义功能名称 |
|||
*/ |
|||
private String functionName; |
|||
|
|||
/** |
|||
* 自定义大图标 |
|||
*/ |
|||
private String iconLargeImg; |
|||
|
|||
/** |
|||
* 自定义小图标 |
|||
*/ |
|||
private String iconSmallImg; |
|||
|
|||
/** |
|||
* 请求地址(https://+业务域名+外链地址)
|
|||
*/ |
|||
private String url; |
|||
|
|||
/** |
|||
* 自定义排序 |
|||
*/ |
|||
private String dispalyOrder; |
|||
|
|||
/** |
|||
* 自定义json(目前是空值) |
|||
*/ |
|||
private ArrayList customerParameter; |
|||
} |
@ -0,0 +1,158 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.controller; |
|||
|
|||
import com.epmet.commons.tools.annotation.LoginUser; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.security.dto.TokenDto; |
|||
import com.epmet.commons.tools.utils.ExcelUtils; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.commons.tools.validator.AssertUtils; |
|||
import com.epmet.commons.tools.validator.ValidatorUtils; |
|||
import com.epmet.commons.tools.validator.group.AddGroup; |
|||
import com.epmet.commons.tools.validator.group.DefaultGroup; |
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import com.epmet.dto.CustomerFunctionDetailDTO; |
|||
import com.epmet.dto.form.FunctionDetailFromDTO; |
|||
import com.epmet.dto.form.UpdateCustomerFunctionFormDTO; |
|||
import com.epmet.dto.form.UpdateShoppingStatusFormDTO; |
|||
import com.epmet.dto.result.FunctionDetailResultDTO; |
|||
import com.epmet.excel.CustomerFunctionDetailExcel; |
|||
import com.epmet.service.CustomerFunctionDetailService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import javax.servlet.http.HttpServletResponse; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
|
|||
/** |
|||
* 客户定制功能详情表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-08-11 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("customerfunctiondetail") |
|||
public class CustomerFunctionDetailController { |
|||
|
|||
@Autowired |
|||
private CustomerFunctionDetailService customerFunctionDetailService; |
|||
|
|||
@GetMapping("page") |
|||
public Result<PageData<CustomerFunctionDetailDTO>> page(@RequestParam Map<String, Object> params){ |
|||
PageData<CustomerFunctionDetailDTO> page = customerFunctionDetailService.page(params); |
|||
return new Result<PageData<CustomerFunctionDetailDTO>>().ok(page); |
|||
} |
|||
|
|||
@GetMapping("{id}") |
|||
public Result<CustomerFunctionDetailDTO> get(@PathVariable("id") String id){ |
|||
CustomerFunctionDetailDTO data = customerFunctionDetailService.get(id); |
|||
return new Result<CustomerFunctionDetailDTO>().ok(data); |
|||
} |
|||
|
|||
@PostMapping |
|||
public Result save(@RequestBody CustomerFunctionDetailDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); |
|||
customerFunctionDetailService.save(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@PutMapping |
|||
public Result update(@RequestBody CustomerFunctionDetailDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); |
|||
customerFunctionDetailService.update(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@DeleteMapping |
|||
public Result delete(@RequestBody String[] ids){ |
|||
//效验数据
|
|||
AssertUtils.isArrayEmpty(ids, "id"); |
|||
customerFunctionDetailService.delete(ids); |
|||
return new Result(); |
|||
} |
|||
|
|||
@GetMapping("export") |
|||
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { |
|||
List<CustomerFunctionDetailDTO> list = customerFunctionDetailService.list(params); |
|||
ExcelUtils.exportExcelToTarget(response, null, list, CustomerFunctionDetailExcel.class); |
|||
} |
|||
|
|||
/** |
|||
* @param formDTO |
|||
* @return |
|||
* @Author sun |
|||
* @Description 居民端-获取客户定制功能列表 |
|||
**/ |
|||
@PostMapping("resifunctiondetaillist") |
|||
public Result<List<FunctionDetailResultDTO>> resiFunctionDetail(@LoginUser TokenDto tokenDto, @RequestBody FunctionDetailFromDTO formDTO) { |
|||
ValidatorUtils.validateEntity(formDTO, FunctionDetailFromDTO.AddUserShowGroup.class); |
|||
return new Result<List<FunctionDetailResultDTO>>().ok(customerFunctionDetailService.resiAndWorkFunctionDetail(formDTO)); |
|||
} |
|||
|
|||
/** |
|||
* @param formDTO |
|||
* @return |
|||
* @Author sun |
|||
* @Description 工作端-获取客户定制功能列表 |
|||
**/ |
|||
@PostMapping("workfunctiondetaillist") |
|||
public Result<List<FunctionDetailResultDTO>> workFunctionDetail(@LoginUser TokenDto tokenDto, @RequestBody FunctionDetailFromDTO formDTO) { |
|||
ValidatorUtils.validateEntity(formDTO, FunctionDetailFromDTO.AddUserInternalGroup.class); |
|||
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|||
return new Result<List<FunctionDetailResultDTO>>().ok(customerFunctionDetailService.resiAndWorkFunctionDetail(formDTO)); |
|||
} |
|||
|
|||
/** |
|||
* 修改客户定制功能上下架 |
|||
* 修改上下架状态,保存上下架历史 |
|||
* |
|||
* @param tokenDto |
|||
* @param formDTO |
|||
* @return com.epmet.commons.tools.utils.Result |
|||
* @Author zhangyong |
|||
* @Date 09:17 2020-08-17 |
|||
**/ |
|||
@PostMapping("updateshoppingstatus") |
|||
public Result updateShoppingStatus(@LoginUser TokenDto tokenDto, @RequestBody UpdateShoppingStatusFormDTO formDTO) { |
|||
ValidatorUtils.validateEntity(formDTO, UpdateShoppingStatusFormDTO.AddUserInternalGroup.class, UpdateShoppingStatusFormDTO.AddUserShowGroup.class); |
|||
formDTO.setUserId(tokenDto.getUserId()); |
|||
return customerFunctionDetailService.updateShoppingStatus(formDTO); |
|||
} |
|||
|
|||
/** |
|||
* 客户定制功能修改 入参 |
|||
* 目前允许修改功能名称、大小图标 |
|||
* |
|||
* @param tokenDto |
|||
* @param formDTO |
|||
* @return com.epmet.commons.tools.utils.Result |
|||
* @Author zhangyong |
|||
* @Date 09:17 2020-08-17 |
|||
**/ |
|||
@PostMapping("updatecustomerfunction") |
|||
public Result updateCustomerFunction(@LoginUser TokenDto tokenDto, @RequestBody UpdateCustomerFunctionFormDTO formDTO) { |
|||
ValidatorUtils.validateEntity(formDTO, UpdateCustomerFunctionFormDTO.AddUserInternalGroup.class, UpdateCustomerFunctionFormDTO.AddUserShowGroup.class); |
|||
formDTO.setUserId(tokenDto.getUserId()); |
|||
return customerFunctionDetailService.updateCustomerFunction(formDTO); |
|||
} |
|||
} |
@ -0,0 +1,177 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.controller; |
|||
|
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.utils.ExcelUtils; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.commons.tools.validator.AssertUtils; |
|||
import com.epmet.commons.tools.validator.ValidatorUtils; |
|||
import com.epmet.commons.tools.validator.group.AddGroup; |
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import com.epmet.commons.tools.validator.group.DefaultGroup; |
|||
import com.epmet.dto.FunctionCustomizedDTO; |
|||
import com.epmet.dto.form.CommonFunctionIdFormDTO; |
|||
import com.epmet.dto.form.FunctionCustomizedListFormDTO; |
|||
import com.epmet.dto.form.SaveFunctionCustomizedFormDTO; |
|||
import com.epmet.dto.form.UpdateCustomizedFormDTO; |
|||
import com.epmet.dto.result.FunctionCustomizedDetailResultDTO; |
|||
import com.epmet.dto.result.FunctionCustomizedListResultDTO; |
|||
import com.epmet.excel.FunctionCustomizedExcel; |
|||
import com.epmet.service.FunctionCustomizedService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import javax.servlet.http.HttpServletResponse; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
|
|||
/** |
|||
* 定制功能 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-08-11 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("functioncustomized") |
|||
public class FunctionCustomizedController { |
|||
|
|||
@Autowired |
|||
private FunctionCustomizedService functionCustomizedService; |
|||
|
|||
@GetMapping("page") |
|||
public Result<PageData<FunctionCustomizedDTO>> page(@RequestParam Map<String, Object> params){ |
|||
PageData<FunctionCustomizedDTO> page = functionCustomizedService.page(params); |
|||
return new Result<PageData<FunctionCustomizedDTO>>().ok(page); |
|||
} |
|||
|
|||
@GetMapping("{id}") |
|||
public Result<FunctionCustomizedDTO> get(@PathVariable("id") String id){ |
|||
FunctionCustomizedDTO data = functionCustomizedService.get(id); |
|||
return new Result<FunctionCustomizedDTO>().ok(data); |
|||
} |
|||
|
|||
@PostMapping |
|||
public Result save(@RequestBody FunctionCustomizedDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); |
|||
functionCustomizedService.save(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@PutMapping |
|||
public Result update(@RequestBody FunctionCustomizedDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); |
|||
functionCustomizedService.update(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@DeleteMapping |
|||
public Result delete(@RequestBody String[] ids){ |
|||
//效验数据
|
|||
AssertUtils.isArrayEmpty(ids, "id"); |
|||
functionCustomizedService.delete(ids); |
|||
return new Result(); |
|||
} |
|||
|
|||
@GetMapping("export") |
|||
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { |
|||
List<FunctionCustomizedDTO> list = functionCustomizedService.list(params); |
|||
ExcelUtils.exportExcelToTarget(response, null, list, FunctionCustomizedExcel.class); |
|||
} |
|||
|
|||
/** |
|||
* 定制功能新增(功能表、定制功能表) |
|||
* |
|||
* @param formDTO |
|||
* @return com.epmet.commons.tools.utils.Result |
|||
* @Author zhangyong |
|||
* @Date 09:54 2020-08-13 |
|||
**/ |
|||
@PostMapping("savefunctioncustomized") |
|||
public Result saveFunctionCustomized(@RequestBody SaveFunctionCustomizedFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO); |
|||
functionCustomizedService.saveFunctionCustomized(formDTO); |
|||
return new Result(); |
|||
} |
|||
|
|||
/** |
|||
* 定制功能详情 |
|||
* 根据定制功能Id查询对应的详情数据 |
|||
* |
|||
* @param formDTO |
|||
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.FunctionCustomizedDetailResultDTO> |
|||
* @Author zhangyong |
|||
* @Date 10:36 2020-08-13 |
|||
**/ |
|||
@PostMapping("getfunctioncustomized") |
|||
public Result<FunctionCustomizedDetailResultDTO> getFunctionCustomized(@RequestBody CommonFunctionIdFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO); |
|||
return functionCustomizedService.getFunctionCustomized(formDTO); |
|||
} |
|||
|
|||
/** |
|||
* 定制功能删除 |
|||
* 单条删除,在没有客户使用的前提下可以逻辑删除(客户定制功能详情表 ,没查到就是没人在使用) |
|||
* 当功能 有客户在使用时,返回code: 8000 |
|||
* msg: 功能正在使用中,不允许删除! |
|||
* @param formDTO |
|||
* @return com.epmet.commons.tools.utils.Result |
|||
* @Author zhangyong |
|||
* @Date 11:03 2020-08-13 |
|||
**/ |
|||
@PostMapping("deletefunctioncustomized") |
|||
public Result deleteFunctionCustomized(@RequestBody CommonFunctionIdFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO); |
|||
return functionCustomizedService.deleteFunctionCustomized(formDTO); |
|||
} |
|||
|
|||
/** |
|||
* 定制功能修改 |
|||
* 有客户在使用该功能时则不允许修改上下架状态、业务域名和外链地址、所属端app, |
|||
* 只能修改功能名称和大小图标 |
|||
* 修改的要判断是否有客户在使用,有用的要批量更新已使用客户数据 |
|||
* |
|||
* @param formDTO |
|||
* @return com.epmet.commons.tools.utils.Result |
|||
* @Author zhangyong |
|||
* @Date 14:52 2020-08-13 |
|||
**/ |
|||
@PostMapping("updatecustomized") |
|||
public Result updateCustomized(@RequestBody UpdateCustomizedFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO); |
|||
return functionCustomizedService.updateCustomized(formDTO); |
|||
} |
|||
|
|||
/** |
|||
* 定制功能列表 |
|||
* 按功能分组,先工作端在居民端,在按创建时间倒序 |
|||
* |
|||
* @param formDTO |
|||
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.FunctionCustomizedListResultDTO> |
|||
* @Author zhangyong |
|||
* @Date 10:07 2020-08-14 |
|||
**/ |
|||
@PostMapping("functioncustomizedlist") |
|||
public Result<FunctionCustomizedListResultDTO> functionCustomizedList(@RequestBody FunctionCustomizedListFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO); |
|||
return functionCustomizedService.functionCustomizedList(formDTO); |
|||
} |
|||
} |
@ -0,0 +1,128 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.controller; |
|||
|
|||
import com.epmet.commons.tools.annotation.LoginUser; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.security.dto.TokenDto; |
|||
import com.epmet.commons.tools.utils.ExcelUtils; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.commons.tools.validator.AssertUtils; |
|||
import com.epmet.commons.tools.validator.ValidatorUtils; |
|||
import com.epmet.commons.tools.validator.group.AddGroup; |
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import com.epmet.commons.tools.validator.group.DefaultGroup; |
|||
import com.epmet.dto.FunctionCustomizedVisitedDTO; |
|||
import com.epmet.dto.form.FunctionDetailFromDTO; |
|||
import com.epmet.dto.form.FunctionVisitedFromDTO; |
|||
import com.epmet.dto.result.FunctionDetailResultDTO; |
|||
import com.epmet.excel.FunctionCustomizedVisitedExcel; |
|||
import com.epmet.service.FunctionCustomizedVisitedService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import javax.servlet.http.HttpServletResponse; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
|
|||
/** |
|||
* 定制功能访问记录表 记录居民端、工作端那些人访问过定制功能以及访问的结果 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-08-13 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("functioncustomizedvisited") |
|||
public class FunctionCustomizedVisitedController { |
|||
|
|||
@Autowired |
|||
private FunctionCustomizedVisitedService functionCustomizedVisitedService; |
|||
|
|||
@GetMapping("page") |
|||
public Result<PageData<FunctionCustomizedVisitedDTO>> page(@RequestParam Map<String, Object> params){ |
|||
PageData<FunctionCustomizedVisitedDTO> page = functionCustomizedVisitedService.page(params); |
|||
return new Result<PageData<FunctionCustomizedVisitedDTO>>().ok(page); |
|||
} |
|||
|
|||
@GetMapping("{id}") |
|||
public Result<FunctionCustomizedVisitedDTO> get(@PathVariable("id") String id){ |
|||
FunctionCustomizedVisitedDTO data = functionCustomizedVisitedService.get(id); |
|||
return new Result<FunctionCustomizedVisitedDTO>().ok(data); |
|||
} |
|||
|
|||
@PostMapping |
|||
public Result save(@RequestBody FunctionCustomizedVisitedDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); |
|||
functionCustomizedVisitedService.save(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@PutMapping |
|||
public Result update(@RequestBody FunctionCustomizedVisitedDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); |
|||
functionCustomizedVisitedService.update(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@DeleteMapping |
|||
public Result delete(@RequestBody String[] ids){ |
|||
//效验数据
|
|||
AssertUtils.isArrayEmpty(ids, "id"); |
|||
functionCustomizedVisitedService.delete(ids); |
|||
return new Result(); |
|||
} |
|||
|
|||
@GetMapping("export") |
|||
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { |
|||
List<FunctionCustomizedVisitedDTO> list = functionCustomizedVisitedService.list(params); |
|||
ExcelUtils.exportExcelToTarget(response, null, list, FunctionCustomizedVisitedExcel.class); |
|||
} |
|||
|
|||
/** |
|||
* @param formDTO |
|||
* @return |
|||
* @Author sun |
|||
* @Description 居民端-保存定制功能访问记录 |
|||
**/ |
|||
@PostMapping("saveresifunctionvisited") |
|||
public Result saveResiFunctionVisited(@LoginUser TokenDto tokenDto, @RequestBody FunctionVisitedFromDTO formDTO) { |
|||
ValidatorUtils.validateEntity(formDTO, FunctionVisitedFromDTO.AddUserInternalGroup.class, FunctionVisitedFromDTO.AddUserShowGroup.class); |
|||
formDTO.setUserId(tokenDto.getUserId()); |
|||
functionCustomizedVisitedService.saveFunctionVisited(formDTO); |
|||
return new Result(); |
|||
} |
|||
|
|||
/** |
|||
* @param formDTO |
|||
* @return |
|||
* @Author sun |
|||
* @Description 工作端-保存定制功能访问记录 |
|||
**/ |
|||
@PostMapping("saveworkfunctionvisited") |
|||
public Result<List<FunctionDetailResultDTO>> saveWorkFunctionVisited(@LoginUser TokenDto tokenDto, @RequestBody FunctionVisitedFromDTO formDTO) { |
|||
ValidatorUtils.validateEntity(formDTO, FunctionVisitedFromDTO.AddUserInternalGroup.class, FunctionVisitedFromDTO.AddUserShowGroup.class); |
|||
formDTO.setUserId(tokenDto.getUserId()); |
|||
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|||
functionCustomizedVisitedService.saveFunctionVisited(formDTO); |
|||
return new Result(); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,94 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.controller; |
|||
|
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.utils.ExcelUtils; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.commons.tools.validator.AssertUtils; |
|||
import com.epmet.commons.tools.validator.ValidatorUtils; |
|||
import com.epmet.commons.tools.validator.group.AddGroup; |
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import com.epmet.commons.tools.validator.group.DefaultGroup; |
|||
import com.epmet.dto.FunctionShoppingHistoryDTO; |
|||
import com.epmet.excel.FunctionShoppingHistoryExcel; |
|||
import com.epmet.service.FunctionShoppingHistoryService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import javax.servlet.http.HttpServletResponse; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
|
|||
/** |
|||
* 客户定制功能上下架历史 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-08-14 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("functionshoppinghistory") |
|||
public class FunctionShoppingHistoryController { |
|||
|
|||
@Autowired |
|||
private FunctionShoppingHistoryService functionShoppingHistoryService; |
|||
|
|||
@GetMapping("page") |
|||
public Result<PageData<FunctionShoppingHistoryDTO>> page(@RequestParam Map<String, Object> params){ |
|||
PageData<FunctionShoppingHistoryDTO> page = functionShoppingHistoryService.page(params); |
|||
return new Result<PageData<FunctionShoppingHistoryDTO>>().ok(page); |
|||
} |
|||
|
|||
@GetMapping("{id}") |
|||
public Result<FunctionShoppingHistoryDTO> get(@PathVariable("id") String id){ |
|||
FunctionShoppingHistoryDTO data = functionShoppingHistoryService.get(id); |
|||
return new Result<FunctionShoppingHistoryDTO>().ok(data); |
|||
} |
|||
|
|||
@PostMapping |
|||
public Result save(@RequestBody FunctionShoppingHistoryDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); |
|||
functionShoppingHistoryService.save(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@PutMapping |
|||
public Result update(@RequestBody FunctionShoppingHistoryDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); |
|||
functionShoppingHistoryService.update(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@DeleteMapping |
|||
public Result delete(@RequestBody String[] ids){ |
|||
//效验数据
|
|||
AssertUtils.isArrayEmpty(ids, "id"); |
|||
functionShoppingHistoryService.delete(ids); |
|||
return new Result(); |
|||
} |
|||
|
|||
@GetMapping("export") |
|||
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { |
|||
List<FunctionShoppingHistoryDTO> list = functionShoppingHistoryService.list(params); |
|||
ExcelUtils.exportExcelToTarget(response, null, list, FunctionShoppingHistoryExcel.class); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,79 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dao; |
|||
|
|||
import com.epmet.commons.mybatis.dao.BaseDao; |
|||
import com.epmet.dto.CustomerFunctionDetailDTO; |
|||
import com.epmet.dto.form.FunctionDetailFromDTO; |
|||
import com.epmet.dto.form.UpdateCustomerFunctionFormDTO; |
|||
import com.epmet.dto.form.UpdateShoppingStatusFormDTO; |
|||
import com.epmet.dto.result.FunctionDetailResultDTO; |
|||
import com.epmet.entity.CustomerFunctionDetailEntity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 客户定制功能详情表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-08-11 |
|||
*/ |
|||
@Mapper |
|||
public interface CustomerFunctionDetailDao extends BaseDao<CustomerFunctionDetailEntity> { |
|||
|
|||
/** |
|||
* 根据functionId查询使用该功能的,客户id: customizedId |
|||
* 可用来判断该功能,是否有客户在使用 |
|||
* |
|||
* @param functionId |
|||
* @return java.util.List<com.epmet.dto.CustomerFunctionDetailDTO> |
|||
* @Author zhangyong |
|||
* @Date 11:14 2020-08-13 |
|||
**/ |
|||
List<CustomerFunctionDetailDTO> selectCustomerIdByFunctionId(@Param("functionId") String functionId); |
|||
|
|||
/** |
|||
* @param formDTO |
|||
* @return |
|||
* @Author sun |
|||
* @Description 根据所属端和客户Id查询客户定制功能列表 |
|||
**/ |
|||
List<FunctionDetailResultDTO> selectFunctionDetailList(FunctionDetailFromDTO formDTO); |
|||
|
|||
/** |
|||
* 修改客户定制功能上下架 |
|||
* 修改上下架状态,保存上下架历史 |
|||
* |
|||
* @param formDTO |
|||
* @Author zhangyong |
|||
* @Date 09:17 2020-08-17 |
|||
**/ |
|||
void updateShoppingStatus(UpdateShoppingStatusFormDTO formDTO); |
|||
|
|||
/** |
|||
* 客户定制功能修改 入参 |
|||
* 目前允许修改功能名称、大小图标 |
|||
* |
|||
* @param formDTO |
|||
* @Author zhangyong |
|||
* @Date 10:00 2020-08-17 |
|||
**/ |
|||
void updateCustomerFunction(UpdateCustomerFunctionFormDTO formDTO); |
|||
} |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue