Browse Source

update:重构 enum相关代码

yonge 6 years ago
parent
commit
cab017fbd6
20 changed files with 164 additions and 182 deletions
  1. 3 3
      cms/src/main/java/com/ym/mec/cms/CmsServerApplication.java
  2. 1 1
      cms/src/main/java/com/ym/mec/cms/controller/NewsController.java
  3. 4 3
      cms/src/main/java/com/ym/mec/cms/controller/queryinfo/NewsInformationQueryInfo.java
  4. 20 0
      cms/src/main/java/com/ym/mec/cms/dal/entity/NewsStatusEnum.java
  5. 6 6
      cms/src/main/java/com/ym/mec/cms/dal/entity/SysNewsInformation.java
  6. 21 0
      cms/src/main/resources/config/mybatis/Global.mapper.xml
  7. 5 5
      cms/src/main/resources/config/mybatis/SysNewsInformationMapper.xml
  8. 4 4
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/enums/SysUserType.java
  9. 1 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/provider/service/DefaultUserDetailsService.java
  10. 3 3
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/enums/UserGenderEnum.java
  11. 8 11
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/enums/UserStatus.java
  12. 24 0
      mec-common/common-core/src/main/java/com/ym/mec/common/config/EnumConverterConfig.java
  13. 1 1
      mec-common/common-core/src/main/java/com/ym/mec/common/dal/BaseDAO.java
  14. 56 0
      mec-common/common-core/src/main/java/com/ym/mec/common/dal/CustomEnumTypeHandler.java
  15. 0 60
      mec-common/common-core/src/main/java/com/ym/mec/common/dal/IntEnumTypeHandler.java
  16. 0 62
      mec-common/common-core/src/main/java/com/ym/mec/common/dal/StringEnumTypeHandler.java
  17. 4 5
      mec-common/common-core/src/main/java/com/ym/mec/common/enums/AccessSource.java
  18. 2 2
      mec-common/common-core/src/main/java/com/ym/mec/common/enums/BaseEnum.java
  19. 0 14
      mec-common/common-core/src/main/java/com/ym/mec/common/enums/BaseStringEnum.java
  20. 1 1
      mec-common/common-core/src/main/java/com/ym/mec/common/service/impl/BaseServiceImpl.java

+ 3 - 3
cms/src/main/java/com/ym/mec/cms/CmsServerApplication.java

@@ -17,7 +17,7 @@ import com.spring4all.swagger.EnableSwagger2Doc;
 @EnableDiscoveryClient
 @EnableFeignClients
 @MapperScan("com.ym.mec.cms.dal.dao")
-@ComponentScan(basePackages="com.ym.mec.cms")
+@ComponentScan(basePackages = { "com.ym.mec.cms", "com.ym.mec.common.config" })
 @Configuration
 @EnableSwagger2Doc
 public class CmsServerApplication {
@@ -25,10 +25,10 @@ public class CmsServerApplication {
 	public static void main(String[] args) {
 		SpringApplication.run(CmsServerApplication.class, args);
 	}
-	
+
 	@Bean
 	@LoadBalanced
-	public RestTemplate restTemplate(){
+	public RestTemplate restTemplate() {
 		return new RestTemplate();
 	}
 }

+ 1 - 1
cms/src/main/java/com/ym/mec/cms/controller/NewsController.java

@@ -27,7 +27,7 @@ public class NewsController extends BaseController {
 	private SysNewsInformationService sysNewsInformationService;
 
 	@ApiOperation("资讯列表分页查询")
-	@GetMapping("/list/{type}")
+	@GetMapping("/list")
 	public Object getList(NewsInformationQueryInfo queryInfo) {
 		return succeed(sysNewsInformationService.queryPage(queryInfo));
 	}

+ 4 - 3
cms/src/main/java/com/ym/mec/cms/controller/queryinfo/NewsInformationQueryInfo.java

@@ -2,6 +2,7 @@ package com.ym.mec.cms.controller.queryinfo;
 
 import io.swagger.annotations.ApiModelProperty;
 
+import com.ym.mec.cms.dal.entity.NewsStatusEnum;
 import com.ym.mec.common.page.QueryInfo;
 
 public class NewsInformationQueryInfo extends QueryInfo {
@@ -10,7 +11,7 @@ public class NewsInformationQueryInfo extends QueryInfo {
 	private Integer type;
 
 	@ApiModelProperty(value = "资讯状态", required = false)
-	private String status;
+	private NewsStatusEnum status;
 
 	@ApiModelProperty(value = "标题", required = false)
 	private String title;
@@ -23,11 +24,11 @@ public class NewsInformationQueryInfo extends QueryInfo {
 		this.type = type;
 	}
 
-	public String getStatus() {
+	public NewsStatusEnum getStatus() {
 		return status;
 	}
 
-	public void setStatus(String status) {
+	public void setStatus(NewsStatusEnum status) {
 		this.status = status;
 	}
 

+ 20 - 0
cms/src/main/java/com/ym/mec/cms/dal/entity/NewsStatusEnum.java

@@ -0,0 +1,20 @@
+package com.ym.mec.cms.dal.entity;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+public enum NewsStatusEnum implements BaseEnum<Integer, NewsStatusEnum> {
+
+	SHOW(1), HIDDEN(0);
+
+	private Integer code;
+
+	NewsStatusEnum(int code) {
+		this.code = code;
+	}
+
+	@Override
+	public Integer getCode() {
+		return code;
+	}
+
+}

+ 6 - 6
cms/src/main/java/com/ym/mec/cms/dal/entity/SysNewsInformation.java

@@ -8,7 +8,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
  * 对应数据库表(sys_news_information):
  */
 public class SysNewsInformation {
-
+	
 	/**  */
 	private Long id;
 
@@ -30,7 +30,7 @@ public class SysNewsInformation {
 
 	/** 状态(1-可见 0-不可见) */
 	@ApiModelProperty(value = "状态(1-可见 0-不可见)", required = true)
-	private String status;
+	private NewsStatusEnum status;
 
 	/**  */
 	private java.util.Date createTime;
@@ -78,12 +78,12 @@ public class SysNewsInformation {
 		return this.type;
 	}
 
-	public void setStatus(String status) {
-		this.status = status;
+	public NewsStatusEnum getStatus() {
+		return status;
 	}
 
-	public String getStatus() {
-		return this.status;
+	public void setStatus(NewsStatusEnum status) {
+		this.status = status;
 	}
 
 	public void setCreateTime(java.util.Date createTime) {

+ 21 - 0
cms/src/main/resources/config/mybatis/Global.mapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="global">
+
+	<sql id="limit">
+		<if test="offset != null">
+			 limit #{offset},#{rows}
+		</if>
+	</sql>
+
+	<sql id="orderby">
+		<if test="sort != null and sort != ''">
+			 ORDER BY ${sort}
+			 <if test="order != null and order != ''">
+			 	${order}
+			 </if>
+		</if>
+	</sql>	
+ </mapper>

+ 5 - 5
cms/src/main/resources/config/mybatis/SysNewsInformationMapper.xml

@@ -4,7 +4,7 @@
 这个文件是自动生成的。
 不要修改此文件。所有改动将在下次重新自动生成时丢失。
 -->
-<mapper namespace="com.ym.mec.web.dal.dao.SysNewsInformationDao">
+<mapper namespace="com.ym.mec.cms.dal.dao.SysNewsInformationDao">
 	
 	<resultMap type="com.ym.mec.cms.dal.entity.SysNewsInformation" id="SysNewsInformation">
 		<result column="id_" property="id" />
@@ -12,7 +12,7 @@
 		<result column="content_" property="content" />
 		<result column="cover_image_" property="coverImage" />
 		<result column="type_" property="type" />
-		<result column="status_" property="status" />
+		<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 	</resultMap>
@@ -23,7 +23,7 @@
 				and type_ = #{type}
 			</if>
 			<if test="status != null">
-				and status_ = #{status}
+				and status_ = #{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 			</if>
 			<if test="title != null">
 				and title_ like '%' #{title} '%'
@@ -48,7 +48,7 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO sys_news_information (id_,title_,content_,cover_image_,type_,status_,create_time_,update_time_) VALUES(#{id},#{title},#{content},#{coverImage},#{type},#{status},#{createTime},#{updateTime})
+		INSERT INTO sys_news_information (id_,title_,content_,cover_image_,type_,status_,create_time_,update_time_) VALUES(#{id},#{title},#{content},#{coverImage},#{type},#{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{createTime},#{updateTime})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -56,7 +56,7 @@
 		UPDATE sys_news_information
 		<set>
 			<if test="status != null">
-				status_ = #{status},
+				status_ = #{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 			</if>
 			<if test="id != null">
 				id_ = #{id},

+ 4 - 4
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/enums/SysUserType.java

@@ -2,9 +2,9 @@ package com.ym.mec.auth.api.enums;
 
 import org.apache.commons.lang3.StringUtils;
 
-import com.ym.mec.common.dal.base.BaseStringEnum;
+import com.ym.mec.common.enums.BaseEnum;
 
-public enum SysUserType implements BaseStringEnum<SysUserType> {
+public enum SysUserType implements BaseEnum<String, SysUserType> {
 
 	STUDENT("学生"), EDU_TEACHER("教务老师"), ADVISER("指导老师"), SYSTEM("系统內置");
 
@@ -14,7 +14,7 @@ public enum SysUserType implements BaseStringEnum<SysUserType> {
 	}
 
 	@Override
-	public String getName() {
+	public String getCode() {
 		return name();
 	}
 
@@ -27,7 +27,7 @@ public enum SysUserType implements BaseStringEnum<SysUserType> {
 			return null;
 		}
 		for (SysUserType sysUserType : SysUserType.values()) {
-			if (name.equals(sysUserType.getName())) {
+			if (name.equals(sysUserType.getCode())) {
 				return sysUserType;
 			}
 		}

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/provider/service/DefaultUserDetailsService.java

@@ -58,7 +58,7 @@ public class DefaultUserDetailsService implements UserDetailsService {
 
 		String userType = userInfo.getSysUser().getUserType();
 
-		if (StringUtils.endsWithIgnoreCase(userType, SysUserType.SYSTEM.getName())) {
+		if (StringUtils.endsWithIgnoreCase(userType, SysUserType.SYSTEM.getCode())) {
 			authorities = AuthorityUtils.createAuthorityList(userInfo.getPermissions());
 		} else {
 			authorities = new ArrayList<GrantedAuthority>();

+ 3 - 3
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/enums/UserGenderEnum.java

@@ -1,13 +1,13 @@
 package com.ym.mec.auth.dal.enums;
 
-import com.ym.mec.common.dal.base.BaseIntEnum;
+import com.ym.mec.common.enums.BaseEnum;
 
 /** 
  * @author sunzl 
  * 2015年9月7日 下午1:57:10 
  * 会员性别枚举
  */
-public enum UserGenderEnum implements BaseIntEnum<UserGenderEnum> {
+public enum UserGenderEnum implements BaseEnum<Integer, UserGenderEnum> {
 
 	WOMAN(0, "女"), MAN(1, "男");
 
@@ -34,7 +34,7 @@ public enum UserGenderEnum implements BaseIntEnum<UserGenderEnum> {
 	}
 
 	@Override
-	public int getCode() {
+	public Integer getCode() {
 		return code;
 	}
 

+ 8 - 11
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/enums/UserStatus.java

@@ -1,21 +1,18 @@
 package com.ym.mec.auth.dal.enums;
 
-import com.ym.mec.common.dal.base.BaseIntEnum;
+import com.ym.mec.common.enums.BaseEnum;
 
 /** 
  * @author sunzl 
  * 2015年8月25日 下午4:19:00 
  * 会员状态枚举类
  */
-public enum UserStatus implements BaseIntEnum<UserStatus>{
-	
-	NOACTIVATED(0,"未激活"),
-	CANCELLED(-1,"注销"),
-	NORMAL(1,"正常"),
-	LOCKED(2,"锁定");
-	
+public enum UserStatus implements BaseEnum<Integer, UserStatus> {
+
+	NOACTIVATED(0, "未激活"), CANCELLED(-1, "注销"), NORMAL(1, "正常"), LOCKED(2, "锁定");
+
 	private int code;
-	
+
 	private UserStatus(int code, String remark) {
 		this.code = code;
 		this.remark = remark;
@@ -23,7 +20,7 @@ public enum UserStatus implements BaseIntEnum<UserStatus>{
 
 	private String remark;
 
-	public int getCode() {
+	public Integer getCode() {
 		return code;
 	}
 
@@ -38,7 +35,7 @@ public enum UserStatus implements BaseIntEnum<UserStatus>{
 	public void setRemark(String remark) {
 		this.remark = remark;
 	}
-	
+
 	public static UserStatus codeOf(int code) {
 		for (UserStatus userStatus : UserStatus.values()) {
 			if (code == userStatus.getCode()) {

+ 24 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/config/EnumConverterConfig.java

@@ -0,0 +1,24 @@
+package com.ym.mec.common.config;
+
+import org.springframework.core.convert.converter.Converter;
+import org.springframework.stereotype.Component;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+@Component
+public class EnumConverterConfig implements Converter<String, BaseEnum<?, ?>> {
+
+	@Override
+	public BaseEnum<?, ?> convert(String source) {
+		return getEnum(BaseEnum.class, source);
+	}
+
+	private <T extends BaseEnum<?, ?>> T getEnum(Class<T> targerType, String source) {
+		for (T enumObj : targerType.getEnumConstants()) {
+			if (source.equals(String.valueOf(enumObj.getCode()))) {
+				return enumObj;
+			}
+		}
+		return null;
+	}
+}

+ 1 - 1
mec-common/common-core/src/main/java/com/ym/mec/common/dal/BaseDAO.java

@@ -67,5 +67,5 @@ public interface BaseDAO<PK extends Serializable, T>{
 	 * @param params
 	 * @return
 	 */
-	public int findCount(Map<String, Object> params);
+	public int queryCount(Map<String, Object> params);
 }

+ 56 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/dal/CustomEnumTypeHandler.java

@@ -0,0 +1,56 @@
+package com.ym.mec.common.dal;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import org.apache.ibatis.type.BaseTypeHandler;
+import org.apache.ibatis.type.JdbcType;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+/**
+ * 枚举类转换器
+ */
+@SuppressWarnings("rawtypes")
+public class CustomEnumTypeHandler extends BaseTypeHandler<BaseEnum> {
+
+	private Class<BaseEnum> type;
+
+	public CustomEnumTypeHandler(Class<BaseEnum> type) {
+		if (type == null)
+			throw new IllegalArgumentException("Type argument cannot be null");
+		this.type = type;
+	}
+
+	@Override
+	public void setNonNullParameter(PreparedStatement ps, int i, BaseEnum parameter, JdbcType jdbcType) throws SQLException {
+		ps.setObject(i, parameter.getCode());
+	}
+
+	@Override
+	public BaseEnum getNullableResult(ResultSet rs, String columnName) throws SQLException {
+		return convert(rs.getObject(columnName));
+	}
+
+	@Override
+	public BaseEnum getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
+		return convert(rs.getObject(columnIndex));
+	}
+
+	@Override
+	public BaseEnum getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
+		return convert(cs.getObject(columnIndex));
+	}
+
+	public BaseEnum convert(Object name) {
+		for (BaseEnum enumBaseInterface : type.getEnumConstants()) {
+			if (enumBaseInterface.getCode().equals(name)) {
+				return enumBaseInterface;
+			}
+		}
+		return null;
+	}
+
+}

+ 0 - 60
mec-common/common-core/src/main/java/com/ym/mec/common/dal/IntEnumTypeHandler.java

@@ -1,60 +0,0 @@
-package com.ym.mec.common.dal;
-
-import java.sql.CallableStatement;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import org.apache.ibatis.type.BaseTypeHandler;
-import org.apache.ibatis.type.JdbcType;
-
-import com.ym.mec.common.enums.BaseIntEnum;
-
-/**
- * 枚举类转换器
- * @author pengdc
- */
-@SuppressWarnings("rawtypes")
-public class IntEnumTypeHandler extends BaseTypeHandler<BaseIntEnum> {
-
-	private Class<BaseIntEnum> type;
-
-	public IntEnumTypeHandler(Class<BaseIntEnum> type) {
-		if (type == null)
-			throw new IllegalArgumentException("Type argument cannot be null");
-		this.type = type;
-	}
-
-	@Override
-	public void setNonNullParameter(PreparedStatement ps, int i, BaseIntEnum parameter, JdbcType jdbcType) throws SQLException {
-		if (jdbcType == null) {
-			ps.setString(i, String.valueOf(parameter.getCode()));
-		} else {
-			ps.setObject(i, parameter.getCode(), jdbcType.TYPE_CODE); // see r3589
-		}
-	}
-
-	@Override
-	public BaseIntEnum getNullableResult(ResultSet rs, String columnName) throws SQLException {
-		return convert(rs.getInt(columnName));
-	}
-
-	@Override
-	public BaseIntEnum getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
-		return convert(rs.getInt(columnIndex));
-	}
-
-	@Override
-	public BaseIntEnum getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
-		return convert(cs.getInt(columnIndex));
-	}
-
-	public BaseIntEnum convert(int code) {
-		for (BaseIntEnum enumBaseInterface : type.getEnumConstants()) {
-			if (enumBaseInterface.getCode() == code) {
-				return enumBaseInterface;
-			}
-		}
-		return null;
-	}
-}

+ 0 - 62
mec-common/common-core/src/main/java/com/ym/mec/common/dal/StringEnumTypeHandler.java

@@ -1,62 +0,0 @@
-package com.ym.mec.common.dal;
-
-import java.sql.CallableStatement;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.ibatis.type.BaseTypeHandler;
-import org.apache.ibatis.type.JdbcType;
-
-import com.ym.mec.common.enums.BaseStringEnum;
-
-/**
- * 枚举类转换器
- * @author pengdc
- */
-@SuppressWarnings("rawtypes")
-public class StringEnumTypeHandler extends BaseTypeHandler<BaseStringEnum> {
-
-	private Class<BaseStringEnum> type;
-
-	public StringEnumTypeHandler(Class<BaseStringEnum> type) {
-		if (type == null)
-			throw new IllegalArgumentException("Type argument cannot be null");
-		this.type = type;
-	}
-
-	@Override
-	public void setNonNullParameter(PreparedStatement ps, int i, BaseStringEnum parameter, JdbcType jdbcType) throws SQLException {
-		if (jdbcType != null) {
-			ps.setString(i, parameter.getName() + "");
-		} else {
-			ps.setObject(i, parameter.getName());
-		}
-	}
-
-	@Override
-	public BaseStringEnum getNullableResult(ResultSet rs, String columnName) throws SQLException {
-		return convert(rs.getString(columnName));
-	}
-
-	@Override
-	public BaseStringEnum getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
-		return convert(rs.getString(columnIndex));
-	}
-
-	@Override
-	public BaseStringEnum getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
-		return convert(cs.getString(columnIndex));
-	}
-
-	public BaseStringEnum convert(String name) {
-		for (BaseStringEnum enumBaseInterface : type.getEnumConstants()) {
-			if (StringUtils.equals(StringUtils.chomp(name), enumBaseInterface.getName())) {
-				return enumBaseInterface;
-			}
-		}
-		return null;
-	}
-
-}

+ 4 - 5
mec-common/common-core/src/main/java/com/ym/mec/common/enums/AccessSource.java

@@ -1,25 +1,24 @@
 package com.ym.mec.common.enums;
 
-
 /** 
  * @author sunzl 
  * 2015年8月25日 下午4:19:00 
  * 会员状态枚举类
  */
-public enum AccessSource implements BaseIntEnum<AccessSource>{
+public enum AccessSource implements BaseEnum<Integer, AccessSource> {
 
 	PC(1, "PC端"), MOBILE(2, "移动端"), WX(3, "微信");
 
-	private int code;
+	private Integer code;
 
-	private AccessSource(int code, String remark) {
+	private AccessSource(Integer code, String remark) {
 		this.code = code;
 		this.remark = remark;
 	}
 
 	private String remark;
 
-	public int getCode() {
+	public Integer getCode() {
 		return code;
 	}
 

+ 2 - 2
mec-common/common-core/src/main/java/com/ym/mec/common/enums/BaseIntEnum.java → mec-common/common-core/src/main/java/com/ym/mec/common/enums/BaseEnum.java

@@ -3,12 +3,12 @@ package com.ym.mec.common.enums;
 /**
  * 枚举类基础类
  */
-public interface BaseIntEnum<E extends Enum<E>> {
+public interface BaseEnum<T, E extends Enum<E>> {
 
 	/**
 	 * 获取枚举类的code值
 	 * @return
 	 */
-	public int getCode();
+	public T getCode();
 
 }

+ 0 - 14
mec-common/common-core/src/main/java/com/ym/mec/common/enums/BaseStringEnum.java

@@ -1,14 +0,0 @@
-package com.ym.mec.common.enums;
-
-/**
- * 枚举类基础类
- */
-public interface BaseStringEnum<E extends Enum<E>> {
-
-	/**
-	 * 获取枚举类的code值
-	 * @return
-	 */
-	public String getName();
-
-}

+ 1 - 1
mec-common/common-core/src/main/java/com/ym/mec/common/service/impl/BaseServiceImpl.java

@@ -104,6 +104,6 @@ public abstract class BaseServiceImpl<PK extends Serializable, T> implements Bas
 	 * @return
 	 */
 	public int findCount(Map<String, Object> params) {
-		return this.getDAO().findCount(params);
+		return this.getDAO().queryCount(params);
 	}
 }