From ea9f0a00572fbee090305dd66b7e2db26834bbd3 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Tue, 16 Jan 2018 17:00:32 +0800
Subject: [PATCH] 组织配置
---
src/main/java/com/moral/entity/alarm/AlarmMode.java | 2
src/main/resources/mapper/AlarmConfigMapper.xml | 100 +++++++++++
src/main/resources/mapper/mybatis-config.xml | 11 +
src/main/java/com/moral/service/AlarmConfigService.java | 9 +
src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java | 95 ++++++++++
src/main/java/com/moral/controller/AlarmConfigController.java | 32 +++
src/main/java/com/moral/common/json/BooleanValueFilter.java | 13 +
src/main/java/com/moral/entity/alarm/AlarmSensorLevel.java | 2
src/main/java/com/moral/mapper/type/AlarmConfigValueHandle.java | 47 +++++
src/main/java/com/moral/entity/alarm/AlarmStyle.java | 2
src/main/java/com/moral/common/bean/PageBean.java | 2
src/main/java/com/moral/common/util/RedisUtils.java | 191 +++++++++++++++++++++
src/main/java/com/moral/mapper/AlarmConfigMapper.java | 22 ++
src/main/resources/application.yml | 2
14 files changed, 526 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/moral/common/bean/PageBean.java b/src/main/java/com/moral/common/bean/PageBean.java
index b0cb5db..0232fbe 100644
--- a/src/main/java/com/moral/common/bean/PageBean.java
+++ b/src/main/java/com/moral/common/bean/PageBean.java
@@ -43,6 +43,8 @@
this.pages = page.getPages();
this.data= new ArrayList<>(list);
this.size = page.size();
+ }else{
+ this.data = list;
}
}
diff --git a/src/main/java/com/moral/common/json/BooleanValueFilter.java b/src/main/java/com/moral/common/json/BooleanValueFilter.java
new file mode 100644
index 0000000..5029f7c
--- /dev/null
+++ b/src/main/java/com/moral/common/json/BooleanValueFilter.java
@@ -0,0 +1,13 @@
+package com.moral.common.json;
+
+import com.alibaba.fastjson.serializer.ValueFilter;
+
+public class BooleanValueFilter implements ValueFilter{
+ @Override
+ public Object process(Object object, String propertyName, Object propertyValue) {
+ if(propertyValue!=null&&propertyValue instanceof Boolean){
+ return (Boolean)propertyValue?1:0;
+ }
+ return propertyValue;
+ }
+}
diff --git a/src/main/java/com/moral/common/util/RedisUtils.java b/src/main/java/com/moral/common/util/RedisUtils.java
new file mode 100644
index 0000000..a05b472
--- /dev/null
+++ b/src/main/java/com/moral/common/util/RedisUtils.java
@@ -0,0 +1,191 @@
+package com.moral.common.util;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.moral.common.json.BooleanValueFilter;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.ValueOperations;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+
+@Component
+public class RedisUtils {
+ private static final String AlarmPrefix = "alarm_";
+ public static String getAlarmKey(int organizationId){
+ return AlarmPrefix+organizationId;
+ }
+ @Resource
+ private RedisTemplate redisTemplate;
+
+ /**
+ * ���������������������value
+ *
+ * @param keys
+ */
+ public void remove(final String... keys) {
+ for (String key : keys) {
+ remove(key);
+ }
+ }
+
+ /**
+ * ������������key
+ *
+ * @param pattern
+ */
+ public void removePattern(final String pattern) {
+ Set<Serializable> keys = redisTemplate.keys(pattern);
+ if (keys.size() > 0)
+ redisTemplate.delete(keys);
+ }
+
+ /**
+ * ���������������value
+ *
+ * @param key
+ */
+ public void remove(final String key) {
+ if (exists(key)) {
+ redisTemplate.delete(key);
+ }
+ }
+
+ /**
+ * ���������������������������������value
+ *
+ * @param key
+ * @return
+ */
+ public boolean exists(final String key) {
+ return redisTemplate.hasKey(key);
+ }
+
+ /**
+ * ������������
+ *
+ * @param key
+ * @return
+ */
+ public Object get(final String key) {
+ Object result = null;
+ ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
+ result = operations.get(key);
+ return result;
+ }
+ /**
+ * ������������,������������������
+ *
+ * @param key
+ * @return
+ */
+ public <T>T get(String key,Class<T> clazz) {
+ Object obj = get(key);
+ String json = obj!=null?obj.toString():null;
+ if(json!=null) {
+ return (T) parseObject(json,clazz);
+ }
+ return null;
+ }
+ /**
+ * ������������,������������������
+ *
+ * @param key
+ * @return
+ */
+ public <T>T get(String key,TypeReference typeReference) {
+ Object obj = get(key);
+ String json = obj!=null?obj.toString():null;
+ if(json!=null) {
+ return (T) parseObject(json,typeReference);
+ }
+ return null;
+ }
+ private static <T>T parseObject(String key,Class<T> clazz) {
+ return (T) JSON.parseObject(key,clazz);
+ }
+ private static <T>T parseObject(String key,TypeReference typeReference) {
+ return (T) JSON.parseObject(key,typeReference);
+ }
+ public <T> List<T> getList(String pattern,TypeReference typeReference){
+ List<String> jsonList = getList(pattern);
+ List<T> list = new ArrayList<T>();
+ for(String json:jsonList) {
+ list.add((T)parseObject(json,typeReference));
+ }
+ return list;
+ }
+ public <T> List<T> getList(String pattern,Class<T> clazz){
+ List<String> jsonList = getList(pattern);
+ List<T> list = new ArrayList<>();
+ for(String json:jsonList) {
+ list.add(parseObject(json,clazz));
+ }
+ return list;
+ }
+ public List<String> getList(String pattern){
+ Set<String> keys = keys(pattern);
+ List<String> list = new ArrayList<String>();
+ for(String key:keys) {
+ Object obj = get(key);
+ String json = obj!=null?obj.toString():null;
+ if(json!=null) {
+ list.add(json);
+ }
+ }
+ return list;
+ }
+ public Set<String> keys(String pattern) {
+ return redisTemplate.keys(pattern);
+ }
+ /**
+ * ������������
+ *
+ * @param key
+ * @param value
+ * @return
+ */
+ public boolean set(final String key, Object value) {
+ boolean result = false;
+ try {
+ if(value!=null&&!(value instanceof String)) {
+ value = JSON.toJSONString(value,new BooleanValueFilter());
+ }
+ ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
+ operations.set(key, value);
+ result = true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+
+ /**
+ * ������������
+ *
+ * @param key
+ * @param value
+ * @return
+ */
+ public boolean set(final String key, Object value, Long expireTime) {
+ boolean result = false;
+ try {
+ if(value!=null&&!(value instanceof String)) {
+ value = JSON.toJSONString(value,new BooleanValueFilter());
+ }
+ ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
+ operations.set(key, value);
+ redisTemplate.expire(key, expireTime, TimeUnit.SECONDS);
+ result = true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+}
diff --git a/src/main/java/com/moral/controller/AlarmConfigController.java b/src/main/java/com/moral/controller/AlarmConfigController.java
new file mode 100644
index 0000000..70e1121
--- /dev/null
+++ b/src/main/java/com/moral/controller/AlarmConfigController.java
@@ -0,0 +1,32 @@
+package com.moral.controller;
+
+
+import com.moral.common.bean.ResultBean;
+import com.moral.common.util.RedisUtil;
+import com.moral.entity.alarm.AlarmConfig;
+import com.moral.service.AlarmConfigService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+@RestController
+@RequestMapping("alarm-config")
+@CrossOrigin(origins = "*", maxAge = 3600)
+public class AlarmConfigController {
+ @Resource
+ AlarmConfigService alarmConfigService;
+ @GetMapping("get-by-oid")
+ public ResultBean<AlarmConfig> getAlarmConfigByOrganizationId(int organizationId){
+ AlarmConfig alarmConfig = alarmConfigService.SelectByOrganizationId(organizationId);
+ ResultBean resultBean = new ResultBean();
+ resultBean.setCode(ResultBean.SUCCESS);
+ resultBean.setData(alarmConfig);
+ return resultBean;
+ }
+ @PostMapping("add-or-modify")
+ public ResultBean addOrModify(@RequestBody AlarmConfig alarmConfig){
+ alarmConfigService.addOrModify(alarmConfig);
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ return resultBean;
+ }
+}
diff --git a/src/main/java/com/moral/entity/alarm/AlarmMode.java b/src/main/java/com/moral/entity/alarm/AlarmMode.java
index dae319b..b3d3f76 100644
--- a/src/main/java/com/moral/entity/alarm/AlarmMode.java
+++ b/src/main/java/com/moral/entity/alarm/AlarmMode.java
@@ -9,7 +9,7 @@
*/
@Data
public class AlarmMode {
- private int enable;
+ private boolean enable;
private List<AlarmStyle> level1;
private List<AlarmStyle> level2;
private List<AlarmStyle> level3;
diff --git a/src/main/java/com/moral/entity/alarm/AlarmSensorLevel.java b/src/main/java/com/moral/entity/alarm/AlarmSensorLevel.java
index 02de3af..fd736d3 100644
--- a/src/main/java/com/moral/entity/alarm/AlarmSensorLevel.java
+++ b/src/main/java/com/moral/entity/alarm/AlarmSensorLevel.java
@@ -12,7 +12,7 @@
/*
������������������1���������0���������
*/
- private int enable;
+ private boolean enable;
/*
������������������������ [100,200,300]
*/
diff --git a/src/main/java/com/moral/entity/alarm/AlarmStyle.java b/src/main/java/com/moral/entity/alarm/AlarmStyle.java
index cf21124..771b58a 100644
--- a/src/main/java/com/moral/entity/alarm/AlarmStyle.java
+++ b/src/main/java/com/moral/entity/alarm/AlarmStyle.java
@@ -2,5 +2,5 @@
public enum AlarmStyle {
//���������������������������������
- weixin,email,sms,vioce
+ weixin,email,sms,voice
}
diff --git a/src/main/java/com/moral/mapper/AlarmConfigMapper.java b/src/main/java/com/moral/mapper/AlarmConfigMapper.java
new file mode 100644
index 0000000..397db74
--- /dev/null
+++ b/src/main/java/com/moral/mapper/AlarmConfigMapper.java
@@ -0,0 +1,22 @@
+package com.moral.mapper;
+
+import java.util.List;
+import java.util.Map;
+
+import com.moral.entity.alarm.AlarmConfig;
+
+public interface AlarmConfigMapper {
+ int deleteByPrimaryKey(Integer id);
+
+ int insert(AlarmConfig record);
+
+ int insertSelective(AlarmConfig record);
+
+ AlarmConfig selectByPrimaryKey(Integer id);
+ //������������id������������������������
+ AlarmConfig selectByOrganizationId(Integer organizationId);
+
+ int updateByPrimaryKeySelective(AlarmConfig record);
+
+ int updateByPrimaryKey(AlarmConfig record);
+}
\ No newline at end of file
diff --git a/src/main/java/com/moral/mapper/type/AlarmConfigValueHandle.java b/src/main/java/com/moral/mapper/type/AlarmConfigValueHandle.java
new file mode 100644
index 0000000..7c7d465
--- /dev/null
+++ b/src/main/java/com/moral/mapper/type/AlarmConfigValueHandle.java
@@ -0,0 +1,47 @@
+package com.moral.mapper.type;
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import com.moral.common.json.BooleanValueFilter;
+import com.moral.entity.alarm.AlarmConfig;
+import com.moral.entity.alarm.AlarmConfigValue;
+import org.apache.ibatis.type.BaseTypeHandler;
+import org.apache.ibatis.type.JdbcType;
+import org.apache.ibatis.type.MappedJdbcTypes;
+import org.apache.ibatis.type.MappedTypes;
+
+import com.alibaba.fastjson.JSON;
+
+/**
+ * @author fengxiang
+ * @Time���2017���11���29��� ������9:38:51
+ * @version 1.0
+ */
+@MappedJdbcTypes({JdbcType.OTHER})
+@MappedTypes({AlarmConfigValue.class})
+public class AlarmConfigValueHandle extends BaseTypeHandler<AlarmConfigValue> {
+
+ @Override
+ public AlarmConfigValue getNullableResult(ResultSet resultSet, String s) throws SQLException {
+ return JSON.parseObject(resultSet.getString(s),AlarmConfigValue.class);
+ }
+
+ @Override
+ public AlarmConfigValue getNullableResult(ResultSet resultSet, int i) throws SQLException {
+ return JSON.parseObject(resultSet.getString(i),AlarmConfigValue.class);
+ }
+
+ @Override
+ public AlarmConfigValue getNullableResult(CallableStatement cStatement, int i) throws SQLException {
+ return JSON.parseObject(cStatement.getString(i),AlarmConfigValue.class);
+ }
+
+ @Override
+ public void setNonNullParameter(PreparedStatement preparedStatement, int i, AlarmConfigValue alarmConfigValue, JdbcType jdbcType)
+ throws SQLException {
+ preparedStatement.setString(i,JSON.toJSONString(alarmConfigValue,new BooleanValueFilter()));
+ }
+
+}
diff --git a/src/main/java/com/moral/service/AlarmConfigService.java b/src/main/java/com/moral/service/AlarmConfigService.java
new file mode 100644
index 0000000..4080244
--- /dev/null
+++ b/src/main/java/com/moral/service/AlarmConfigService.java
@@ -0,0 +1,9 @@
+package com.moral.service;
+
+import com.moral.entity.alarm.AlarmConfig;
+
+public interface AlarmConfigService {
+ public AlarmConfig SelectByOrganizationId(int organizationId);
+
+ void addOrModify(AlarmConfig alarmConfig);
+}
diff --git a/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java b/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java
new file mode 100644
index 0000000..ff3a361
--- /dev/null
+++ b/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java
@@ -0,0 +1,95 @@
+package com.moral.service.impl;
+
+import com.moral.common.bean.Constants;
+import com.moral.common.util.RedisUtils;
+import com.moral.entity.alarm.AlarmConfig;
+import com.moral.entity.alarm.AlarmConfigValue;
+import com.moral.entity.alarm.AlarmMode;
+import com.moral.entity.alarm.AlarmSensorLevel;
+import com.moral.mapper.AlarmConfigMapper;
+import com.moral.service.AlarmConfigService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class AlarmConfigServiceImpl implements AlarmConfigService{
+ @Resource
+ RedisUtils redisUtils;
+ @Resource
+ AlarmConfigMapper alarmConfigMapper;
+ @Override
+ public AlarmConfig SelectByOrganizationId(int organizationId) {
+ return alarmConfigMapper.selectByOrganizationId(organizationId);
+ }
+
+ @Override
+ public void addOrModify(AlarmConfig alarmConfig) {
+ try{
+ if(alarmConfig.getId()==null){
+ alarmConfig.setCreateTime(new Date());
+ alarmConfig.setUpdateTime(new Date());
+ alarmConfigMapper.insertSelective(alarmConfig);
+ }else{
+ alarmConfig.setUpdateTime(new Date());
+ alarmConfigMapper.updateByPrimaryKeySelective(alarmConfig);
+ }
+ String key = RedisUtils.getAlarmKey(alarmConfig.getOrganizationId());
+ redisUtils.set(key,simplifyAlarmConfigValue(alarmConfig.getValue()));
+ }
+ catch (Exception ex){
+ throw ex;
+ }
+ }
+ public AlarmConfigValue simplifyAlarmConfigValue(AlarmConfigValue value){
+ Map<String,AlarmSensorLevel> alarmSensorLevelMap = value.getAlarmLevels();
+ List<String> cleanKeys = new ArrayList<>();
+ for(String key:alarmSensorLevelMap.keySet()){
+ AlarmSensorLevel alarmSensorLevel = alarmSensorLevelMap.get(key);
+ if(!alarmSensorLevel.isEnable()){
+ cleanKeys.add(key);
+ }else{
+ List<Float> increments = alarmSensorLevel.getIncrement();
+ if(increments!=null){
+ boolean isIncrement = increments.size()<3||
+ (increments.get(0)==0&&increments.get(1)==0&&increments.get(2)==0);
+ if(isIncrement){
+ alarmSensorLevel.setIncrement(null);
+ }
+ }
+ List<Float> degressions = alarmSensorLevel.getDegression();
+ if(degressions!=null){
+ boolean isDegression = degressions.size()<3||
+ (degressions.get(0)==0&°ressions.get(1)==0&°ressions.get(2)==0);
+ if(isDegression){
+ alarmSensorLevel.setDegression(null);
+ }
+ }
+ }
+ }
+ for (String key:cleanKeys){
+ alarmSensorLevelMap.remove(key);
+ }
+ AlarmMode alarmMode = value.getAlarmMode();
+ if(!alarmMode.isEnable()){
+ alarmMode.setLevel1(null);
+ alarmMode.setLevel2(null);
+ alarmMode.setLevel3(null);
+ }else{
+ if(alarmMode.getLevel1()!=null&&alarmMode.getLevel1().isEmpty()){
+ alarmMode.setLevel1(null);
+ }
+ if(alarmMode.getLevel2()!=null&&alarmMode.getLevel2().isEmpty()){
+ alarmMode.setLevel2(null);
+ }
+ if(alarmMode.getLevel3()!=null&&alarmMode.getLevel3().isEmpty()){
+ alarmMode.setLevel3(null);
+ }
+ }
+ return value;
+ }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index ddf5b3f..01a9aae 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -63,4 +63,4 @@
mybatis:
mapper-locations: classpath*:/mapper/*Mapper.xml
- type-aliases-packageS: com.moral.entity
\ No newline at end of file
+ config-location: classpath:/mapper/mybatis-config.xml
\ No newline at end of file
diff --git a/src/main/resources/mapper/AlarmConfigMapper.xml b/src/main/resources/mapper/AlarmConfigMapper.xml
new file mode 100644
index 0000000..9d0bbd4
--- /dev/null
+++ b/src/main/resources/mapper/AlarmConfigMapper.xml
@@ -0,0 +1,100 @@
+<?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="com.moral.mapper.AlarmConfigMapper">
+ <resultMap id="BaseResultMap" type="com.moral.entity.alarm.AlarmConfig">
+ <id column="id" jdbcType="INTEGER" property="id" />
+ <result column="organization_id" jdbcType="INTEGER" property="organizationId" />
+ <result column="value" jdbcType="OTHER" property="value" typeHandler="AlarmConfigValueHandle" />
+ <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+ <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+ </resultMap>
+ <sql id="Base_Column_List">
+ id, organization_id, value, create_time, update_time
+ </sql>
+ <select id="selectByOrganizationId" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List" />
+ from alarm_config
+ where organization_id = #{organizationId,jdbcType=INTEGER}
+ limit 0,1
+ </select>
+ <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List" />
+ from alarm_config
+ where id = #{id,jdbcType=INTEGER}
+ </select>
+ <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+ delete from alarm_config
+ where id = #{id,jdbcType=INTEGER}
+ </delete>
+ <insert id="insert" parameterType="com.moral.entity.alarm.AlarmConfig">
+ insert into alarm_config (id, organization_id, value,
+ create_time, update_time)
+ values (#{id,jdbcType=INTEGER}, #{organizationId,jdbcType=INTEGER}, #{value,jdbcType=OTHER,typeHandler=AlarmConfigValueHandle},
+ #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
+ </insert>
+ <insert id="insertSelective" parameterType="com.moral.entity.alarm.AlarmConfig">
+ insert into alarm_config
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ id,
+ </if>
+ <if test="organizationId != null">
+ organization_id,
+ </if>
+ <if test="value != null">
+ value,
+ </if>
+ <if test="createTime != null">
+ create_time,
+ </if>
+ <if test="updateTime != null">
+ update_time,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ #{id,jdbcType=INTEGER},
+ </if>
+ <if test="organizationId != null">
+ #{organizationId,jdbcType=INTEGER},
+ </if>
+ <if test="value != null">
+ #{value,jdbcType=OTHER,typeHandler=AlarmConfigValueHandle},
+ </if>
+ <if test="createTime != null">
+ #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="updateTime != null">
+ #{updateTime,jdbcType=TIMESTAMP},
+ </if>
+ </trim>
+ </insert>
+ <update id="updateByPrimaryKeySelective" parameterType="com.moral.entity.alarm.AlarmConfig">
+ update alarm_config
+ <set>
+ <if test="organizationId != null">
+ organization_id = #{organizationId,jdbcType=INTEGER},
+ </if>
+ <if test="value != null">
+ value = #{value,jdbcType=OTHER,typeHandler=AlarmConfigValueHandle},
+ </if>
+ <if test="createTime != null">
+ create_time = #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="updateTime != null">
+ update_time = #{updateTime,jdbcType=TIMESTAMP},
+ </if>
+ </set>
+ where id = #{id,jdbcType=INTEGER}
+ </update>
+ <update id="updateByPrimaryKey" parameterType="com.moral.entity.alarm.AlarmConfig">
+ update alarm_config
+ set organization_id = #{organizationId,jdbcType=INTEGER},
+ value = #{value,jdbcType=OTHER,typeHandler=AlarmConfigValueHandle},
+ create_time = #{createTime,jdbcType=TIMESTAMP},
+ update_time = #{updateTime,jdbcType=TIMESTAMP}
+ where id = #{id,jdbcType=INTEGER}
+ </update>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/mybatis-config.xml b/src/main/resources/mapper/mybatis-config.xml
new file mode 100644
index 0000000..579b6dd
--- /dev/null
+++ b/src/main/resources/mapper/mybatis-config.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE configuration
+ PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-config.dtd">
+
+<configuration>
+ <typeAliases>
+ <typeAlias type="com.moral.mapper.type.AlarmConfigValueHandle" alias="AlarmConfigValueHandle"/>
+ <package name="com.moral.entity" />
+ </typeAliases>
+</configuration>
\ No newline at end of file
--
Gitblit v1.8.0