Commit c12e167d by XiaHou

first提交

parent 13064a2c
antaile-back
\ No newline at end of file
## antaile-back
atlapp后台
开发框架:srping boot
开发工具:IDEA
\ No newline at end of file
<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>
<groupId>com.hwstudio</groupId>
<artifactId>antaile-back</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>antaile-back</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.resourceEncoding>UTF-8</project.build.resourceEncoding>
<java.version>1.8</java.version>
<maven.compile.encoding>UTF-8</maven.compile.encoding>
<failOnMissingWebXml>false</failOnMissingWebXml>
<fasterxml.jackson.version>2.8.9</fasterxml.jackson.version>
<spring.version>4.3.9.RELEASE</spring.version>
<spring.boot.version>1.5.4.RELEASE</spring.boot.version>
<mysql.version>5.1.41</mysql.version>
<fastjson.version>1.2.49</fastjson.version>
<gson.version>2.8.5</gson.version>
<commons-lang3.version>3.7</commons-lang3.version>
<commons-collections.version>3.2.1</commons-collections.version>
<commons-fileupload.version>1.3.3</commons-fileupload.version>
<lombok.version>1.18.2</lombok.version>
</properties>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons-fileupload.version}</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
<!-- Swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${fasterxml.jackson.version}</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.2</version>
</dependency>
<!-- END Swagger -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${spring.boot.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>${spring.boot.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<version>8.5.11</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<!-- Spring 整合Shiro需要的依赖 -->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>${commons-collections.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
<!--<dependency>-->
<!--<groupId>junit</groupId>-->
<!--<artifactId>junit</artifactId>-->
<!--<version>4.12</version>-->
<!--<scope>test</scope>-->
<!--</dependency>-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.13</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.5.0</version>
</dependency>
<!-- <dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>-->
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>com.gexin.platform</groupId>
<artifactId>gexin-rp-sdk-http</artifactId>
<version>4.1.0.5</version>
</dependency>
</dependencies>
<build>
<finalName>${project.name}</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<!--如果想在没有web.xml文件的情况下构建WAR,请设置为false。 -->
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<repositories>
<repository>
<id>public</id>
<url>http://112.74.31.159:8081/nexus/content/groups/public/</url>
</repository>
<repository>
<id>getui-nexus</id>
<url>http://mvn.gt.igexin.com/nexus/content/repositories/releases/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<url>http://112.74.31.159:8081/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</project>
package com.hwstudio.antaile;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
public class SpringWebLauncher extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringWebLauncher.class);
}
public static void main(String[] args) {
SpringApplication.run(SpringWebLauncher.class, args);
}
}
package com.hwstudio.antaile.common;
import org.apache.commons.lang3.StringUtils;
/**
* 业务类型枚举
*
* @author CJ
*/
public enum BusinessTypeEnum {
/**
* 注册用户
*/
REGISTER_USER("registerUser", 1000, "注册用户"),
/**
* 设置服务商等级
*/
UPDATE_SERVICE_PROVIDE_LEVEL("updateServiceProvideLevel", 1001, "设置服务商等级"),
/**
* 调整服务商
*/
UPDATE_SERVICE_PROVIDER("updateServiceProvider", 1002, "调整服务商"),
/**
* 调整积分余额
*/
UPDATE_POINT_BALANCE("updatePointBalance", 1004, "调整积分余额"),
/**
* 设置用户代理等级
*/
UPDATE_IS_AGENT("updateIsAgent", 1006, "设置用户代理等级"),
/**
* 调整补贴余额
*/
UPDATE_WITHDRAW_BALANCE("updateWithdrawBalance", 1007, "调整金币余额"),
/**
* 提现表格的审核
*/
AUDIT_WITHDRAW("auditWithdraw", 2000, "提现表格的审核"),
/**
* 预约单超管表格的添加预约单
*/
SAVE_RESERVE("saveReserve", 3000, "预约单超管表格的添加预约单"),
/**
* 预约单操作-生成补贴单
*/
SAVE_SUBSIDY_RESERVE_VIEW("saveSubsidyReserveView", 3001, "预约单操作-生成补贴单"),
/**
* 补贴单超管的添加补贴单
*/
SAVE_SUBSIDY("saveSubsidy", 4000, "补贴单超管的添加补贴单"),
/**
* 补贴单暂停发放
*/
MORATORIUM("moratorium", 4001, "补贴单暂停发放"),
/**
* 补贴单暂停发放
*/
RESUMPTION_OF_DISTRIBUTION("resumptionOfDistribution", 4002, "补贴单恢复发放");
private String key;
private Integer value;
private String text;
private BusinessTypeEnum(String key, Integer value, String text) {
this.key = key;
this.value = value;
this.text = text;
}
public String getKey() {
return key;
}
public Integer getValue() {
return value;
}
public String getText() {
return text;
}
/**
* 判断枚举是否包含某个key
*
* @param
* @return
* @author 朱春杰
* @date 2018-12-13 05:16 PM
*/
public static Boolean containsKey(String key) {
if (StringUtils.isBlank(key)) {
return false;
}
BusinessTypeEnum[] enums = BusinessTypeEnum.values();
for (BusinessTypeEnum anEnum : enums) {
if (anEnum.getKey().equalsIgnoreCase(key)) {
return true;
}
}
return false;
}
}
package com.hwstudio.antaile.common;
/**
* Constants
*
* @author whj
* @date 2018/7/29 21:26
*/
public class Constants {
/**
* Ajax 请求错误
*/
public static final String AJAX_ERROR = "-111";
/**
* 登录过期
*/
public static final String LOGIN_EXPIRED = "-112";
/**
* excel 文件后缀
*/
public static final String XLS = "xls";
/**
* excel 文件后缀
*/
public static final String XLSX = "xlsx";
/**
* Token
*/
public static final String TOKEN_NAME = "549CCDD8711E0D5DF61169B1CA001E9D";
/**
* Session验证码
*/
public static final String SESSION_VALID_CODE = "SESSION_VALID_CODE";
/**
* 全局 true 和 false 公共变量
*/
public static final Byte GLOBAL_TRUE_BYTE = 1;
public static final Byte GLOBAL_FALSE_BYTE = 0;
public static final Short GLOBAL_TRUE_SHORT = 1;
public static final Short GLOBAL_FALSE_SHORT = 0;
public static final Integer GLOBAL_TRUE_INT = 1;
public static final Integer GLOBAL_FALSE_INT = 0;
public static final String GLOBAL_TRUE_STR = "1";
public static final String GLOBAL_FALSE_STR = "0";
public static final Boolean GLOBAL_TRUE_BOOLEAN = true;
public static final Boolean GLOBAL_FALSE_BOOLEAN = false;
/**
* 审核状态 0:未审核
*/
public static final int AUDIT_STATE_INIT = 0;
/**
* 审核状态 1:通过
*/
public static final int AUDIT_STATE_PASS = 1;
/**
* 审核状态 2:驳回
*/
public static final int AUDIT_STATE_REJECT = 2;
/**
* 提现类型 1:补贴
*/
public static final Integer WITHDRAW_TYPE_BEANS = 1;
/**
* 提现类型 2:奖励
*/
public static final Integer WITHDRAW_TYPE_REWARDS = 2;
/**
* 发放状态 0:待发放
*/
public static final Integer SEND_STATE_INIT = 0;
/**
* 发放状态 1:暂停发放
*/
public static final Integer SEND_STATE_PAUSE = 1;
/**
* 发放状态 2:已发放
*/
public static final Integer SEND_STATE_SENT = 2;
/**
* 流水类型1:收入
*/
public static final Integer FLOW_TYPE_INCOME = 1;
/**
* 流水类型:支出
*/
public static final Integer FLOW_TYPE_OUTCOME = 2;
/**
* 变动类型1、预约单补贴
*/
public static final Integer CHANGE_TYPE_SUBSIDY = 1;
/**
* 变动类型2:提现
*/
public static final Integer CHANGE_TYPE_WITHDRAW = 2;
/**
* 变动类型3:手工调整
*/
public static final Integer CHANGE_TYPE_MANUAL_ADJUSTMENT = 3;
/**
* 变动类型4:佣金发放
*/
public static final Integer CHANGE_TYPE_COMMISSION_INCOME = 4;
/**
* 变动类型5:消费奖金
*/
public static final Integer CHANGE_TYPE_CONSUMPTION_BONUS = 5;
/**
* 变动类型6:团队奖金
*/
public static final Integer CHANGE_TYPE_TEAM_BONUS = 6;
/**
* 变动类型7:钻石奖金
*/
public static final Integer CHANGE_TYPE_DIAMOND_BONUS = 7;
/**
* 服务商等级0:普通用户
*/
public static final Integer AGENT_LEVEL_NOT_AGENT = 0;
/**
* 服务商等级10:高级服务商
*/
public static final Integer AGENT_LEVEL_10 = 10;
/**
* 服务商等级20:特级服务商
*/
public static final Integer AGENT_LEVEL_20 = 20;
/**
* 服务商等级30:钻石服务商
*/
public static final Integer AGENT_LEVEL_30 = 30;
/**
* 服务商99:99服务商
*/
public static final Integer AGENT_LEVEL_99 = 5;
// 抽佣相关
public static final Double LEVEL99_FROM_SELF_PERCENT = 0.1D;
public static final Double LEVEL1_FROM_SELF_PERCENT = 0.2D;
public static final Double LEVEL2_FROM_SELF_PERCENT = 0.25D;
public static final Double LEVEL3_FROM_SELF_PERCENT = 0.25D;
public static final Double LEVEL1_FROM_CHILD_PERCENT = 0.03D;
public static final Double LEVEL1_FROM_CHILD_LEVEL99_PERCENT = 0.1D;
public static final Double LEVEL2_FROM_CHILD_LEVEL99_PERCENT = 0.15D;
public static final Double LEVEL3_FROM_CHILD_LEVEL99_PERCENT = 0.15D;
public static final Double LEVEL2_FROM_CHILD_LEVEL1_PERCENT = 0.05D;
public static final Double LEVEL2_FROM_CHILD_LEVEL2_PERCENT = 0.03D;
public static final Double LEVEL2_FROM_CHILD_LEVEL3_PERCENT = 0.03D;
public static final Double LEVEL3_FROM_CHILD_LEVEL1_PERCENT = 0.05D;
public static final Double LEVEL3_FROM_CHILD_LEVEL2_PERCENT = 0.05D;
public static final Double LEVEL3_FROM_CHILD_LEVEL3_PERCENT = 0.03D;
public static final Double LEVEL3_FROM_TEAM1_TOTAL_AMOUNT = 0D;
public static final Double LEVEL3_FROM_TEAM1_PERCENT = 0.01D;
public static final Double LEVEL3_FROM_TEAM2_TOTAL_AMOUNT = 1000000D;
public static final Double LEVEL3_FROM_TEAM2_PERCENT = 0.02D;
/**
* 代理 生成发放表年数
*/
public static final Integer YEAR_NUM = 10;
/**
* 代理 生成发放表月数
*/
public static final Integer MONTH_NUM = 120;
/**
* 触发条件1:成为服务商;2:本月推荐服务商;3:本月推荐顾客
*/
public static final int TRIGGER_TYPE_BECOME_SERVICE_PROVIDER = 1;
public static final int TRIGGER_TYPE_RECOMMEND_SERVICE_PROVIDER = 2;
public static final int TRIGGER_TYPE_RECOMMEND_CUSTOMER = 3;
}
package com.hwstudio.antaile.config;
import com.alibaba.druid.filter.Filter;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallFilter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.List;
@Configuration
@EnableTransactionManagement
public class MyBatisConfig {
@Autowired
WallFilter wallFilter;
@Bean(name = "dataSource")
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
DruidDataSource datasource = new DruidDataSource();
List<Filter> filters = new ArrayList<>();
filters.add(wallFilter);
datasource.setProxyFilters(filters);
return datasource;
}
@Bean(name = "wallFilter")
@DependsOn("wallConfig")
public WallFilter wallFilter(WallConfig wallConfig) {
WallFilter wallFilter = new WallFilter();
wallFilter.setConfig(wallConfig);
return wallFilter;
}
@Bean(name = "wallConfig")
public WallConfig wallConfig() {
WallConfig wallConfig = new WallConfig();
wallConfig.setMultiStatementAllow(true);
wallConfig.setNoneBaseStatementAllow(true);
return wallConfig;
}
// 配置事物管理器
@Bean(name = "transactionManager")
public DataSourceTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource());
}
}
package com.hwstudio.antaile.config;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
@Configuration
@MapperScan("com.hwstudio.antaile.dao")
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor(){
PaginationInterceptor page = new PaginationInterceptor();
page.setDialectType("mysql");
return page;
}
}
package com.hwstudio.antaile.config;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import javax.servlet.Filter;
import org.apache.shiro.spring.LifecycleBeanPostProcessor;
import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.apache.shiro.cache.ehcache.EhCacheManager;
import org.apache.shiro.mgt.SecurityManager;
import com.hwstudio.antaile.shiro.CustomAuthorizingRealm;
import com.hwstudio.antaile.shiro.CustomFormAuthenticationFilter;
@Configuration
public class ShiroConfiguration {
@Bean(name = "shiroFilter")
public ShiroFilterFactoryBean shiroFilter(@Qualifier("securityManager") SecurityManager manager) {
ShiroFilterFactoryBean bean = new ShiroFilterFactoryBean();
bean.setSecurityManager(manager);
bean.setLoginUrl("/login");
bean.setSuccessUrl("/index");
bean.setUnauthorizedUrl("/403");
Map<String, Filter> filters = new HashMap<String, Filter>();
Filter filter = new CustomFormAuthenticationFilter();
filters.put("authc", filter);
bean.setFilters(filters);
Map<String, String> filterChainDefinitionMap = new LinkedHashMap<String, String>();
filterChainDefinitionMap.put("/static/**", "anon");
filterChainDefinitionMap.put("/login", "anon");
filterChainDefinitionMap.put("/valid-code", "anon");
filterChainDefinitionMap.put("/to-login", "anon");
filterChainDefinitionMap.put("/redirect-login", "anon");
filterChainDefinitionMap.put("/**", "authc");
bean.setFilterChainDefinitionMap(filterChainDefinitionMap);
return bean;
}
// 配置核心安全事务管理器
@Bean(name = "securityManager")
public SecurityManager securityManager(
@Qualifier("CustomAuthorizingRealm") CustomAuthorizingRealm CustomAuthorizingRealm) {
System.err.println("--------------shiro已经加载----------------");
DefaultWebSecurityManager manager = new DefaultWebSecurityManager();
manager.setRealm(CustomAuthorizingRealm);
manager.setCacheManager(ehCacheManager());
return manager;
}
@Bean
public EhCacheManager ehCacheManager(){
EhCacheManager cacheManager = new EhCacheManager();
cacheManager.setCacheManagerConfigFile("classpath:ehcache-shiro.xml");
return cacheManager;
}
// 配置自定义的权限登录器
@Bean(name = "CustomAuthorizingRealm")
public CustomAuthorizingRealm CustomAuthorizingRealm() {
CustomAuthorizingRealm CustomAuthorizingRealm = new CustomAuthorizingRealm();
return CustomAuthorizingRealm;
}
@Bean
public LifecycleBeanPostProcessor lifecycleBeanPostProcessor() {
return new LifecycleBeanPostProcessor();
}
@Bean
public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() {
DefaultAdvisorAutoProxyCreator creator = new DefaultAdvisorAutoProxyCreator();
creator.setProxyTargetClass(true);
return creator;
}
@Bean
public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(
@Qualifier("securityManager") SecurityManager manager) {
AuthorizationAttributeSourceAdvisor advisor = new AuthorizationAttributeSourceAdvisor();
advisor.setSecurityManager(manager);
return advisor;
}
}
package com.hwstudio.antaile.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* SwaggerConfig
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket buildDocket() {
return new Docket(DocumentationType.SWAGGER_2).apiInfo(buildApiInf()).select()
.apis(RequestHandlerSelectors.basePackage("com.hwstudio.antaile.controller"))// controller路径
.paths(PathSelectors.any()).build();
}
private ApiInfo buildApiInf() {
return new ApiInfoBuilder().title("").termsOfServiceUrl("#").description("springmvc swagger2")
.version("0.1").build();
}
}
package com.hwstudio.antaile.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration
@ComponentScan
public class WebMvcConfigurer extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
\ No newline at end of file
package com.hwstudio.antaile.controller;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.service.AtlActivityService;
import com.hwstudio.antaile.service.AtlAdService;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlActivityVo;
import com.hwstudio.antaile.vo.AtlAdVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:19
* @Version 1.0
*/
@Controller
@RequestMapping(value = "/atlActivity")
public class AtlActivityController {
@Autowired
private AtlActivityService atlActivityService;
@RequestMapping("")
public String index (){
return "atlActivity/atlActivityList";
}
@RequestMapping("/list")
@ResponseBody
public PageVo list(AtlActivityVo vo) {
return atlActivityService.list(vo);
}
/**
* 跳转到添加页面
*
* @return String
*/
@RequestMapping("/to-add")
public String toAdd() {
return "atlActivity/addOrEditAtlActivity";
}
/**
* 跳转到编辑页面
*
* @param model Model
* @return String
*/
@RequestMapping("/to-edit")
public String toEditAd(Model model, Long id) {
Map<String, Object> map = atlActivityService.queryAdById(id);
model.addAttribute("act", map);
return "atlActivity/addOrEditAtlActivity";
}
/**
* 保存活动
*
* @param params 保存活动参数
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/save")
public JsonResult save(String params) {
JSONObject json = JSONObject.parseObject(params);
Long adId = json.getLong("id");
if (adId == null) {
atlActivityService.add(json);
} else {
atlActivityService.update(json);
}
return JsonResult.success("保存成功");
}
@ResponseBody
@RequestMapping("/enableOrDisable")
public JsonResult enableOrDisable(Long id, Integer status){
return atlActivityService.enableOrDisable(id, status);
}
/**
* 删除活动
*
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/delete")
public JsonResult delete(Long id) {
atlActivityService.delete(id);
return JsonResult.success("删除成功");
}
}
package com.hwstudio.antaile.controller;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Maps;
import com.hwstudio.antaile.dao.AtlAutobiographyMapper;
import com.hwstudio.antaile.service.AtlActivityService;
import com.hwstudio.antaile.service.AtlActivityUserReportService;
import com.hwstudio.antaile.service.AtlAutobiographyService;
import com.hwstudio.antaile.service.AtlTimeService;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlActivityUserReportVo;
import com.hwstudio.antaile.vo.AtlActivityVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:19
* @Version 1.0
*/
@Controller
@RequestMapping(value = "/atlActivityUserReport")
public class AtlActivityUserReportController {
@Autowired
private AtlActivityUserReportService atlActivityUserReportService;
@Autowired
private AtlTimeService atlTimeService;
@Autowired
private AtlAutobiographyService atlAutobiographyService;
@RequestMapping("")
public String index() {
return "atlActivityUserReport/atlActivityUserReportList";
}
@RequestMapping("/list")
@ResponseBody
public PageVo list(AtlActivityUserReportVo vo) {
return atlActivityUserReportService.list(vo);
}
@ResponseBody
@RequestMapping("/audit")
public JsonResult audit(Long id, Integer status) {
return atlActivityUserReportService.audit(id, status);
}
/**
* 跳转到编辑页面
*
* @param model Model
* @return String
*/
@RequestMapping("/edit")
public String toEditAd(Model model, Long type, Long workId) {
Map<String, Object> map = Maps.newHashMap();
if (0 == type) {
map = atlTimeService.getById(workId);
} else {
map = atlAutobiographyService.getById(workId);
}
model.addAttribute("act", map);
return "atlActivityUserReport/editAtlActivityUserReport";
}
@ResponseBody
@RequestMapping("/save")
public JsonResult save(Long workId, Long type, Long likeCount) {
return atlActivityUserReportService.edit(type, workId, likeCount);
}
}
package com.hwstudio.antaile.controller;
import com.google.common.collect.Maps;
import com.hwstudio.antaile.service.AtlActivityUserReportRecordService;
import com.hwstudio.antaile.service.AtlActivityUserReportService;
import com.hwstudio.antaile.service.AtlAutobiographyService;
import com.hwstudio.antaile.service.AtlTimeService;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlActivityUserReportRecordVo;
import com.hwstudio.antaile.vo.AtlActivityUserReportVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:19
* @Version 1.0
*/
@Controller
@RequestMapping(value = "/atlActivityUserReportRecord")
public class AtlActivityUserReportRecordController {
@Autowired
private AtlActivityUserReportRecordService atlActivityUserReportRecordService;
@RequestMapping("")
public String index() {
return "atlActivityUserReport/atlActivityUserReportRecordList";
}
@RequestMapping("/list")
@ResponseBody
public PageVo list(AtlActivityUserReportRecordVo vo) {
return atlActivityUserReportRecordService.list(vo);
}
}
package com.hwstudio.antaile.controller;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.service.AtlAdService;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlAdVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:19
* @Version 1.0
*/
@Controller
@RequestMapping(value = "/atlAd")
public class AtlAdController {
@Autowired
private AtlAdService atlAdService;
@RequestMapping("")
public String index (){
return "atlAd/atlAdList";
}
@RequestMapping("/list")
@ResponseBody
public PageVo list(AtlAdVo vo) {
return atlAdService.list(vo);
}
/**
* 跳转到添加广告页面
*
* @return String
*/
@RequestMapping("/to-add-ad")
public String toAddAd() {
return "atlAd/addOrEditAd";
}
/**
* 跳转到编辑广告页面
*
* @param model Model
* @param adId 广告id
* @return String
*/
@RequestMapping("/to-edit-ad")
public String toEditAd(Model model, Long adId) {
Map<String, Object> adMap = atlAdService.queryAdById(adId);
model.addAttribute("ad", adMap);
return "atlAd/addOrEditAd";
}
/**
* 保存广告
*
* @param params 保存广告参数
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/save-ad")
public JsonResult saveAd(String params) {
JSONObject json = JSONObject.parseObject(params);
Long adId = json.getLong("adId");
if (adId == null) {
atlAdService.addAd(json);
} else {
atlAdService.updateAd(json);
}
return JsonResult.success("保存成功");
}
/**
* 删除广告
*
* @param adId 广告id
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/del-ad")
public JsonResult delAd(Long adId) {
atlAdService.delAd(adId);
return JsonResult.success("删除成功");
}
@ResponseBody
@RequestMapping("/enableOrDisableAd")
public JsonResult enableOrDisableAd(Long adId, Integer status){
return atlAdService.enableOrDisableAd(adId, status);
}
}
package com.hwstudio.antaile.controller;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.oss.OSSClient;
import com.google.common.collect.Lists;
import com.hwstudio.antaile.service.AtlAutobiographyArticleService;
import com.hwstudio.antaile.service.AtlAutobiographyService;
import com.hwstudio.antaile.utils.AliCloudUtil;
import com.hwstudio.antaile.utils.ExcelUtil;
import com.hwstudio.antaile.utils.GenerateUtil;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlAutobiographyArticleVo;
import com.hwstudio.antaile.vo.AtlAutobiographyVo;
import com.hwstudio.antaile.vo.AtlContentStatisticalVo;
import com.hwstudio.antaile.vo.PageVo;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 18:04
* @Version 1.0
*/
@Controller
@RequestMapping(value = "/atlAutobiography")
public class AtlAutobiographyController {
@Autowired
private AtlAutobiographyService atlAutobiographyService;
@Autowired
private AtlAutobiographyArticleService atlAutobiographyArticleService;
@RequestMapping("")
private String index() {
return "atlAutobiography/atlAutobiographyList";
}
@RequestMapping("/list")
@ResponseBody
private PageVo list(AtlAutobiographyVo atlAutobiographyVo) {
return atlAutobiographyService.list(atlAutobiographyVo);
}
@RequestMapping("edit")
public String edit(Long id, Model model) {
Map<String, Object> map = atlAutobiographyService.getById(id);
model.addAttribute("autobiography", map);
return "atlAutobiography/atlAutobiographyEdit";
}
@RequestMapping("atlAutobiographyArticleListPage")
private String atlAutobiographyArticleListPage(Long autobiographyId, Model model) {
if (autobiographyId != null) {
model.addAttribute("autobiography", atlAutobiographyService.getById(autobiographyId));
}
return "atlAutobiography/atlAutobiographyArticleList";
}
@RequestMapping("atlAutobiographyArticleList")
@ResponseBody
public PageVo atlAutobiographyArticleList(AtlAutobiographyArticleVo vo) {
return atlAutobiographyArticleService.atlAutobiographyArticleList(vo);
}
@RequestMapping("updateIsCommend")
@ResponseBody
public JsonResult updateIsCommend(Long id, Integer type) {
return atlAutobiographyService.updateIsCommend(id, type);
}
@RequestMapping("findAutobiographyList")
@ResponseBody
public PageVo atlAutobiographyArticleList(AtlAutobiographyVo vo) {
return atlAutobiographyService.findAutobiographyList(vo);
}
@RequestMapping("saveAutobiography")
@ResponseBody
public JsonResult saveAutobiography(String params) {
JSONObject json = JSONObject.parseObject(params);
atlAutobiographyService.updateAutobiography(json);
return JsonResult.success("保存成功");
}
@RequestMapping(value = "importData", method = RequestMethod.POST)
@ResponseBody
public JsonResult importData(Long autobiographyId, HttpServletRequest request, HttpServletResponse response) throws Exception {
boolean result = false;
try {
result = atlAutobiographyArticleService.batchImport(request, autobiographyId);
if (result) {
return JsonResult.success("导入成功");
} else {
return JsonResult.failed("导入失败");
}
} catch (Exception e) {
e.printStackTrace();
if (result) {
return JsonResult.success("导入成功");
} else {
return JsonResult.failed("导入失败");
}
}
}
@RequestMapping(value = "downloadTemplate")
@ResponseBody
public JsonResult downloadTemplate(HttpServletRequest request, HttpServletResponse response) {
try {
//excel标题
List<AtlAutobiographyArticleVo> list = Lists.newArrayList();
String[] fieldNames = {"title", "content", "occurTime"};
String[] titleNames = {"标题", "内容", "发生时间"};
response.setContentType("text/plain; charset=UTF-8");
try {
ExcelUtil.writeExcel(list, fieldNames, titleNames, "传记书管模板", "传记书管模板", null, response, request);
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
return JsonResult.success("下载成功");
}
}
package com.hwstudio.antaile.controller;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.service.AtlAutobiographyTemplateService;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 19:43
* @Version 1.0
*/
@Controller
@RequestMapping(value="/atlAutobiographyTemplate")
public class AtlAutobiographyTemplateController {
@Autowired
private AtlAutobiographyTemplateService atlAutobiographyTemplateService;
@RequestMapping("")
public String index() {
return "atlAutobiographyTemplate/atlAutobiographyTemplateList";
}
@RequestMapping("/list")
@ResponseBody
public PageVo list(Integer page, Integer limit){
return atlAutobiographyTemplateService.list(page, limit);
}
/**
* 跳转到添加模板页面
*
* @return String
*/
@RequestMapping("/to-add-template")
public String toAddTemplate() {
return "atlAutobiographyTemplate/addOrEditTemplate";
}
/**
* 跳转到编辑模板页面
*
* @param model Model
* @param templateId 模板id
* @return String
*/
@RequestMapping("/to-edit-template")
public String toEditTemplate(Model model, Long templateId) {
Map<String, Object> templateMap = atlAutobiographyTemplateService.queryTemplateById(templateId);
model.addAttribute("template", templateMap);
return "atlAutobiographyTemplate/addOrEditTemplate";
}
/**
* 保存模板
*
* @param params 保存模板参数
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/save-template")
public JsonResult saveTemplate(String params) {
JSONObject json = JSONObject.parseObject(params);
Long templateId = json.getLong("templateId");
if (templateId == null) {
atlAutobiographyTemplateService.addTemplate(json);
} else {
atlAutobiographyTemplateService.updateTemplate(json);
}
return JsonResult.success("保存成功");
}
/**
* 删除模板
*
* @param templateId 模板id
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/del-template")
public JsonResult delTemplate(Long templateId) {
atlAutobiographyTemplateService.delTemplate(templateId);
return JsonResult.success("删除成功");
}
}
package com.hwstudio.antaile.controller;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.dao.AtlBookFamilyNamesMapper;
import com.hwstudio.antaile.service.AtlActivityService;
import com.hwstudio.antaile.service.AtlBookFamilyNamesService;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlActivityVo;
import com.hwstudio.antaile.vo.AtlBookFamilyNamesVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:19
* @Version 1.0
*/
@Controller
@RequestMapping(value = "/atlBookFamilyNames")
public class AtlBookFamilyNamesController {
@Autowired
private AtlBookFamilyNamesService atlBookFamilyNamesService;
@RequestMapping("")
public String index (){
return "atlBookFamilyNames/atlBookFamilyNamesList";
}
@RequestMapping("/list")
@ResponseBody
public PageVo list(AtlBookFamilyNamesVo vo) {
return atlBookFamilyNamesService.list(vo);
}
/**
* 跳转到添加页面
*
* @return String
*/
@RequestMapping("/to-add")
public String toAdd() {
return "atlBookFamilyNames/atlBookFamilyNamesAddOrEdit";
}
/**
* 跳转到编辑页面
*
* @param model Model
* @param newsId 新闻id
* @return String
*/
@RequestMapping("/to-edit")
public String toEdit(Model model, Long id) {
Map<String, Object> item = atlBookFamilyNamesService.queryAdById(id);
model.addAttribute("item", item);
return "atlBookFamilyNames/atlBookFamilyNamesAddOrEdit";
}
/**
* 保存活动
*
* @param params 保存参数
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/save")
public JsonResult save(String params) {
JSONObject json = JSONObject.parseObject(params);
Long adId = json.getLong("id");
if (adId == null) {
atlBookFamilyNamesService.add(json);
} else {
atlBookFamilyNamesService.update(json);
}
return JsonResult.success("保存成功");
}
/**
* 删除
*
* @param id id
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/delete")
public JsonResult delete(Long id) {
atlBookFamilyNamesService.delete(id);
return JsonResult.success("删除成功");
}
}
package com.hwstudio.antaile.controller;
import com.hwstudio.antaile.service.AtlContentStatisticalService;
import com.hwstudio.antaile.utils.ExcelUtil;
import com.hwstudio.antaile.vo.AtlContentStatisticalVo;
import com.hwstudio.antaile.vo.PageVo;
import org.apache.catalina.servlet4preview.http.HttpServletRequest;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:19
* @Version 1.0
*/
@Controller
@RequestMapping(value = "/atlContentStatistical")
public class AtlContentStatisticalController {
@Autowired
private AtlContentStatisticalService atlContentStatisticalService;
@RequestMapping("")
public String index() {
return "atlContentStatistical/atlContentStatisticalList";
}
@RequestMapping("/list")
@ResponseBody
public PageVo list(AtlContentStatisticalVo vo) {
return atlContentStatisticalService.findList(vo);
}
@RequestMapping(value = "/export")
@ResponseBody
public void export(AtlContentStatisticalVo vo, HttpServletRequest request, HttpServletResponse response) throws Exception {
try {
//获取数据
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<AtlContentStatisticalVo> list = atlContentStatisticalService.exportList(vo);
for (AtlContentStatisticalVo item : list) {
Integer type = item.getType();
if (type == 1) {
item.setTypeLabel("时光记");
} else {
item.setTypeLabel("传记书");
}
Integer privacySetting = item.getPrivacySetting();
if (privacySetting == 1) {
item.setPrivacySettingLabel("公开");
} else if (privacySetting == 2) {
item.setPrivacySettingLabel("私密");
} else {
item.setPrivacySettingLabel("需要问题");
}
Date createDate =item.getCreateDate();
item.setCreateDateStr(sdf.format(createDate));
Date updateDate = item.getUpdateDate();
item.setUpdateDateStr(sdf.format(updateDate));
}
//excel标题
String[] fieldNames = {"nickName", "mobilePhone", "typeLabel", "bookName", "aboutName", "privacySettingLabel", "likeCount", "readCount", "createDateStr", "updateDateStr"};
String[] titleNames = {"昵称", "电话", "类型", "书名", "关于谁", "隐私设置", "收藏量", "阅读量", "发布时间", "最近更新时间"};
response.setContentType("text/plain; charset=UTF-8");
try {
ExcelUtil.writeExcel(list, fieldNames, titleNames, "内容统计列表", "内容统计列表", null, response, request);
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.hwstudio.antaile.controller;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.service.AtlNewsService;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlNewsVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/15 00:31
* @Version 1.0
*/
@Controller
@RequestMapping(value = "atlNews")
public class AtlNewsController {
@Autowired
private AtlNewsService atlNewsService;
@RequestMapping("")
private String index(){
return "atlNews/atlNewsList";
}
@RequestMapping("/list")
@ResponseBody
private PageVo list (AtlNewsVo atlNewsVo){
return atlNewsService.list(atlNewsVo);
}
/**
* 跳转到添加新闻页面
*
* @return String
*/
@RequestMapping("/to-add-news")
public String toAddNews() {
return "atlNews/addOrEditNews";
}
/**
* 跳转到编辑新闻页面
*
* @param model Model
* @param newsId 新闻id
* @return String
*/
@RequestMapping("/to-edit-news")
public String toEditNews(Model model, Long newsId) {
Map<String, Object> newsMap = atlNewsService.queryNewsById(newsId);
model.addAttribute("news", newsMap);
return "atlNews/addOrEditNews";
}
/**
* 保存新闻
*
* @param params 保存新闻参数
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/save-news")
public JsonResult saveNews(String params) {
JSONObject json = JSONObject.parseObject(params);
Long newsId = json.getLong("newsId");
if (newsId == null) {
atlNewsService.addNews(json);
} else {
atlNewsService.updateNews(json);
}
return JsonResult.success("保存成功");
}
/**
* 删除新闻
*
* @param newsId 新闻id
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/del-news")
public JsonResult delNews(Long newsId) {
atlNewsService.delNews(newsId);
return JsonResult.success("删除成功");
}
@ResponseBody
@RequestMapping("/updateToppingNews")
public JsonResult updateToppingNews(Long newsId, Integer type){
return atlNewsService.updateToppingNews(newsId, type);
}
}
package com.hwstudio.antaile.controller;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.hwstudio.antaile.dao.AtlTimeArticleMapper;
import com.hwstudio.antaile.service.AtlTimeService;
import com.hwstudio.antaile.utils.ExcelUtil;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlAutobiographyArticleVo;
import com.hwstudio.antaile.vo.AtlTimeArticleVo;
import com.hwstudio.antaile.vo.AtlTimeVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/18 00:41
* @Version 1.0
*/
@Controller
@RequestMapping(value = "/atlTime")
public class AtlTimeController {
@Autowired
private AtlTimeService atlTimeService;
@RequestMapping("")
public String index() {
return "atlTime/atlTimeList";
}
@RequestMapping("edit")
public String edit(Long id, Model model) {
Map<String, Object> map = atlTimeService.getById(id);
model.addAttribute("time", map);
return "atlTime/atlTimeEdit";
}
@RequestMapping("list")
@ResponseBody
public PageVo list(AtlTimeVo atlTimeVo) {
return atlTimeService.list(atlTimeVo);
}
@RequestMapping("updateIsCommend")
@ResponseBody
public JsonResult updateIsCommend(Long timeId, Integer type) {
return atlTimeService.updateIsCommend(timeId, type);
}
@RequestMapping("findTimeList")
@ResponseBody
public PageVo findTimeList(AtlTimeVo atlTimeVo) {
return atlTimeService.findTimeList(atlTimeVo);
}
@ResponseBody
@PostMapping("saveTime")
public JsonResult saveTime(String params) {
JSONObject json = JSONObject.parseObject(params);
atlTimeService.updateTime(json);
return JsonResult.success("保存成功");
}
@RequestMapping("findArticleListPage")
public String findArticleListPage(Long id, Model model) {
Map<String, Object> map = atlTimeService.getById(id);
model.addAttribute("time", map);
return "atlTime/atlTimeArticleList";
}
@RequestMapping("findArticleList")
@ResponseBody
public PageVo findArticleList(Long timeId, Integer page, Integer limit) {
return atlTimeService.findArticleList(timeId, page, limit);
}
@RequestMapping(value = "importData", method = RequestMethod.POST)
@ResponseBody
public JsonResult importData(Long timeId, HttpServletRequest request, HttpServletResponse response) throws Exception {
boolean result = false;
try {
result = atlTimeService.batchImport(request, timeId);
if (result) {
return JsonResult.success("导入成功");
} else {
return JsonResult.failed("导入失败");
}
} catch (Exception e) {
e.printStackTrace();
if (result) {
return JsonResult.success("导入成功");
} else {
return JsonResult.failed("导入失败");
}
}
}
@RequestMapping(value = "downloadTemplate")
@ResponseBody
public JsonResult downloadTemplate(HttpServletRequest request, HttpServletResponse response) {
try {
//excel标题
List<AtlTimeArticleVo> list = Lists.newArrayList();
String[] fieldNames = {"title", "author", "label", "occurTime", "content"};
String[] titleNames = {"标题", "作者", "标签", "发生时间", "内容"};
response.setContentType("text/plain; charset=UTF-8");
try {
ExcelUtil.writeExcel(list, fieldNames, titleNames, "时光记文章模板", "时光记文章模板", null, response, request);
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
return JsonResult.success("下载成功");
}
}
package com.hwstudio.antaile.controller;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.service.AtlTimeTemplateService;
import com.hwstudio.antaile.service.AtlTimeTemplateTypeService;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlTimeTemplateVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 20:54
* @Version 1.0
*/
@Controller
@RequestMapping(value="/atlTimeTemplate")
public class AtlTimeTemplateController {
@Autowired
private AtlTimeTemplateService atlTimeTemplateService;
@Autowired
private AtlTimeTemplateTypeService atlTimeTemplateTypeService;
@RequestMapping("")
public String index(Model model) {
model.addAttribute("templateTypeList", atlTimeTemplateTypeService.getList());
return "atlTimeTemplate/atlTimeTemplateList";
}
@RequestMapping("list")
@ResponseBody
public PageVo list(AtlTimeTemplateVo vo) {
return atlTimeTemplateService.list(vo);
}
/**
* 跳转到添加模板页面
*
* @return String
*/
@RequestMapping("/to-add-template")
public String toAddTemplate(Model model) {
model.addAttribute("templateTypeList", atlTimeTemplateTypeService.getList());
return "atlTimeTemplate/addOrEditTemplate";
}
/**
* 跳转到编辑模板页面
*
* @param model Model
* @param templateId 模板id
* @return String
*/
@RequestMapping("/to-edit-template")
public String toEditTemplate(Model model, Long templateId) {
Map<String, Object> template = atlTimeTemplateService.queryTemplateById(templateId);
model.addAttribute("template", template);
model.addAttribute("templateTypeList", atlTimeTemplateTypeService.getList());
return "atlTimeTemplate/addOrEditTemplate";
}
/**
* 保存模板
*
* @param params 保存模板参数
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/save-template")
public JsonResult saveTemplate(String params) {
JSONObject json = JSONObject.parseObject(params);
Long templateId = json.getLong("templateId");
if (templateId == null) {
atlTimeTemplateService.addTemplate(json);
} else {
atlTimeTemplateService.updateTemplate(json);
}
return JsonResult.success("保存成功");
}
/**
* 删除模板
*
* @param templateId 模板id
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/del-template")
public JsonResult delTemplate(Long templateId) {
atlTimeTemplateService.delTemplate(templateId);
return JsonResult.success("删除成功");
}
}
package com.hwstudio.antaile.controller;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.service.AtlTimeTemplateTypeService;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlTimeTemplateTypeVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 20:19
* @Version 1.0
*/
@Controller
@RequestMapping(value="/atlTimeTemplateType")
public class AtlTimeTemplateTypeController {
@Autowired
private AtlTimeTemplateTypeService atlTimeTemplateTypeService;
@RequestMapping("")
public String index() {
return "atlTimeTemplateType/atlTimeTemplateTypeList";
}
@RequestMapping("list")
@ResponseBody
public PageVo list(AtlTimeTemplateTypeVo vo){
return atlTimeTemplateTypeService.list(vo);
}
/**
* 跳转到添加模板类型页面
*
* @return String
*/
@RequestMapping("/to-add-templateType")
public String toAddTemplateType() {
return "atlTimeTemplateType/addOrEditTemplateType";
}
/**
* 保存模板
*
* @param params 保存模板参数
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/save-templateType")
public JsonResult saveTemplateType(String params) {
JSONObject json = JSONObject.parseObject(params);
Long templateId = json.getLong("templateId");
if (templateId == null) {
atlTimeTemplateTypeService.addTemplateType(json);
}
return JsonResult.success("保存成功");
}
/**
* 删除模板
*
* @param typeId 模板类型id
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/del-templateType")
public JsonResult delTemplateType(Long typeId) {
atlTimeTemplateTypeService.delTemplateType(typeId);
return JsonResult.success("删除成功");
}
}
package com.hwstudio.antaile.controller;
import com.hwstudio.antaile.service.AtlUserService;
import com.hwstudio.antaile.service.MsgService;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlUserVo;
import com.hwstudio.antaile.vo.MassMsgVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/16 18:36
* @Version 1.0
*/
@Controller
@RequestMapping(value = "/atlUser")
public class AtlUserController {
@Autowired
private MsgService msgService;
@Autowired
private AtlUserService atlUserService;
@RequestMapping("")
public String index() {
return "atlUser/atlUserList";
}
@RequestMapping("/list")
@ResponseBody
public PageVo list(AtlUserVo atlUserVo) {
return atlUserService.list(atlUserVo);
}
@RequestMapping("view")
public String view(Long id, Model model) {
if(id != null){
model.addAttribute("atlUser", atlUserService.getById(id));
}
return "atlUser/atlUserView";
}
@ResponseBody
@RequestMapping("/enableOrDisableUser")
public JsonResult enableOrDisableUser (Long id, Integer state){
return atlUserService.enableOrDisableUser(id, state);
}
@RequestMapping("/registerUserPage")
public String registerUserPage (){
return "atlUser/registerUser";
}
@RequestMapping("/registerUser")
@ResponseBody
public JsonResult registerUser (AtlUserVo atlUserVo){
return atlUserService.registerUser(atlUserVo);
}
@RequestMapping("/resetPwd")
@ResponseBody
public JsonResult resetPwd(Long userId) {
atlUserService.resetPwd(userId);
return JsonResult.success("重置密码成功");
}
@RequestMapping("/massMsgPage")
public String massMsgPage(){
return "atlUser/massMsg";
}
@RequestMapping("/massMsg")
@ResponseBody
public JsonResult massMsg(String params) {
msgService.massMsg(params);
return JsonResult.success("群发消息成功");
}
}
package com.hwstudio.antaile.controller;
import com.hwstudio.antaile.service.AtlUserStatisticalService;
import com.hwstudio.antaile.vo.AtlUserStatisticalVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:19
* @Version 1.0
*/
@Controller
@RequestMapping(value = "/atlUserStatistical")
public class AtlUserStatisticalController {
@Autowired
private AtlUserStatisticalService atlUserStatisticalService;
@RequestMapping("")
public String index() {
return "atlUserStatistical/atlUserStatisticalList";
}
@RequestMapping("timeList")
public String timeList(Long userId, Model model) {
if(null != userId){
model.addAttribute("userId", userId);
}
return "atlUserStatistical/atlUserTimeList";
}
@RequestMapping("findAutobiographyList")
public String findAutobiographyList(Long userId, Model model) {
if(null != userId){
model.addAttribute("userId", userId);
}
return "atlUserStatistical/atlUserAutobiographyList";
}
@RequestMapping("/list")
@ResponseBody
public PageVo list(AtlUserStatisticalVo vo) {
return atlUserStatisticalService.findList(vo);
}
}
package com.hwstudio.antaile.controller;
import com.hwstudio.antaile.service.DictService;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.DictVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
/**
* <p>
* 字典表 前端控制器
* </p>
*
* @author renxc
* @since 2018-09-13
*/
@Controller
@RequestMapping("/dict")
public class DictController {
@Autowired
private DictService dictService;
/**
* @return java.util.List<java.util.Map < java.lang.String , java.lang.Object>>
* @Author C
* @Description 根据property名称查询字典表 全匹配 不带分页
* @Date 2018/8/30
* @Param [property]
**/
@GetMapping("/queryListByPropertyNoLimit")
@ResponseBody
public JsonResult queryListByPropertyNoLimit(String property) {
return JsonResult.success("查询成功", dictService.queryListByPropertyNoLimit(property));
}
/**
* 跳转到字典管理页面
*/
@RequestMapping("/")
public String index() {
return "dict/dictIndex";
}
/**
* 页面----->添加或者更新字典
*/
@RequestMapping("/addOrUpdate")
public String addOrUpdate(HttpServletRequest request, Long id) {
if (id != null) {
request.setAttribute("dict", dictService.addOrUpdate(id));
}
return "dict/dictAddOrUpdate";
}
/**
* dictIndex页面 ---->展示全部数据
*
* @param vo
* @return
*/
@RequestMapping("/queryAllList")
@ResponseBody
public PageVo queryAllList(DictVo vo) {
return dictService.queryDictList(vo);
}
/**
* 添加或更新字典
* @param dict
* @return
*/
@RequestMapping(value = "/save",method = RequestMethod.POST)
@ResponseBody
public JsonResult save(String dict){
dictService.save(dict);
return JsonResult.success("保存成功");
}
/**
* 删除字典 假删
* @param id
* @return
*/
@RequestMapping(value = "/updateStatus",method = RequestMethod.POST)
@ResponseBody
public JsonResult updateStatus(Long id){
dictService.updateStatus(id);
return JsonResult.success("删除成功");
}
}
package com.hwstudio.antaile.controller;
import com.hwstudio.antaile.common.Constants;
import com.hwstudio.antaile.service.AtlContentStatisticalService;
import com.hwstudio.antaile.utils.GenerateUtil;
import com.hwstudio.antaile.vo.AtlContentStatisticalVo;
import com.hwstudio.antaile.vo.PageVo;
import org.apache.poi.hssf.usermodel.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
/**
* SecurityController
*
* @author whj
* @date 2018/7/29 21:34
*/
@Controller
@RequestMapping("/excel")
public class ExcelController {
@Autowired
private AtlContentStatisticalService atlContentStatisticalService;
/***
* 下载Excel
* @throws IOException
*/
@GetMapping("download")
public void download(AtlContentStatisticalVo vo,
HttpServletResponse response) throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook();
//创建一个Excel表单,参数为sheet的名字
HSSFSheet sheet = workbook.createSheet("课调答卷表");
//创建表头
setTitle(workbook, sheet);
vo.setLimit(9999);
vo.setPage(1);
PageVo pageVo = atlContentStatisticalService.findList(vo);
List<Map<String, Object>> list = pageVo.getData();
//新增数据行,并且设置单元格数据
int rowNum = 1;
for (Map<String, Object> map:list) {
HSSFRow row = sheet.createRow(rowNum);
row.createCell(0).setCellValue(map.get("bookName").toString());
rowNum++;
}
String fileName = "test.xlsx";
//清空response
response.reset();
//设置response的Header
response.addHeader("Content-Disposition", "attachment;filename="+ fileName);
OutputStream os = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/vnd.ms-excel;charset=gb2312");
//将excel写入到输出流中
workbook.write(os);
os.flush();
os.close();
}
/***
* 设置表头
* @param workbook
* @param sheet
*/
private void setTitle(HSSFWorkbook workbook, HSSFSheet sheet){
HSSFRow row = sheet.createRow(0);
//设置列宽,setColumnWidth的第二个参数要乘以256,这个参数的单位是1/256个字符宽度
sheet.setColumnWidth(0, 10*256);
sheet.setColumnWidth(1, 20*256);
sheet.setColumnWidth(2, 20*256);
sheet.setColumnWidth(3, 100*256);
//设置为居中加粗
HSSFCellStyle style = workbook.createCellStyle();
HSSFFont font = workbook.createFont();
style.setFont(font);
HSSFCell cell;
cell = row.createCell(0);
cell.setCellValue("书名");
cell.setCellStyle(style);
/* cell = row.createCell(1);
cell.setCellValue("单选");
cell.setCellStyle(style);
cell = row.createCell(2);
cell.setCellValue("多选");
cell.setCellStyle(style);
cell = row.createCell(3);
cell.setCellValue("简答");
cell.setCellStyle(style);*/
}
}
package com.hwstudio.antaile.controller;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.service.FeedbackService;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.FeedbackVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/8/14 15:32
* @Version 1.0
*/
@Controller
@RequestMapping(value = "/feedback")
public class FeedbackController {
@Autowired
private FeedbackService feedbackService;
@RequestMapping("")
public String index() {
return "feedback/feedbackList";
}
@RequestMapping("list")
@ResponseBody
public PageVo list(FeedbackVo feedbackVo) {
return feedbackService.list(feedbackVo);
}
/**
* 删除
*
* @return JsonResult
*/
@ResponseBody
@RequestMapping("delete")
public JsonResult delete(Long id) {
feedbackService.delete(id);
return JsonResult.success("删除成功");
}
@RequestMapping("view")
public String view() {
return "feedback/feedbackView";
}
/**
* 处理
*
* @return JsonResult
*/
@ResponseBody
@RequestMapping("deal")
public JsonResult deal(String params){
JSONObject json = JSONObject.parseObject(params);
feedbackService.deal(json);
return JsonResult.success("处理成功");
}
}
package com.hwstudio.antaile.controller;
import com.hwstudio.antaile.service.UploadService;
import com.hwstudio.antaile.utils.JsonResult;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 文件上传 Controller
*
* @author whj
* @date 2018/8/17 14:21
*/
@Controller
@PropertySource(value = {"classpath:${spring.profiles.active}.properties"},encoding="utf-8")
public class FileUploadController {
@Value("${file.upload.path}")
private String fileUploadPath;
@Value("${file.upload.origin}")
private String fileUploadOrigin;
@Resource
private UploadService uploadService;
/**
* 文件上传,图片、视频等
*
* @param request HttpServletRequest
* @return JsonResult
*/
@ResponseBody
@PostMapping("/upload-file")
public JsonResult uploadFile(HttpServletRequest request) {
try {
Map<String, Object> map = new HashMap<>(2);
List<String> filePathList = uploadService.uploadFile(request);
// List<String> filePathList = FileUploadUtil.uploadFile(request, fileUploadPath);
// 数据库保存的是 /upload/file/c375c6a35b404efb98e89b4874df93e0.jpg
map.put("filePathList", filePathList);
// 显示图片的时候需要加 http://127.0.0.1:4206/
map.put("fileUploadOrigin", fileUploadOrigin);
return JsonResult.success("上传成功", map);
} catch (Exception e) {
e.printStackTrace();
return JsonResult.failed("上传失败");
}
}
/**
* layui 富文本图片上传
*
* @param request HttpServletRequest
* @return JSONObject
*/
// @ResponseBody
// @PostMapping("/layedit/upload-file")
// public JSONObject layeditUploadFile(HttpServletRequest request) {
// JSONObject json = new JSONObject();
// try {
// String fullPath = "";
// List<String> filePathList = FileUploadUtil.uploadFile(request, fileUploadPath);
// if (filePathList != null && !filePathList.isEmpty()) {
// String filePath = filePathList.get(0);
// fullPath = fileUploadOrigin + filePath;
// }
// Map<String, Object> map = new HashMap<>(1);
// map.put("src", fullPath);
// json.put("code", 0);
// json.put("msg", "上传成功");
// json.put("data", map);
// return json;
// } catch (Exception e) {
// e.printStackTrace();
// json.put("code", -1);
// json.put("msg", "上传失败");
// json.put("data", new HashMap<>(1));
// return json;
// }
// }
/**
* wang editor图片上传,支持多张
*
* @param request HttpServletRequest
* @return Map
*/
@ResponseBody
@RequestMapping("/upload/wang-editor")
public Map<String, Object> wangEditor(HttpServletRequest request) {
Map<String, Object> map = new HashMap<>(2);
try {
List<String> filePathList = uploadService.uploadFile(request);
int len = filePathList.size();
for (int i = 0; i < len; i++) {
filePathList.set(i, filePathList.get(i));
}
map.put("errno", 0);
map.put("data", filePathList);
} catch (Exception e) {
e.printStackTrace();
map.put("errno", -1);
}
return map;
}
}
package com.hwstudio.antaile.controller;
import com.hwstudio.antaile.service.authority.MenuService;
import com.hwstudio.antaile.vo.MenuVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import java.util.List;
/**
* IndexController
*
* @author whj
* @date 2018/8/15 1:24
*/
@Controller
public class IndexController {
@Autowired
private MenuService menuService;
@GetMapping("/index")
public String index(Model model) {
List<MenuVo> menuVoList = menuService.queryAllMenuList();
model.addAttribute("menuVoList", menuVoList);
return "index";
}
@GetMapping("/home")
public String home() {
return "home";
}
}
package com.hwstudio.antaile.controller;
import com.hwstudio.antaile.shiro.CustomUsernamePasswordToken;
import com.hwstudio.antaile.utils.JsonResult;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* LoginController
*
* @author whj
* @date 2018/8/15 1:25
*/
@Controller
public class LoginController {
@RequestMapping("/login")
public String loginPage() {
return "login";
}
@GetMapping("/redirect-login")
public String redirectLogin() {
return "redirectLogin";
}
@ResponseBody
@PostMapping("/to-login")
public JsonResult toLogin(String username, String password, String validCode) {
try {
SecurityUtils.getSubject().login(new CustomUsernamePasswordToken(username, password, validCode));
return JsonResult.success();
} catch (AuthenticationException e) {
return JsonResult.failed(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
return JsonResult.failed("登录失败");
}
}
@GetMapping("/logout")
public String logout() {
SecurityUtils.getSubject().logout();
return "login";
}
}
package com.hwstudio.antaile.controller;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.entity.Msg;
import com.hwstudio.antaile.service.FeedbackService;
import com.hwstudio.antaile.service.MsgService;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.FeedbackVo;
import com.hwstudio.antaile.vo.MsgVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/8/14 15:32
* @Version 1.0
*/
@Controller
@RequestMapping(value = "/msg")
public class MsgController {
@Autowired
private MsgService msgService;
@RequestMapping("")
public String index() {
return "msg/msgList";
}
@RequestMapping("list")
@ResponseBody
public PageVo list(MsgVo vo) {
return msgService.list(vo);
}
@RequestMapping("to-add")
public String add() {
return "msg/msgAdd";
}
/**
* 保存
*
* @param params 保存
* @return JsonResult
*/
@ResponseBody
@RequestMapping("save")
public JsonResult saveNews(String params) {
JSONObject json = JSONObject.parseObject(params);
msgService.save(json);
return JsonResult.success("保存成功");
}
}
package com.hwstudio.antaile.controller;
import com.hwstudio.antaile.common.Constants;
import com.hwstudio.antaile.utils.GenerateUtil;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.util.Random;
/**
* SecurityController
*
* @author whj
* @date 2018/7/29 21:34
*/
@Controller
public class SecurityController {
/**
* 图形验证码
* graphics.fillRect(x, y, width, height);
* 描述:以图形的左上角为原点,x相当于距离顶部多少,y相当于距离左边多少
*
* @param request HttpServletRequest
* @param response HttpServletResponse
*/
@RequestMapping("/valid-code")
public void validCode(HttpServletRequest request, HttpServletResponse response) {
try {
int width = 200;
int height = 100;
int drawLineLen = 10;
Random random = new Random();
// 告知浏览器当作图片处理
response.setContentType("image/jpeg");
// 告知浏览器不缓存
response.setHeader("pragma", "no-cache");
response.setHeader("cache-control", "no-cache");
response.setHeader("expires", "0");
// 获取四位随机验证码
String validCode = GenerateUtil.getFourCodeNum();
// 把产生的验证码存入到Session中
request.getSession().setAttribute(Constants.SESSION_VALID_CODE, validCode);
// 构造一个类型为预定义图像类型之一的 BufferedImage
BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
// 获取一个Graphics
Graphics graphics = img.getGraphics();
// 将此图形上下文的当前颜色设置为指定颜色
graphics.setColor(Color.WHITE);
// 填充指定的矩形
graphics.fillRect(0, 0, width, height);
// 填充干扰线
for (int i = 0; i < drawLineLen; i++) {
graphics.setColor(new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256)));
// 在此图形上下文的坐标系中,使用当前颜色在点 (x1, y1) 和 (x2, y2) 之间画一条线
graphics.drawLine(random.nextInt(width + 1), random.nextInt(height + 1), random.nextInt(width + 1), random.nextInt(height + 1));
}
graphics.setColor(Color.BLUE);
// 绘制指定矩形的边框
graphics.drawRect(0, 0, width - 1, height - 1);
// 根据指定名称、样式和磅值大小,创建一个新Font,在组合成Font数组
Font[] fonts = {new Font("隶书", Font.BOLD, 100), new Font("楷体", Font.BOLD, 100), new Font("宋体", Font.ITALIC, 100), new Font("幼圆", Font.ITALIC, 100)};
for (int i = 0; i < validCode.length(); i++) {
graphics.setColor(new Color(random.nextInt(150), random.nextInt(150), random.nextInt(150)));
// 将此图形上下文的字体设置为指定字体
graphics.setFont(fonts[random.nextInt(fonts.length)]);
// 使用此图形上下文的当前字体和颜色绘制由指定 string 给定的文本
graphics.drawString(validCode.charAt(i) + "", 45 * i + 3, 85);
}
// 释放此图形的上下文以及它使用的所有系统资源
graphics.dispose();
// 使用支持给定格式的任意 ImageWriter 将一个图像写入 OutputStream
ImageIO.write(img, "jpeg", response.getOutputStream());
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.hwstudio.antaile.controller.authority;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.entity.BoUser;
import com.hwstudio.antaile.service.authority.BoUserService;
import com.hwstudio.antaile.utils.BusinessException;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.BoUserVo;
import com.hwstudio.antaile.vo.PageVo;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
import java.util.Map;
/**
* 后台用户控制器
*
* @author whj
* @date 2018/8/20 17:40
*/
@Controller
@RequestMapping("/bo-user")
public class BoUserController {
@Autowired
private BoUserService boUserService;
/**
* 跳转到用户页面
*
* @return String
*/
@GetMapping("/bo-user-list")
public String boUserList() {
return "authority/boUser/boUserList";
}
/**
* 查询后台用户分页
*
* @param page 当前页
* @param limit 每页条数
* @param username 用户名
* @return PageVo
*/
@ResponseBody
@RequestMapping("/query-page")
public PageVo queryPage(Integer page, Integer limit, String username) {
BoUserVo vo = new BoUserVo();
vo.setPage(page);
vo.setLimit(limit);
vo.setUsername(username);
return boUserService.queryPage(vo);
}
/**
* 跳转到编辑用户页面
*
* @param model Model
* @param boUserId 用户id
* @return String
*/
@RequestMapping("/edit-bo-user")
public String editBoUser(Model model, Long boUserId) {
Map<String, Object> boUserMap = boUserService.getBoUserById(boUserId);
List<Map<String, Object>> roleList = boUserService.queryAllRole();
model.addAttribute("isAdd", false);
model.addAttribute("tBoUser", boUserMap);
model.addAttribute("roleList", roleList);
return "authority/boUser/addOrEditBoUser";
}
/**
* 跳转到添加用户页面
*
* @param model Model
* @return String
*/
@RequestMapping("/add-bo-user")
public String addBoUser(Model model) {
List<Map<String, Object>> roleList = boUserService.queryAllRole();
model.addAttribute("isAdd", true);
model.addAttribute("roleList", roleList);
return "authority/boUser/addOrEditBoUser";
}
/**
* 删除用户
*
* @param params 用户id
* @return JsonResult
*/
@ResponseBody
@PostMapping("/del-bo-user")
public JsonResult delBoUser(Long boUserId) {
boUserService.delBoUser(boUserId);
return JsonResult.success("删除成功");
}
/**
* 保存用户
*
* @param params 用户数据json字符串
* @return JsonResult
*/
@ResponseBody
@PostMapping("/save-bo-user")
public JsonResult saveBoUser(String params) {
try {
JSONObject json = JSONObject.parseObject(params);
Long boUserId = json.getLong("boUserId");
if (boUserId != null) {
boUserService.updateBoUser(json);
} else {
boUserService.addBoUser(json);
}
return JsonResult.success("保存成功");
} catch (BusinessException e) {
return JsonResult.failed(e.getMessage());
}
}
/**
* 跳转到修改密码页面
*
* @param
* @return String
* @author 陈俊何
* @date 2018/9/4 16:09
*/
@RequestMapping("/to-update-paw-view")
public String toUpdatePswView() {
return "authority/boUser/updatePassword";
}
/**
* 修改密码
*
* @param
* @return
* @author 陈俊何
* @date 2018/9/4 16:38
*/
@RequestMapping("/do-update-psw")
@ResponseBody
public JsonResult doUpdatePsw(String passwordOne, String passwordTwo, String oldPassword) {
BoUser boUser = (BoUser) SecurityUtils.getSubject().getSession().getAttribute("sessionBoUser");
boUserService.updateUserPassword(boUser.getId(), passwordOne, passwordTwo, oldPassword);
return JsonResult.success("密码修改成功");
}
}
package com.hwstudio.antaile.controller.authority;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.service.authority.MenuService;
import com.hwstudio.antaile.utils.BusinessException;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.MenuVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
import java.util.Map;
/**
* 菜单管理控制器
*
* @author whj
* @date 2018/8/30 9:46
*/
@Controller
@RequestMapping("/menu")
public class MenuController {
@Autowired
private MenuService menuService;
/**
* 跳转到菜单列表页面
*
* @return String
*/
@RequestMapping("/to-menu-list")
public String toMenuList() {
return "authority/menuManager/menuList";
}
/**
* 查询所有菜单列表
*
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/query-all-menu-list")
public JsonResult queryAllMenuList() {
List<MenuVo> menuVoList = menuService.queryAllMenuList();
return JsonResult.success("获取菜单列表成功", menuVoList);
}
/**
* 上级菜单下拉数据
*
* @param model Model
* @return String
*/
@RequestMapping("/menus-with-layer")
public String menusWithLayer(Model model) {
List<MenuVo> menuVoList = menuService.menusWithLayer();
model.addAttribute("menuVoList", menuVoList);
return "authority/menuManager/menuInfo";
}
/**
* 根据id获取菜单
*
* @param id 菜单id
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/get-menu-by-id")
public JsonResult getMenuById(Long id) {
Map<String, Object> map = menuService.getMenuById(id);
return JsonResult.success("获取菜单信息成功", map);
}
/**
* 添加菜单数据
*
* @param params 菜单数据
* @return JsonResult
*/
@ResponseBody
@PostMapping("/add")
public JsonResult add(String params) {
try {
JSONObject json = JSONObject.parseObject(params);
menuService.add(json);
return JsonResult.success("添加成功");
} catch (BusinessException e) {
return JsonResult.failed(e.getMessage());
}
}
/**
* 更新菜单数据
*
* @param params 单数据
* @return JsonResult
*/
@ResponseBody
@PostMapping("/update")
public JsonResult update(String params) {
try {
JSONObject json = JSONObject.parseObject(params);
menuService.update(json);
return JsonResult.success("修改成功");
} catch (BusinessException e) {
return JsonResult.failed(e.getMessage());
}
}
/**
* 根据菜单id删除菜单
*
* @param id 菜单id
* @return JsonResult
*/
@ResponseBody
@PostMapping("/remove")
public JsonResult remove(Long id) {
try {
menuService.remove(id);
return JsonResult.success("删除成功");
} catch (BusinessException e) {
return JsonResult.failed(e.getMessage());
}
}
}
package com.hwstudio.antaile.controller.authority;
import com.hwstudio.antaile.service.authority.UserRoleService;
import com.hwstudio.antaile.utils.BusinessException;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.PageVo;
import com.hwstudio.antaile.vo.RoleVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
import java.util.Map;
/**
* 用户角色控制器
*
* @author whj
* @date 2018/8/31 15:05
*/
@Controller
@RequestMapping("/user-role")
public class UserRoleController {
@Autowired
private UserRoleService userRoleService;
/**
* 跳转到角色用户页面
*
* @return String
*/
@RequestMapping("/to-user-role")
public String toUserRole() {
return "authority/userRole/userRole";
}
/**
* 角色用户分页
*
* @param page 当前页
* @param limit 每页条数
* @return PageVo
*/
@ResponseBody
@RequestMapping("/query-page")
public PageVo queryPage(Integer page, Integer limit) {
RoleVo vo = new RoleVo();
vo.setPage(page);
vo.setLimit(limit);
return userRoleService.queryPage(vo);
}
/**
* 跳转到添加或编辑用户角色页面
*
* @return String
*/
@RequestMapping("/to-add-or-edit-user-role")
public String toAddOrEditUserRole() {
return "authority/userRole/addOrEditUserRole";
}
/**
* 获取角色菜单树
*
* @param roleId 角色id
* @return JsonResult
*/
@ResponseBody
@RequestMapping("/get-role-menu-trees")
public JsonResult getRoleMenuTrees(Long roleId) {
List<Map<String, Object>> list = userRoleService.getRoleMenuTrees(roleId);
return JsonResult.success("获取菜单列表成功", list);
}
/**
* 更新角色用户
*
* @param roleId 角色id
* @param roleName 角色名称
* @param roleDesc 角色描述
* @param menuIds 菜单id逗号分隔
* @return JsonResult
*/
@ResponseBody
@PostMapping("/update-user-role")
public JsonResult updateUserRole(Long roleId, String roleName, String roleDesc, String menuIds) {
try {
userRoleService.updateUserRole(roleId, roleName, roleDesc, menuIds);
return JsonResult.success("修改成功");
} catch (BusinessException e) {
return JsonResult.failed(e.getMessage());
}
}
/**
* 添加用户角色
*
* @param roleName 角色名称
* @param roleDesc 角色描述
* @param menuIds 菜单id逗号分隔
* @return JsonResult
*/
@ResponseBody
@PostMapping("/add-user-role")
public JsonResult addUserRole(String roleName, String roleDesc, String menuIds) {
try {
userRoleService.addUserRole(roleName, roleDesc, menuIds);
return JsonResult.success("添加成功");
} catch (BusinessException e) {
return JsonResult.failed(e.getMessage());
}
}
/**
* 根据角色id删除用户角色
*
* @param roleId 角色id
* @return JsonResult
*/
@ResponseBody
@PostMapping("/delete-user-role")
public JsonResult deleteUserRole(Long roleId) {
try {
userRoleService.deleteUserRole(roleId);
return JsonResult.success("删除成功");
} catch (BusinessException e) {
return JsonResult.failed(e.getMessage());
}
}
}
package com.hwstudio.antaile.dao;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.vo.AtlActivityVo;
import com.hwstudio.antaile.vo.AtlAdVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:35
* @Version 1.0
*/
public interface AtlActivityMapper {
List<Map<String,Object>> list(AtlActivityVo vo);
Map<String,Object> queryAdById(@Param("id") Long id);
void add(JSONObject json);
void update(JSONObject json);
void updateStatus(@Param("id") Long id, @Param("status") Integer status);
void delete(@Param("id") Long id);
}
package com.hwstudio.antaile.dao;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.vo.AtlActivityUserReportVo;
import com.hwstudio.antaile.vo.AtlActivityVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:35
* @Version 1.0
*/
public interface AtlActivityUserReportMapper {
List<Map<String,Object>> list(AtlActivityUserReportVo vo);
void updateStatus(@Param("id") Long id, @Param("status") Integer status);
}
package com.hwstudio.antaile.dao;
import com.hwstudio.antaile.vo.AtlActivityUserReportRecordVo;
import com.hwstudio.antaile.vo.AtlActivityUserReportVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:35
* @Version 1.0
*/
public interface AtlActivityUserReportRecordMapper {
List<Map<String,Object>> list(AtlActivityUserReportRecordVo vo);
}
package com.hwstudio.antaile.dao;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.vo.AtlAdVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:35
* @Version 1.0
*/
public interface AtlAdMapper {
List<Map<String,Object>> list(AtlAdVo vo);
Map<String,Object> queryAdById(@Param("id") Long id);
void addAd(JSONObject json);
void updateAd(JSONObject json);
void deleteAd(@Param("adId") Long adId);
void updateStatus(@Param("adId") Long adId, @Param("status") Integer status);
}
package com.hwstudio.antaile.dao;
import com.hwstudio.antaile.vo.AtlAutobiographyArticleVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 19:08
* @Version 1.0
*/
public interface AtlAutobiographyArticleMapper {
Integer countById(@Param("autobiographyId") Long autobiographyId);
List<Map<String,Object>> list(AtlAutobiographyArticleVo vo);
List<Map<String,Object>> findArticleListById(@Param("autobiographyId") Long autobiographyId);
void insert(AtlAutobiographyArticleVo vo);
}
package com.hwstudio.antaile.dao;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.vo.AtlAutobiographyArticleVo;
import com.hwstudio.antaile.vo.AtlAutobiographyVo;
import org.apache.ibatis.annotations.Param;
import javax.annotation.security.PermitAll;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 18:05
* @Version 1.0
*/
public interface AtlAutobiographyMapper {
List<Map<String,Object>> list(AtlAutobiographyVo vo);
Map<String,Object> getById(@Param("id") Long id);
List<Long> getUserId();
void updateIsCommend(@Param("id") Long id);
void updateIsChannelCommend(@Param("id") Long id);
void updateIsFindCommend(@Param("id") Long id);
List<Map<String,Object>> findAutobiographyList(AtlAutobiographyVo vo);
void updateAutobiography(JSONObject json);
/*修改收藏量*/
void updateLikeCount(@Param("id")Long id, @Param("likeCount")Long likeCount);
}
package com.hwstudio.antaile.dao;
import com.alibaba.fastjson.JSONObject;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 19:45
* @Version 1.0
*/
public interface AtlAutobiographyTemplateMapper {
List<Map<String, Object>> list();
Map<String,Object> queryTemplateById(@Param("templateId") Long templateId);
void addTemplate(JSONObject json);
void updateTemplate(JSONObject json);
void delTemplate(@Param("templateId") Long templateId);
}
package com.hwstudio.antaile.dao;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.vo.AtlBookFamilyNamesVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:35
* @Version 1.0
*/
public interface AtlBookFamilyNamesMapper {
List<Map<String,Object>> list(AtlBookFamilyNamesVo vo);
Map<String,Object> queryAdById(@Param("id") Long id);
void add(JSONObject json);
void update(JSONObject json);
void delete(Long id);
}
package com.hwstudio.antaile.dao;
import com.hwstudio.antaile.entity.AtlUser;
import com.hwstudio.antaile.vo.AtlContentStatisticalVo;
import com.hwstudio.antaile.vo.AtlUserStatisticalVo;
import com.hwstudio.antaile.vo.AtlUserVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/16 18:43
* @Version 1.0
*/
public interface AtlContentStatisticalMapper {
List<Map<String,Object>> list(AtlContentStatisticalVo atlContentStatisticalVo);
List<AtlContentStatisticalVo> exportList(AtlContentStatisticalVo atlContentStatisticalVo);
}
package com.hwstudio.antaile.dao;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.vo.AtlNewsVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/15 00:37
* @Version 1.0
*/
public interface AtlNewsMapper {
List<Map<String, Object>> list(AtlNewsVo atlNewsVo);
Map<String,Object> queryNewsById(@Param("newsId") Long newsId);
void addNews(JSONObject json);
void updateNews(JSONObject json);
void delNews(@Param("newsId") Long newsId);
void updateToppingNews(@Param("newsId") Long newsId, @Param("type") Integer type);
}
package com.hwstudio.antaile.dao;
import com.hwstudio.antaile.vo.AtlTimeArticleVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface AtlTimeArticleMapper {
List<Map<String, Object>> findArticleList(@Param("newsId") Long userId);
List<Map<String,Object>> findArticleLists(Long timeId);
List<Map<String, Object>> findArticleContent(Long timeId);
List<Map<String, Object>> getFileByArticleTimeId(Long timeId);
List<Map<String, Object>> getImageByArticleTimeId(Long timeId);
void insert(AtlTimeArticleVo vo);
}
\ No newline at end of file
package com.hwstudio.antaile.dao;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.vo.AtlTimeVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/18 00:42
* @Version 1.0
*/
public interface AtlTimeMapper {
List<Map<String,Object>> list(AtlTimeVo atlTimeVo);
List<Map<String,Object>> findTimeList(AtlTimeVo atlTimeVo);
void updateIsCommend(@Param("timeId") Long timeId);
List<Long> getUserId();
void updateIsChannelCommend(@Param("timeId") Long timeId);
void updateIsFindCommend(@Param("timeId") Long timeId);
Map<String,Object> getById(Long id);
/*更新时光记*/
void updateTime(JSONObject json);
/*通过域名查询时光记*/
AtlTimeVo getTimeBySecondUrl(String secondUrl);
/*修改收藏量*/
void updateLikeCount(@Param("id")Long id, @Param("likeCount")Long likeCount);
}
package com.hwstudio.antaile.dao;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.vo.AtlTimeTemplateVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 20:56
* @Version 1.0
*/
public interface AtlTimeTemplateMapper {
List<Map<String,Object>> list(AtlTimeTemplateVo vo);
Map<String,Object> queryTemplateById(@Param("templateId") Long templateId);
void addTemplate(JSONObject json);
void updateTemplate(JSONObject json);
void delTemplate(@Param("templateId") Long templateId);
}
package com.hwstudio.antaile.dao;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.vo.AtlTimeTemplateTypeVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 20:20
* @Version 1.0
*/
public interface AtlTimeTemplateTypeMapper {
List<Map<String, Object>> list(AtlTimeTemplateTypeVo vo);
void addTemplateType(JSONObject json);
void delTemplateType(@Param("typeId") Long typeId);
List<Map<String,Object>> getList();
}
package com.hwstudio.antaile.dao;
import com.hwstudio.antaile.entity.AtlUser;
import com.hwstudio.antaile.vo.AtlUserStatisticalVo;
import com.hwstudio.antaile.vo.AtlUserVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/16 18:43
* @Version 1.0
*/
public interface AtlUserMapper {
List<Map<String,Object>> list(AtlUserVo atlUserVo);
void enableOrDisableUser(@Param("id") Long id, @Param("state") Integer state);
void insert(AtlUserVo atlUserVo);
AtlUser getUserByMobile(@Param("mobilePhone") String mobilePhone);
void updatePwd(@Param("id") Long id, @Param("pwd") String pwd);
List<Long> getAllUserId();
List<Map<String,Object>> findStatisticalList(AtlUserStatisticalVo atlUserStatisticalVo);
Map<String, Object> getById(Long id);
String getUserClientId(Long userId);
}
package com.hwstudio.antaile.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hwstudio.antaile.entity.Dict;
import com.hwstudio.antaile.vo.DictVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* <p>
* 字典表 Mapper 接口
* </p>
*
* @author renxc
* @since 2018-09-13
*/
public interface DictMapper extends BaseMapper<Dict> {
List<Map<String,Object>> queryListByPropertyNoLimit(String property);
/**
* 通过变量名和变量值获取变量标签
* @author 朱春杰
* @date 2018-10-19 12:01 PM
* @param
* @return
*/
String getTextByPropertyAndValue(@Param("property") String property, @Param("value") String value);
/**
* 通过变量名获取变量值(只针对单变量值的)
* @author 朱春杰
* @date 2018-10-19 12:00 PM
* @param property
* @return
*/
String getValueByProperty(@Param("property") String property);
Map<String, Object> getById(Long id);
List<Map<String, Object>> queryAllList(DictVo vo);
void update(Dict dict);
void add(Dict dict);
void updateStatus(Long id);//假删
}
package com.hwstudio.antaile.dao;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.vo.FeedbackVo;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/8/14 15:34
* @Version 1.0
*/
public interface FeedbackMapper {
List<Map<String, Object>> list(FeedbackVo feedbackVo);
void delete(Long id);
void deal(JSONObject json);
}
package com.hwstudio.antaile.dao;
import com.hwstudio.antaile.entity.MsgMain;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/8/19 20:43
* @Version 1.0
*/
public interface MsgMainMapper {
void insert(MsgMain msgMain);
}
package com.hwstudio.antaile.dao;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.entity.Msg;
import com.hwstudio.antaile.vo.MsgVo;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/8/14 20:44
* @Version 1.0
*/
public interface MsgMapper {
void insert(Msg msg);
List<Map<String, Object>> list(MsgVo vo);
void save(JSONObject json);
}
package com.hwstudio.antaile.dao.authority;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.entity.BoUser;
import com.hwstudio.antaile.vo.BoUserVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* BoUserMapper
*
* @author whj
* @date 2018/9/12 18:05
*/
public interface BoUserMapper {
/**
* 查询后台用户分页
*
* @param vo BoUserVo
* @return List
*/
List<Map<String, Object>> queryPage(BoUserVo vo);
/**
* 根据id查询后台用户
*
* @param boUserId boUserId
* @return Map
*/
Map<String, Object> getBoUserById(Long boUserId);
/**
* 查询所有角色
*
* @return List
*/
List<Map<String, Object>> queryAllRole();
/**
* 根据用户名查询用户表
*
* @param loginName 用户名
* @return BoUser
*/
BoUser getBoUserByLoginName(@Param("loginName") String loginName);
/**
* 删除角色用户在用户id
*
* @param boUserId 用户id
*/
void delRoleUserByBoUserId(Long boUserId);
/**
* 插入角色用户
*
* @param boUserId 用户id
* @param roleId 角色id
*/
void insertRoleUser(@Param("boUserId") Long boUserId, @Param("roleId") Long roleId);
/**
* 更新用户表
*
* @param json JSONObject
*/
void updateBoUser(JSONObject json);
/**
* 添加用户
*
* @param json JSONObject
* @return 用户id
*/
Long addBoUser(JSONObject json);
/**
* 根据id获取用户密码
*
* @param id 用户id
* @return String
*/
String getBoUserPwdById(Long id);
/**
* 删除用户
*
* @param userId 用户id
* @return String
*/
void delBoUser(Long userId);
/**
* 根据用户id查询权限列表
*
* @param boUserId 用户id
* @return List
*/
List<String> findAuthoritiesList(@Param("boUserId") Long boUserId);
/**
* 获取用户密码
*
* @param userId 用户id
* @return Map
*/
Map<String, Object> getPasswordById(Long userId);
/**
* 更新用户密码
*
* @param passwordOne 新密码
* @param userId 用户id
*/
void updatePassword(@Param("passwordOne") String passwordOne, @Param("userId") Long userId);
}
package com.hwstudio.antaile.dao.authority;
import com.alibaba.fastjson.JSONObject;
import java.util.List;
import java.util.Map;
/**
* 菜单mapper
*
* @author whj
* @date 2018/9/13 14:18
*/
public interface MenuMapper {
/**
* 根据父级id查询菜单
*
* @param parentId 父级id
* @return List
*/
List<Map<String, Object>> queryMenuByParentId(Long parentId);
/**
* 根据id获取菜单
*
* @param id 菜单id
* @return Map
*/
Map<String, Object> getMenuById(Long id);
/**
* 添加菜单
*
* @param json JSONObject
*/
void add(JSONObject json);
/**
* 更新菜单
*
* @param json JSONObject
*/
void update(JSONObject json);
/**
* 根据菜单id查询角色绑定菜单返回总条数
*
* @param id 菜单id
* @return int
*/
int queryRoleBindMenu(Long id);
/**
* 根据菜单id删除菜单
*
* @param id 菜单id
*/
void remove(Long id);
/**
* 查询根菜单
*
* @return List
*/
List<Map<String, Object>> queryRootMenu();
/**
* 查询用户关联菜单id
*
* @param roleId roleId
* @return List
*/
List<Long> queryUserRelationMenuId(Long roleId);
}
package com.hwstudio.antaile.dao.authority;
import com.alibaba.fastjson.JSONObject;
import com.hwstudio.antaile.vo.RoleVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 用户角色mapper
*
* @author whj
* @date 2018/9/13 16:26
*/
public interface UserRoleMapper {
/**
* 用户角色分页
*
* @param vo RoleVo
* @return List
*/
List<Map<String, Object>> queryPage(RoleVo vo);
/**
* 更新角色
*
* @param roleId 角色id
* @param roleName 角色名称
* @param roleDesc 角色描述
*/
void updateRole(@Param("roleId") Long roleId, @Param("roleName") String roleName, @Param("roleDesc") String roleDesc);
/**
* 删除角色资源
*
* @param roleId 角色id
*/
void delRoleResource(Long roleId);
/**
* 插入角色资源
*
* @param menuId 菜单id
* @param roleId 角色id
*/
void insertRoleResource(@Param("menuId") Long menuId, @Param("roleId") Long roleId);
/**
* 插入角色
*
* @param json JSONObject
* @return Long
*/
Long insertRole(JSONObject json);
/**
* 根据角色id获取角色用户数量
*
* @param roleId 角色id
* @return int
*/
int getRoleUserCountByRoleId(Long roleId);
/**
* 根据角色id删除角色资源
*
* @param roleId 角色id
*/
void delRoleResourceByRoleId(Long roleId);
/**
* 根据id删除角色
*
* @param roleId 角色id
*/
void delRoleById(Long roleId);
/**
* 根据角色id获取角色名
*
* @param ids 角色id
* @return List
* @author 陈俊何
* @date 2018/12/17 14:29
*/
List<String> getRoleNameByRoleId(@Param("ids") String ids);
/**
* 根据用户id获取角色id列表
*
* @param userId
* @return List
* @author 陈俊何
* @date 2018/12/17 14:32
*/
String getRoleIdByUserId(@Param("userId") Long userId);
}
package com.hwstudio.antaile.entity;
import lombok.Data;
import java.util.Date;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 14:41
* @Version 1.0
*/
@Data
public class AtlUser {
private Long id;
private String clientId;
private String realName;
private String nickName;
private String mobilePhone;
private String loginPassword;
private String payPassword;
private String openId;
private String avaterImageUrl;
private Long cloudSpaceUsage;
private String remark;
private Date createTime;
private Integer state;
private Integer sex;
private Date birthday;
private String signature;
private Integer delFlag;
}
package com.hwstudio.antaile.entity;
/**
* BoUser
*
* @author whj
* @date 2018/8/29 11:28
*/
public class BoUser {
private Long id;
private String loginName;
private String password;
private String nickyName;
private String cellPhoneNum;
private String email;
private String headUrl;
private Integer isLocked;
private Integer state;
private String remark;
private String realName;
private String regTime;
private Long operPid;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getNickyName() {
return nickyName;
}
public void setNickyName(String nickyName) {
this.nickyName = nickyName;
}
public String getCellPhoneNum() {
return cellPhoneNum;
}
public void setCellPhoneNum(String cellPhoneNum) {
this.cellPhoneNum = cellPhoneNum;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getHeadUrl() {
return headUrl;
}
public void setHeadUrl(String headUrl) {
this.headUrl = headUrl;
}
public Integer getIsLocked() {
return isLocked;
}
public void setIsLocked(Integer isLocked) {
this.isLocked = isLocked;
}
public Integer getState() {
return state;
}
public void setState(Integer state) {
this.state = state;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public String getRegTime() {
return regTime;
}
public void setRegTime(String regTime) {
this.regTime = regTime;
}
public Long getOperPid() {
return operPid;
}
public void setOperPid(Long operPid) {
this.operPid = operPid;
}
}
package com.hwstudio.antaile.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
/**
* <p>
* 字典表
* </p>
*
* @author renxc
* @since 2018-09-13
*/
public class Dict extends Model<Dict> {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 类别
*/
private String property;
/**
* 描述
*/
private String description;
/**
* 显示
*/
private String text;
/**
* 值
*/
private String value;
/**
* 状态(0:删除:1:正常)
*/
private Integer state;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getProperty() {
return property;
}
public void setProperty(String property) {
this.property = property;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public Integer getState() {
return state;
}
public void setState(Integer state) {
this.state = state;
}
@Override
protected Serializable pkVal() {
return this.id;
}
@Override
public String toString() {
return "Dict{" +
"id=" + id +
", property=" + property +
", description=" + description +
", text=" + text +
", value=" + value +
", state=" + state +
"}";
}
}
package com.hwstudio.antaile.entity;
import lombok.Data;
import java.util.Date;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/8/14 20:47
* @Version 1.0
*/
@Data
public class Msg {
private Long id;
private Long userId;
private Integer type;
private String content;
private Date createTime;
private Integer delFlag;
private Long mainId;
}
package com.hwstudio.antaile.entity;
import lombok.Data;
import java.util.Date;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/8/19 20:49
* @Version 1.0
*/
@Data
public class MsgMain {
private Long id;
private String title;
private String content;
private String linkUrl;
private String type;
private Date createTime;
private Long createUserId;
private Date updateTime;
private Long updateUserId;
private Integer delFlag;
}
package com.hwstudio.antaile.generator;
import java.util.ResourceBundle;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
/**
* <p>
* 代码生成器演示
* </p>
*/
public class Generator {
/**
* <p>
* 测试 run 执行
* </p>
* <p>
* 更多使用查看 http://mp.baomidou.com
* </p>
*/
public static void main(String[] args) {
// 用来获取Mybatis-Plus.properties文件的配置信息
ResourceBundle rb = ResourceBundle.getBundle("generator");
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(rb.getString("OutputDir"));
gc.setFileOverride(true);
gc.setActiveRecord(true);// 开启 activeRecord 模式
gc.setEnableCache(false);// XML 二级缓存
gc.setBaseResultMap(true);// XML ResultMap
gc.setBaseColumnList(false);// XML columList
gc.setAuthor(rb.getString("author"));
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setTypeConvert(new MySqlTypeConvert());
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername(rb.getString("userName"));
dsc.setPassword(rb.getString("passWord"));
dsc.setUrl(rb.getString("url"));
mpg.setDataSource(dsc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
// strategy.setTablePrefix(new String[] { "bmd_", "mp_" });//
// 此处可以修改为您的表前缀
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
strategy.setInclude(new String[] { rb.getString("tableName") }); // 需要生成的表
// 字段名生成策略
// strategy.setFieldNaming(NamingStrategy.underline_to_camel);
// strategy.setSuperServiceImplClass("com.baomidou.springwind.service.support.BaseServiceImpl");
mpg.setStrategy(strategy);
// 包配置
PackageConfig pc = new PackageConfig();
// pc.setModuleName("test");
pc.setParent(rb.getString("parent"));// 自定义包路径
pc.setController("controller." + rb.getString("className"));// 这里是控制器包名,默认
// web
pc.setEntity("model." + rb.getString("className"));
pc.setMapper("dao." + rb.getString("className"));
pc.setXml("mapping." + rb.getString("className"));
pc.setService("service." + rb.getString("className"));
pc.setServiceImpl("service." + rb.getString("className") + ".impl");
mpg.setPackageInfo(pc);
// 执行生成
mpg.execute();
}
}
package com.hwstudio.antaile.service;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.hwstudio.antaile.dao.AtlActivityMapper;
import com.hwstudio.antaile.dao.AtlAdMapper;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlActivityVo;
import com.hwstudio.antaile.vo.AtlAdVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:33
* @Version 1.0
*/
@Service
public class AtlActivityService {
@Resource
private AtlActivityMapper atlActivityMapper;
public PageVo list(AtlActivityVo vo) {
PageHelper.startPage(vo.getPage(), vo.getLimit());
List<Map<String, Object>> adList = atlActivityMapper.list(vo);
return PageVo.setPageVo(adList);
}
public Map<String,Object> queryAdById(Long adId) {
return atlActivityMapper.queryAdById(adId);
}
public void add(JSONObject json) {
atlActivityMapper.add(json);
}
public void update(JSONObject json) {
atlActivityMapper.update(json);
}
public JsonResult enableOrDisable(Long id, Integer status) {
String str = "";
atlActivityMapper.updateStatus(id, status);
if(status == 0){
str = "启用活动成功";
}else{
str = "禁用活动成功";
}
return JsonResult.success(str);
}
public void delete(Long id) {
atlActivityMapper.delete(id);
}
}
package com.hwstudio.antaile.service;
import com.github.pagehelper.PageHelper;
import com.hwstudio.antaile.dao.AtlActivityUserReportMapper;
import com.hwstudio.antaile.dao.AtlActivityUserReportRecordMapper;
import com.hwstudio.antaile.dao.AtlAutobiographyMapper;
import com.hwstudio.antaile.dao.AtlTimeMapper;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlActivityUserReportRecordVo;
import com.hwstudio.antaile.vo.AtlActivityUserReportVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:33
* @Version 1.0
*/
@Service
public class AtlActivityUserReportRecordService {
@Resource
private AtlActivityUserReportRecordMapper atlActivityUserReportRecordMapper;
public PageVo list(AtlActivityUserReportRecordVo vo) {
List<Map<String, Object>> adList = atlActivityUserReportRecordMapper.list(vo);
PageHelper.startPage(1, adList.size());
return PageVo.setPageVo(adList);
}
}
package com.hwstudio.antaile.service;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.hwstudio.antaile.dao.AtlActivityMapper;
import com.hwstudio.antaile.dao.AtlActivityUserReportMapper;
import com.hwstudio.antaile.dao.AtlAutobiographyMapper;
import com.hwstudio.antaile.dao.AtlTimeMapper;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlActivityUserReportVo;
import com.hwstudio.antaile.vo.AtlActivityVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:33
* @Version 1.0
*/
@Service
public class AtlActivityUserReportService {
@Resource
private AtlActivityUserReportMapper atlActivityUserReportMapper;
@Resource
private AtlTimeMapper atlTimeMapper;
@Resource
private AtlAutobiographyMapper atlAutobiographyMapper;
public PageVo list(AtlActivityUserReportVo vo) {
PageHelper.startPage(vo.getPage(), vo.getLimit());
List<Map<String, Object>> adList = atlActivityUserReportMapper.list(vo);
for (Map<String, Object> map : adList) {
Integer type = (Integer) map.get("type");
Long id = (Long) map.get("workId");
if(1 == type){
Map<String,Object> time = atlTimeMapper.getById(id);
if(null != time){
String name = time.get("name").toString();
map.put("workName",name);
Object likeCountObj = time.get("likeCount");
if(null != likeCountObj){
map.put("likeCount",(Integer)likeCountObj);
}else {
map.put("likeCount",0);
}
}else {
map.put("workName","");
map.put("likeCount",0);
}
}else {
Map<String,Object> autobiography = atlAutobiographyMapper.getById(id);
if(null != autobiography){
String name = autobiography.get("name").toString();
map.put("workName",name);
Object likeCountObj = autobiography.get("likeCount");
if(null != likeCountObj){
map.put("likeCount",(Integer)likeCountObj);
}else {
map.put("likeCount",0);
}
}else {
map.put("workName","");
map.put("likeCount",0);
}
}
}
return PageVo.setPageVo(adList);
}
public JsonResult audit(Long id, Integer status) {
String str = "";
atlActivityUserReportMapper.updateStatus(id, status);
if (status == 1) {
str = "通过成功";
} else {
str = "驳回成功";
}
return JsonResult.success(str);
}
public JsonResult edit(Long type, Long id, Long likeCount) {
if(0 == type){
atlTimeMapper.updateLikeCount(id, likeCount);
} else {
atlAutobiographyMapper.updateLikeCount(id, likeCount);
}
return JsonResult.success("修改成功");
}
}
package com.hwstudio.antaile.service;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.hwstudio.antaile.dao.AtlAdMapper;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlAdVo;
import com.hwstudio.antaile.vo.PageVo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 15:33
* @Version 1.0
*/
@Service
public class AtlAdService {
@Resource
private AtlAdMapper atlAdMapper;
public PageVo list(AtlAdVo vo) {
PageHelper.startPage(vo.getPage(), vo.getLimit());
List<Map<String, Object>> adList = atlAdMapper.list(vo);
return PageVo.setPageVo(adList);
}
public Map<String,Object> queryAdById(Long adId) {
return atlAdMapper.queryAdById(adId);
}
public void addAd(JSONObject json) {
atlAdMapper.addAd(json);
}
public void updateAd(JSONObject json) {
atlAdMapper.updateAd(json);
}
public void delAd(Long adId) {
atlAdMapper.deleteAd(adId);
}
public JsonResult enableOrDisableAd(Long adId, Integer status) {
String str = "";
atlAdMapper.updateStatus(adId, status);
if(status == 0){
str = "启用广告成功";
}else{
str = "禁用广告成功";
}
return JsonResult.success(str);
}
}
package com.hwstudio.antaile.service;
import com.alibaba.fastjson.JSONArray;
import com.github.pagehelper.PageHelper;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.hwstudio.antaile.dao.AtlAutobiographyArticleMapper;
import com.hwstudio.antaile.dao.AtlAutobiographyMapper;
import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.vo.AtlAutobiographyArticleVo;
import com.hwstudio.antaile.vo.AtlAutobiographyVo;
import com.hwstudio.antaile.vo.PageVo;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.poi.ss.usermodel.*;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @Name:
* @Author: Lijc
* @Date: 2019/7/17 19:13
* @Version 1.0
*/
@Service
public class AtlAutobiographyArticleService {
@Resource
private AtlAutobiographyArticleMapper atlAutobiographyArticleMapper;
@Resource
private AtlAutobiographyMapper atlAutobiographyMapper;
public PageVo atlAutobiographyArticleList(AtlAutobiographyArticleVo vo) {
PageHelper.startPage(vo.getPage(), vo.getLimit());
List<Map<String, Object>> articleList = atlAutobiographyArticleMapper.list(vo);
return PageVo.setPageVo(articleList);
}
@Transactional(readOnly = false, rollbackFor = Exception.class)
public boolean batchImport(HttpServletRequest request, Long autobiographyId) throws Exception {
boolean notNull = false;
String fileName = "";
InputStream is = null;
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
// 处理文件名中文
upload.setHeaderEncoding("UTF-8");
List<FileItem> fileItemList = upload.parseRequest(request);
for (FileItem item : fileItemList) {
if (item.isFormField()) {
// 普通类型
continue;
}
fileName = item.getName();
is = item.getInputStream();
}
//判断文件格式
if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
throw new Exception("上传文件格式不正确");
}
Workbook wb = WorkbookFactory.create(is);
Sheet sheet = wb.getSheetAt(0);
if (sheet != null) {
notNull = true;
}
Map<String, Object> map = atlAutobiographyMapper.getById(autobiographyId);
Long userId = (Long) map.get("userId");
List<AtlAutobiographyArticleVo> list = Lists.newArrayList();
for (int r = 1; r <= sheet.getLastRowNum(); r++) {//r = 1表示从第2行开始循环 如果你的第2行开始是数据
Row row = sheet.getRow(r);//通过sheet表单对象得到 行对象
if (row == null) {
continue;
}
/*
获取到excel中的数据
*/
String title = null;
String content = null;
AtlAutobiographyArticleVo vo = new AtlAutobiographyArticleVo();
if (row.getCell(0) != null) {
row.getCell(0).setCellType(Cell.CELL_TYPE_STRING);//得到每一行的 第一个单元格的值
title = row.getCell(0).getStringCellValue();//得到每一行第一个单元格的值
vo.setTitle(title);
}
if (row.getCell(1) != null) {
row.getCell(1).setCellType(Cell.CELL_TYPE_STRING);//得到每一行的 第二个单元格的值
content = row.getCell(1).getStringCellValue();
Map<String, Object> contentMap = Maps.newHashMap();
contentMap.put("type", 0);
contentMap.put("value", content);
JSONArray jArray = new JSONArray();
jArray.add(contentMap);
vo.setContent(jArray.toString());
}
if (row.getCell(2) != null) {
row.getCell(2).setCellType(Cell.CELL_TYPE_NUMERIC);//得到每一行的 第3个单元格的值
Date occurTime = row.getCell(2).getDateCellValue();
vo.setOccurTime(occurTime);
}
vo.setAutobiographyId(autobiographyId);
vo.setUserId(userId);
list.add(vo);
}
for (int i = 0; i<list.size(); i++ ) {
try {
atlAutobiographyArticleMapper.insert(list.get(i));
}catch (Exception e){
notNull = false;
new Exception("第"+i+"行数据出现格式不对导致导入失败");
}
}
return notNull;
}
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment