Commit a90a1f8a authored by licc's avatar licc

框架整理

parent 49503838
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.AccountInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.Map;
public interface AccountMapper extends BaseMapper<AccountInfo> {
/**
* 查询管理员信息
* @param map 查询参数
* @return
*/
AccountInfo getAccountInfo(Map<String, Object> map);
}
package cn.wisenergy.mapper;
import cn.hutool.system.UserInfo;
import cn.wisenergy.model.app.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @author 86187
* @ Description:
* @ Author : 86187
* @ Date : 2021/1/6 15:32
*/
@Mapper
public interface UsersMapper extends BaseMapper<User> {
/**
* 添加
*
* @param user 用户信息
* @return 用户信息
*/
int add(User user);
/**
* 编辑
*
* @param user 用户信息
* @return 修改是否成功
*/
int edit(User user);
/**
* 删除
*
* @param id 用户id
* @return 删除是否成功
*/
int delById(@Param("id") Integer id);
int countByPhoneAnsUserId(@Param("phone") String phone, @Param("userId") Integer userId);
List<User> getList(Map<String, Object> map);
Integer getUserNumbers(Map<String, Object> map);
User getByPhone(@Param("phone") String phone);
List<User> test(@Param("list") List<String> list);
}
<?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="cn.wisenergy.mapper.UsersMapper">
<resultMap id="userMap" type="cn.wisenergy.model.app.User">
<id column="id" property="id"/>
<result column="user_name" property="userName"/>
<result column="password" property="password"/>
<result column="phone" property="phone"/>
<result column="uuid" property="uuid"/>
<result column="head_image" property="headImage"/>
<result column="sex" property="sex"/>
<result column="school" property="school"/>
<result column="exam_type" property="examType"/>
<result column="source" property="source"/>
<result column="is_delete" property="isDelete"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="table">
user
</sql>
<sql id="cols_all">
id,
<include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
user_name,password, phone,uuid,head_image,sex,school, exam_type,source,is_delete,create_time,update_time
</sql>
<sql id="vals">
#{userName},#{password},#{phone},#{uuid},#{headImage},#{sex},#{school},#{examType}, #{source},
#{isDelete},now(),now()
</sql>
<sql id="updateCondition">
<if test="userName != null">user_name = #{userName},</if>
<if test="password != null">password =#{password},</if>
<if test="phone != null">phone =#{phone},</if>
<if test="uuid != null">uuid =#{uuid},</if>
<if test="headImage != null">head_image =#{headImage},</if>
<if test="sex != null">sex =#{sex},</if>
<if test="school != null">school =#{school},</if>
<if test="examType != null">exam_type = #{examType},</if>
<if test="source != null">source = #{source},</if>
<if test="isDelete != null">is_delete = #{isDelete},</if>
update_time =now()
</sql>
<sql id="criteria">
<if test="id != null">id = #{id}</if>
<if test="userName != null">and user_name = #{userName}</if>
<if test="password != null">and password =#{password}</if>
<if test="phone != null">and phone =#{phone}</if>
<if test="uuid != null">and uuid =#{uuid}</if>
<if test="headImage != null">and head_image =#{headImage}</if>
<if test="sex != null">and sex =#{sex}</if>
<if test="school != null">and school =#{school}</if>
<if test="examType != null">and exam_type = #{examType}</if>
<if test="source != null">and source = #{source}</if>
<if test="isDelete != null">and is_delete = #{isDelete}</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
</sql>
<insert id="add" parameterType="cn.wisenergy.model.app.User" keyProperty="id" useGeneratedKeys="true">
insert into
<include refid="table"/>
(<include refid="cols_exclude_id"/>)
value(
<include refid="vals"/>
)
</insert>
<update id="edit" parameterType="cn.wisenergy.model.app.User">
UPDATE
<include refid="table"/>
<set>
<include refid="updateCondition"/>
</set>
<where>
id = #{id}
</where>
</update>
<delete id="delById" parameterType="java.lang.Integer">
delete from
<include refid="table"/>
where id = #{id}
</delete>
<select id="countByPhoneAnsUserId" resultType="java.lang.Integer">
SELECT COUNT(1)
FROM
<include refid="table"/>
WHERE phone=#{phone} and id !=#{userId} and is_delete=0
</select>
<select id="getList" resultMap="userMap" parameterType="map">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
is_delete=0
<if test="startTime != null">
and create_time
between #{startTime}
</if>
<if test="endTime != null">and #{endTime}</if>
<if test="userName != null">and user_name like ('%' #{userName} '%')</if>
<if test="phone != null">and phone like ('%' #{phone} '%')</if>
order by create_time desc
limit #{pageNo},#{pageSize}
</where>
</select>
<select id="getUserNumbers" resultType="java.lang.Integer">
SELECT COUNT(id)
FROM
<include refid="table"/>
<where>
is_delete=0
<if test="startTime != null">
and create_time
between #{startTime}
</if>
<if test="endTime != null">and #{endTime}</if>
<if test="userName != null">and user_name like ('%' #{userName} '%')</if>
<if test="phone != null">and phone like ('%' #{phone} '%')</if>
</where>
</select>
<select id="getByPhone" resultType="cn.wisenergy.model.app.User">
SELECT
<include refid="cols_all"/>
FROM
<include refid="table"/>
where is_delete=0 and phone=#{phone}
</select>
<select id="test" resultType="cn.wisenergy.model.app.User">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
<if test="list != null">
<foreach collection="list" index="index" item="id" separator="or" open="(" close=")">
user_name LIKE CONCAT('%',#{id},'%')
</foreach>
</if>
</where>
</select>
</mapper>
package cn.wisenergy.model.app;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 管理员实体类
*/
@Data
@ApiModel(value = "AccountInfo")
public class AccountInfo implements Serializable {
private static final long serialVersionUID = 3050641578536493424L;
/**
* 管理员主键id
*/
@ApiModelProperty(name ="id",value = "管理员主键id")
private Integer id;
/**
* 管理员账号
*/
@ApiModelProperty(name = "name",value = "管理员账号")
private String userName;
/**
* 管理员密码
*/
@ApiModelProperty(name="password",value = "管理员密码")
private String password;
/**
* 头像
*/
@ApiModelProperty(name = "headImage",value = "头像")
private String headImage;
/**
* 是否删除
*/
@ApiModelProperty(name = "isDelete",value = "是否删除 0:正常 1:删除")
private Integer isDelete;
/**
* 创建时间
*/
@ApiModelProperty(name = "createTime",value = "创建时间")
private Date createTime;
/**
* 修改时间
*/
@ApiModelProperty(name = "updateTime",value = "修改时间")
private Date updateTime;
}
package cn.wisenergy.model.app;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @author 86187
* @ Description : 用户实体类
* @ Author : lcc
* @ CreateDate : 2020/11/8 19:59
*/
@Data
@ApiModel(value = "AccountUsers")
@TableName("user")
public class User implements Serializable {
private static final long serialVersionUID = 2525339404301884673L;
/**
* 主键id
*/
@ApiModelProperty(name = "id", value = "用户主键id")
private Integer id;
/**
* 用户名称
*/
@ApiModelProperty(name = "name", value = "用户名")
private String userName;
/**
* 密码
*/
@ApiModelProperty(name = "password", value = "用户密码")
private String password;
/**
* 电话号码
*/
@ApiModelProperty(name = "phone", value = "手机号")
private String phone;
/**
* 头像
*/
@ApiModelProperty(name = "headImage", value = "头像")
private String headImage;
/**
* 微信uuid
*/
@ApiModelProperty(name = "微信uuid", value = "uuid")
private String uuid;
/**
* 性别
*/
@ApiModelProperty(name = "sex", value = "用户性别:0:男,1:女")
private Integer sex;
/**
* 学校
*/
@ApiModelProperty(name = "school", value = "毕业院校")
private String school;
/**
* 学生类型
*/
@ApiModelProperty(name = "examType", value = "考生类型 1:文化课考生 2:美术生 3:体育生 4:文学编导考生")
private Integer examType;
/**
* 来源 1:PC 2: APP
*/
@ApiModelProperty(name = "source", value = "来源 1:PC 2: APP")
private Integer source;
/**
* 是否删除
*/
@ApiModelProperty(name = "isDelete", value = "是否删除 0:正常 1:删除")
private Integer isDelete;
/**
* 创建时间
*/
@ApiModelProperty(name = "createTime", value = "创建时间")
private Date createTime;
/**
* 修改时间
*/
@ApiModelProperty(name = "updateTime", value = "修改时间")
private Date updateTime;
}
package cn.wisenergy.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel(value = "AccountInfo")
public class AccountLoginVo implements Serializable {
private static final long serialVersionUID = -3802879442149734552L;
/**
* 管理员账号
*/
@ApiModelProperty(name = "name",value = "管理员账号")
private String userName;
/**
* 管理员密码
*/
@ApiModelProperty(name="password",value = "管理员密码")
private String password;
}
package cn.wisenergy.service.app;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.AccountInfo;
/**
* @author 86187
*/
public interface AccountSerivce {
R<AccountInfo> getById(Integer userId);
}
package cn.wisenergy.service.app;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.User;
import java.util.List;
/**
* @ Description: 用户接口
* @ Author : 86187
* @ Date : 2021/1/6 16:08
*/
public interface UserService {
/**
* 获取用户信息
* @param phone 电话号码
* @return 用户信息
*/
User getByPhone(String phone);
R<List<User>> test();
}
package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.mapper.AccountMapper;
import cn.wisenergy.model.app.AccountInfo;
import cn.wisenergy.service.app.AccountSerivce;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class AccountSerivceImpl extends ServiceImpl<AccountMapper,AccountInfo>implements AccountSerivce {
@Override
public R<AccountInfo> getById(Integer userId) {
return null;
}
}
package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.constant.CommonAttributes;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.mapper.UsersMapper;
import cn.wisenergy.model.app.User;
import cn.wisenergy.service.app.UserService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @ Description: 用户接口实现
* @ Author : 86187
* @ Date : 2021/1/6 16:11
*/
@Service
@Slf4j
public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements UserService {
@Autowired
private UsersMapper usersMapper;
@Override
public User getByPhone(String phone) {
return null;
}
@Override
public R<List<User>> test() {
return null;
}
}
package cn.wisenergy.service.cache;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.dao.DataAccessException;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.nio.charset.Charset;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
@Slf4j
@Component
public class RedisService {
public static final String PREFIX = "sales_activity";
protected static final long DEFAULT_EXPIRE = 10 * 24 * 60 * 60L;
@Resource(name = "redisTemplate")
private RedisTemplate redisTemplate;
private static RedisTemplate<String, Object> template = null;
/**
* 生成key
*
* @param keys
* @return
*/
public String buildKey(Object... keys) {
StringBuilder sb = new StringBuilder();
if (keys.length == 1) {
sb.append(keys);
return sb.toString();
}
for (Object key : keys) {
sb.append(key).append(":");
}
if (sb.length() > 1) {
sb.deleteCharAt(sb.length() - 1);
}
return sb.toString();
}
/**
* 指定缓存失效时间
*
* @param key 键
* @param time 时间(秒)
* @return
*/
public boolean expire(String key, long time) {
try {
if (time > 0) {
getRedisTemplate().expire(key, time, TimeUnit.SECONDS);
}
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* 根据key 获取过期时间
*
* @param key 键 不能为null
* @return 时间(秒) 返回0代表为永久有效
*/
public long getExpire(String key) {
return getRedisTemplate().getExpire(key, TimeUnit.SECONDS);
}
/**
* 判断key是否存在
*
* @param key 键
* @return true 存在 false不存在
*/
public boolean hasKey(String key) {
try {
return getRedisTemplate().hasKey(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* 删除缓存
*
* @param key 可以传一个值 或多个
*/
public void del(String... key) {
if (key != null && key.length > 0) {
if (key.length == 1) {
getRedisTemplate().delete(key[0]);
} else {
getRedisTemplate().delete(CollectionUtils.arrayToList(key));
}
}
}
// ============================String=============================
/**
* 普通缓存获取
*
* @param key 键
* @return 值
*/
public Object get(String key) {
return key == null ? null : getRedisTemplate().opsForValue().get(key);
}
/**
* 普通缓存放入
*
* @param key 键
* @param value 值
* @return true成功 false失败
*/
public boolean set(String key, Object value) {
try {
getRedisTemplate().opsForValue().set(key, value);
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* 模糊查询
*
* @param activityCode 查询语句
* @return 查询结果
*/
public Set keys(String activityCode) {
try {
StringBuilder sb = new StringBuilder(10);
sb.append(PREFIX).append(":")
.append(activityCode)
.append(":")
.append("*");
return getRedisTemplate().keys(sb.toString());
} catch (Exception e) {
log.error(e.getMessage(), e);
return null;
}
}
/**
* 普通缓存放入并设置时间
*
* @param key 键
* @param value 值
* @param time 时间(秒) time要大于0 如果time小于等于0 将设置无限期
* @return true成功 false 失败
*/
public boolean set(String key, Object value, long time) {
try {
if (time > 0) {
getRedisTemplate().opsForValue().set(key, value, time, TimeUnit.SECONDS);
} else {
set(key, value);
}
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* 递增
*
* @param key 键
* @param delta 要增加几(大于0)
* @return
*/
public long incr(String key, long delta) {
if (delta < 0) {
throw new RuntimeException("递增因子必须大于0");
}
return getRedisTemplate().opsForValue().increment(key, delta);
}
/**
* 递减
*
* @param key 键
* @param delta 要减少几(小于0)
* @return
*/
public long decr(String key, long delta) {
if (delta < 0) {
throw new RuntimeException("递减因子必须大于0");
}
return getRedisTemplate().opsForValue().increment(key, -delta);
}
// ================================Map=================================
/**
* HashGet
*
* @param key 键 不能为null
* @param item 项 不能为null
* @return 值
*/
public Object hget(String key, String item) {
return getRedisTemplate().opsForHash().get(key, item);
}
/**
* 获取hashKey对应的所有键值
*
* @param key 键
* @return 对应的多个键值
*/
public Map<Object, Object> hmget(String key) {
return getRedisTemplate().opsForHash().entries(key);
}
/**
* HashSet
*
* @param key 键
* @param map 对应多个键值
* @return true 成功 false 失败
*/
public boolean hmset(String key, Map<String, Object> map) {
try {
getRedisTemplate().opsForHash().putAll(key, map);
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* HashSet 并设置时间
*
* @param key 键
* @param map 对应多个键值
* @param time 时间(秒)
* @return true成功 false失败
*/
public boolean hmset(String key, Map<String, Object> map, long time) {
try {
getRedisTemplate().opsForHash().putAll(key, map);
if (time > 0) {
expire(key, time);
}
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* 向一张hash表中放入数据,如果不存在将创建
*
* @param key 键
* @param item 项
* @param value 值
* @return true 成功 false失败
*/
public boolean hset(String key, String item, Object value) {
try {
getRedisTemplate().opsForHash().put(key, item, value);
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* 向一张hash表中放入数据,如果不存在将创建
*
* @param key 键
* @param item 项
* @param value 值
* @param time 时间(秒) 注意:如果已存在的hash表有时间,这里将会替换原有的时间
* @return true 成功 false失败
*/
public boolean hset(String key, String item, Object value, long time) {
try {
getRedisTemplate().opsForHash().put(key, item, value);
if (time > 0) {
expire(key, time);
}
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* 删除hash表中的值
*
* @param key 键 不能为null
* @param item 项 可以使多个 不能为null
*/
public void hdel(String key, Object... item) {
getRedisTemplate().opsForHash().delete(key, item);
}
/**
* 判断hash表中是否有该项的值
*
* @param key 键 不能为null
* @param item 项 不能为null
* @return true 存在 false不存在
*/
public boolean hHasKey(String key, String item) {
return getRedisTemplate().opsForHash().hasKey(key, item);
}
/**
* hash递增 如果不存在,就会创建一个 并把新增后的值返回
*
* @param key 键
* @param item 项
* @param by 要增加几(大于0)
* @return
*/
public double hincr(String key, String item, double by) {
return getRedisTemplate().opsForHash().increment(key, item, by);
}
/**
* hash递减
*
* @param key 键
* @param item 项
* @param by 要减少记(小于0)
* @return
*/
public double hdecr(String key, String item, double by) {
return getRedisTemplate().opsForHash().increment(key, item, -by);
}
// ============================set=============================
/**
* 根据key获取Set中的所有值
*
* @param key 键
* @return
*/
public Set<Object> sGet(String key) {
try {
return getRedisTemplate().opsForSet().members(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
return null;
}
}
/**
* 根据value从一个set中查询,是否存在
*
* @param key 键
* @param value 值
* @return true 存在 false不存在
*/
public boolean sHasKey(String key, Object value) {
try {
return getRedisTemplate().opsForSet().isMember(key, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* 将数据放入set缓存
*
* @param key 键
* @param values 值 可以是多个
* @return 成功个数
*/
public long sSet(String key, Object... values) {
try {
return getRedisTemplate().opsForSet().add(key, values);
} catch (Exception e) {
log.error(e.getMessage(), e);
return 0;
}
}
/**
* 将set数据放入缓存
*
* @param key 键
* @param time 时间(秒)
* @param values 值 可以是多个
* @return 成功个数
*/
public long sSetAndTime(String key, long time, Object... values) {
try {
Long count = getRedisTemplate().opsForSet().add(key, values);
if (time > 0)
expire(key, time);
return count;
} catch (Exception e) {
log.error(e.getMessage(), e);
return 0;
}
}
/**
* 获取set缓存的长度
*
* @param key 键
* @return
*/
public long sGetSetSize(String key) {
try {
return getRedisTemplate().opsForSet().size(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
return 0;
}
}
/**
* 移除值为value的
*
* @param key 键
* @param values 值 可以是多个
* @return 移除的个数
*/
public long setRemove(String key, Object... values) {
try {
Long count = getRedisTemplate().opsForSet().remove(key, values);
return count;
} catch (Exception e) {
log.error(e.getMessage(), e);
return 0;
}
}
// ===============================list=================================
/**
* 获取list缓存的内容
*
* @param key 键
* @param start 开始
* @param end 结束 0 到 -1代表所有值
* @return
*/
public List<Object> lGet(String key, long start, long end) {
try {
return getRedisTemplate().opsForList().range(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
return null;
}
}
/**
* 获取list缓存的长度
*
* @param key 键
* @return
*/
public long lGetListSize(String key) {
try {
return getRedisTemplate().opsForList().size(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
return 0;
}
}
/**
* 通过索引 获取list中的值
*
* @param key 键
* @param index 索引 index>=0时, 0 表头,1 第二个元素,依次类推;index<0时,-1,表尾,-2倒数第二个元素,依次类推
* @return
*/
public Object lGetIndex(String key, long index) {
try {
return getRedisTemplate().opsForList().index(key, index);
} catch (Exception e) {
log.error(e.getMessage(), e);
return null;
}
}
/**
* 将list放入缓存
*
* @param key 键
* @param value 值
* @return
*/
public boolean lSet(String key, Object value) {
try {
getRedisTemplate().opsForList().rightPush(key, value);
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* 将list放入缓存
*
* @param key 键
* @param value 值
* @param time 时间(秒)
* @return
*/
public boolean lSet(String key, Object value, long time) {
try {
getRedisTemplate().opsForList().rightPush(key, value);
if (time > 0) {
expire(key, time);
}
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* 将list放入缓存
*
* @param key 键
* @param value 值
* @return
*/
public boolean lSet(String key, List<Object> value) {
try {
getRedisTemplate().opsForList().rightPushAll(key, value);
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* 将list放入缓存
*
* @param key 键
* @param value 值
* @param time 时间(秒)
* @return
*/
public boolean lSet(String key, List<Object> value, long time) {
try {
getRedisTemplate().opsForList().rightPushAll(key, value);
if (time > 0) {
expire(key, time);
}
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* 根据索引修改list中的某条数据
*
* @param key 键
* @param index 索引
* @param value 值
* @return
*/
public boolean lUpdateIndex(String key, long index, Object value) {
try {
getRedisTemplate().opsForList().set(key, index, value);
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
/**
* 移除N个值为value
*
* @param key 键
* @param count 移除多少个
* @param value 值
* @return 移除的个数
*/
public long lRemove(String key, long count, Object value) {
try {
Long remove = getRedisTemplate().opsForList().remove(key, count, value);
return remove;
} catch (Exception e) {
log.error(e.getMessage(), e);
return 0;
}
}
public void deleteInvalidRedisKey(String activityCode) {
StringBuilder sb = new StringBuilder(10);
sb.append(PREFIX).append(":").append(activityCode).append(":").append("*");
byte[] bytes = sb.toString().getBytes(Charset.defaultCharset());
redisTemplate.execute(new RedisCallback() {
@Override
public Object doInRedis(RedisConnection connection) throws DataAccessException {
Set<byte[]> keys = connection.keys(bytes);
for (byte[] key : keys) {
connection.del(key);
}
return null;
}
});
}
private RedisTemplate getRedisTemplate() {
if (null == template) {
template = new RedisTemplate<String, Object>();
template.setConnectionFactory(redisTemplate.getConnectionFactory());
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om);
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
// key采用String的序列化方式
template.setKeySerializer(stringRedisSerializer);
// hash的key也采用String的序列化方式
template.setHashKeySerializer(stringRedisSerializer);
// value序列化方式采用jackson
template.setValueSerializer(jackson2JsonRedisSerializer);
// hash的value序列化方式采用jackson
template.setHashValueSerializer(jackson2JsonRedisSerializer);
template.afterPropertiesSet();
}
return template;
}
}
package cn.wisenergy.web.common;
import cn.wisenergy.model.app.User;
import cn.wisenergy.service.app.UserService;
import cn.wisenergy.web.shiro.JwtUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
......
/*
Navicat MySQL Data Transfer
Source Server : test
Source Server Type : MySQL
Source Server Version : 50727
Source Host : localhost:3306
Source Schema : ljfl
Target Server Type : MySQL
Target Server Version : 50727
File Encoding : 65001
Date: 03/11/2020 10:07:47
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for camera
-- ----------------------------
DROP TABLE IF EXISTS `camera`;
CREATE TABLE `camera` (
`id` int(11) NOT NULL COMMENT '主键',
`camera_number` varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '摄像机编号',
`name` varchar(30) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '名称',
`site` varchar(30) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '投放点',
`inspector_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '督察员姓名',
`inspector_phone` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '督察员手机号',
`longitude` double NULL DEFAULT NULL COMMENT '经度',
`latitude` double NULL DEFAULT NULL COMMENT '纬度',
`status` int(2) NULL DEFAULT NULL COMMENT '状态:0:在线 1:离线',
`is_delete` int(2) NULL DEFAULT NULL COMMENT '是否删除 0:正常 1:删除',
`remark` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '备注',
`rubbish_id` int(11) NULL DEFAULT NULL COMMENT '所属垃圾点id',
`create_time` datetime(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for resident
-- ----------------------------
DROP TABLE IF EXISTS `resident`;
CREATE TABLE `resident` (
`id` int(11) NOT NULL COMMENT '主键id',
`name` varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '姓名',
`phone` varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '手机号码',
`sex` int(2) NULL DEFAULT NULL COMMENT '性别 1:男 2:女',
`street` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '所属街道',
`community` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '所属社区',
`remark` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '备注',
`is_delete` int(2) NULL DEFAULT NULL COMMENT '是否删除 0:正常 1:删除',
`create_time` datetime(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for rubbish
-- ----------------------------
DROP TABLE IF EXISTS `rubbish`;
CREATE TABLE `rubbish` (
`id` int(11) NOT NULL COMMENT '主键id',
`rubbish_number` varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '垃圾站编号',
`user_name` varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '负责人姓名',
`street` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '所属街道',
`community` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '所属社区',
`live_time` datetime(0) NULL DEFAULT NULL COMMENT '直播时间',
`click_time` datetime(0) NULL DEFAULT NULL COMMENT '点播时间',
`remark` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '备注',
`status` int(2) NULL DEFAULT NULL COMMENT '状态 :0:再用 1:弃用',
`is_delete` int(2) NULL DEFAULT NULL COMMENT '是否删除 0:正常 1:删除',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
{
"paper": {
"name": "A4",
"leftMargin": 0.5,
"rightMargin": 0.5,
"topMargin": 0.5,
"bottomMargin": 0.5,
"isPortriat": true
},
"modelVersion": 2.01,
"defaultSchema": "Default",
"server": {
"objectType": "Server_MYSQL",
"name": "Default",
"serverVersion": 50727,
"edition": "Default",
"lowerCaseTableNames": 0,
"schemas": [
{
"objectType": "Schema_MYSQL",
"name": "Default",
"tables": [],
"views": []
},
{
"objectType": "Schema_MYSQL",
"name": "ljfl",
"tables": [
{
"objectType": "Table_MYSQL",
"name": "camera",
"comment": "",
"engine": "InnoDB",
"characterSet": "latin1",
"collation": "latin1_swedish_ci",
"autoIncrement": 0,
"tablespace": "",
"storage": "",
"insertMethod": "",
"connection": "",
"checksum": false,
"rowFormat": "Dynamic",
"avgRowLength": 0,
"maxRows": 0,
"minRows": 0,
"keyBlockSize": 0,
"packKeys": "",
"delayKeyWrite": false,
"dataDirectory": "",
"indexDirectory": "",
"statsAutoRecalc": "",
"statsPersistent": "",
"statsSamplePages": 0,
"union": "",
"pageCheckSum": false,
"transactional": false,
"compression": "",
"oldName": "camera",
"encryption": false,
"createOptions": "",
"createTime": "2020-11-03 10:13:38",
"checkTime": "",
"dataFree": 0,
"dataLength": 16384,
"indexLength": 0,
"maxDataLength": 0,
"rows": 0,
"updateTime": "",
"DDL": "CREATE TABLE `camera` (\n `id` int(11) NOT NULL COMMENT '主键',\n `camera_number` varchar(20) DEFAULT NULL COMMENT '摄像机编号',\n `name` varchar(30) DEFAULT NULL COMMENT '名称',\n `inspector_name` varchar(255) DEFAULT NULL COMMENT '督察员姓名',\n `inspector_phone` varchar(255) DEFAULT NULL COMMENT '督察员手机号',\n `longitude` double DEFAULT NULL COMMENT '经度',\n `latitude` double DEFAULT NULL COMMENT '纬度',\n `status` int(2) DEFAULT NULL COMMENT '状态:0:在线 1:离线',\n `is_delete` int(2) DEFAULT NULL COMMENT '是否删除 0:正常 1:删除',\n `remark` varchar(255) DEFAULT NULL COMMENT '备注',\n `rubbish_id` int(11) DEFAULT NULL COMMENT '所属垃圾点id',\n `create_time` datetime DEFAULT NULL COMMENT '创建时间',\n `update_time` datetime DEFAULT NULL COMMENT '更新时间',\n PRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1",
"partitionBy": "",
"partitionByExpr": "",
"partitions": 0,
"partitionKeyAlgorithm": "",
"subPartitionBy": "",
"subPartitionByExpr": "",
"subPartitions": 0,
"subPartitionKeyAlgorithm": "",
"fields": [
{
"objectType": "TableField_MYSQL",
"name": "id",
"type": "int",
"length": 11,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": false,
"defaultType": "Others",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "主键",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "id"
},
{
"objectType": "TableField_MYSQL",
"name": "camera_number",
"type": "varchar",
"length": 20,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "摄像机编号",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "camera_number"
},
{
"objectType": "TableField_MYSQL",
"name": "name",
"type": "varchar",
"length": 30,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "名称",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "name"
},
{
"objectType": "TableField_MYSQL",
"name": "inspector_name",
"type": "varchar",
"length": 255,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "督察员姓名",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "inspector_name"
},
{
"objectType": "TableField_MYSQL",
"name": "inspector_phone",
"type": "varchar",
"length": 255,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "督察员手机号",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "inspector_phone"
},
{
"objectType": "TableField_MYSQL",
"name": "longitude",
"type": "double",
"length": 0,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "经度",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "longitude"
},
{
"objectType": "TableField_MYSQL",
"name": "latitude",
"type": "double",
"length": 0,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "纬度",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "latitude"
},
{
"objectType": "TableField_MYSQL",
"name": "status",
"type": "int",
"length": 2,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "状态:0:在线 1:离线",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "status"
},
{
"objectType": "TableField_MYSQL",
"name": "is_delete",
"type": "int",
"length": 2,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "是否删除 0:正常 1:删除",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "is_delete"
},
{
"objectType": "TableField_MYSQL",
"name": "remark",
"type": "varchar",
"length": 255,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "备注",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "remark"
},
{
"objectType": "TableField_MYSQL",
"name": "rubbish_id",
"type": "int",
"length": 11,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "所属垃圾点id",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "rubbish_id"
},
{
"objectType": "TableField_MYSQL",
"name": "create_time",
"type": "datetime",
"length": 0,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "创建时间",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "create_time"
},
{
"objectType": "TableField_MYSQL",
"name": "update_time",
"type": "datetime",
"length": 0,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "更新时间",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "update_time"
}
],
"indexes": [],
"primaryKey": {
"objectType": "PrimaryKey_MYSQL",
"name": "",
"fields": [
{
"objectType": "IndexField_MYSQL",
"name": "id",
"keyLength": 0,
"order": "",
"oldName": "id"
}
],
"oldName": "",
"indexMethod": "BTREE",
"comment": ""
},
"foreignKeys": [],
"triggers": [],
"tablePartitions": []
},
{
"objectType": "Table_MYSQL",
"name": "resident",
"comment": "",
"engine": "InnoDB",
"characterSet": "latin1",
"collation": "latin1_swedish_ci",
"autoIncrement": 0,
"tablespace": "",
"storage": "",
"insertMethod": "",
"connection": "",
"checksum": false,
"rowFormat": "Dynamic",
"avgRowLength": 0,
"maxRows": 0,
"minRows": 0,
"keyBlockSize": 0,
"packKeys": "",
"delayKeyWrite": false,
"dataDirectory": "",
"indexDirectory": "",
"statsAutoRecalc": "",
"statsPersistent": "",
"statsSamplePages": 0,
"union": "",
"pageCheckSum": false,
"transactional": false,
"compression": "",
"oldName": "resident",
"encryption": false,
"createOptions": "",
"createTime": "2020-11-03 09:58:48",
"checkTime": "",
"dataFree": 0,
"dataLength": 16384,
"indexLength": 0,
"maxDataLength": 0,
"rows": 0,
"updateTime": "",
"DDL": "CREATE TABLE `resident` (\n `id` int(11) NOT NULL COMMENT '主键id',\n `name` varchar(20) DEFAULT NULL COMMENT '姓名',\n `phone` varchar(20) DEFAULT NULL COMMENT '手机号码',\n `sex` int(2) DEFAULT NULL COMMENT '性别 1:男 2:女',\n `street` varchar(255) DEFAULT NULL COMMENT '所属街道',\n `community` varchar(255) DEFAULT NULL COMMENT '所属社区',\n `remark` varchar(255) DEFAULT NULL COMMENT '备注',\n `is_delete` int(2) DEFAULT NULL COMMENT '是否删除 0:正常 1:删除',\n `create_time` datetime DEFAULT NULL,\n `update_time` datetime DEFAULT NULL,\n PRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1",
"partitionBy": "",
"partitionByExpr": "",
"partitions": 0,
"partitionKeyAlgorithm": "",
"subPartitionBy": "",
"subPartitionByExpr": "",
"subPartitions": 0,
"subPartitionKeyAlgorithm": "",
"fields": [
{
"objectType": "TableField_MYSQL",
"name": "id",
"type": "int",
"length": 11,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": false,
"defaultType": "Others",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "主键id",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "id"
},
{
"objectType": "TableField_MYSQL",
"name": "name",
"type": "varchar",
"length": 20,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "姓名",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "name"
},
{
"objectType": "TableField_MYSQL",
"name": "phone",
"type": "varchar",
"length": 20,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "手机号码",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "phone"
},
{
"objectType": "TableField_MYSQL",
"name": "sex",
"type": "int",
"length": 2,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "性别 1:男 2:女",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "sex"
},
{
"objectType": "TableField_MYSQL",
"name": "street",
"type": "varchar",
"length": 255,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "所属街道",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "street"
},
{
"objectType": "TableField_MYSQL",
"name": "community",
"type": "varchar",
"length": 255,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "所属社区",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "community"
},
{
"objectType": "TableField_MYSQL",
"name": "remark",
"type": "varchar",
"length": 255,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "备注",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "remark"
},
{
"objectType": "TableField_MYSQL",
"name": "is_delete",
"type": "int",
"length": 2,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "是否删除 0:正常 1:删除",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "is_delete"
},
{
"objectType": "TableField_MYSQL",
"name": "create_time",
"type": "datetime",
"length": 0,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "create_time"
},
{
"objectType": "TableField_MYSQL",
"name": "update_time",
"type": "datetime",
"length": 0,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "update_time"
}
],
"indexes": [],
"primaryKey": {
"objectType": "PrimaryKey_MYSQL",
"name": "",
"fields": [
{
"objectType": "IndexField_MYSQL",
"name": "id",
"keyLength": 0,
"order": "",
"oldName": "id"
}
],
"oldName": "",
"indexMethod": "BTREE",
"comment": ""
},
"foreignKeys": [],
"triggers": [],
"tablePartitions": []
},
{
"objectType": "Table_MYSQL",
"name": "rubbish",
"comment": "",
"engine": "InnoDB",
"characterSet": "latin1",
"collation": "latin1_swedish_ci",
"autoIncrement": 0,
"tablespace": "",
"storage": "",
"insertMethod": "",
"connection": "",
"checksum": false,
"rowFormat": "Dynamic",
"avgRowLength": 0,
"maxRows": 0,
"minRows": 0,
"keyBlockSize": 0,
"packKeys": "",
"delayKeyWrite": false,
"dataDirectory": "",
"indexDirectory": "",
"statsAutoRecalc": "",
"statsPersistent": "",
"statsSamplePages": 0,
"union": "",
"pageCheckSum": false,
"transactional": false,
"compression": "",
"oldName": "rubbish",
"encryption": false,
"createOptions": "",
"createTime": "2020-11-03 10:04:00",
"checkTime": "",
"dataFree": 0,
"dataLength": 16384,
"indexLength": 0,
"maxDataLength": 0,
"rows": 0,
"updateTime": "",
"DDL": "CREATE TABLE `rubbish` (\n `id` int(11) NOT NULL COMMENT '主键id',\n `rubbish_number` varchar(20) DEFAULT NULL COMMENT '垃圾站编号',\n `user_name` varchar(20) DEFAULT NULL COMMENT '负责人姓名',\n `street` varchar(255) DEFAULT NULL COMMENT '所属街道',\n `community` varchar(255) DEFAULT NULL COMMENT '所属社区',\n `live_time` int(11) DEFAULT NULL COMMENT '直播时间',\n `click_time` int(11) DEFAULT NULL COMMENT '点播时间',\n `remark` varchar(255) DEFAULT NULL COMMENT '备注',\n `status` int(2) DEFAULT NULL COMMENT '状态 :0:再用 1:弃用',\n `is_delete` int(2) DEFAULT NULL COMMENT '是否删除 0:正常 1:删除',\n `create_time` datetime DEFAULT NULL COMMENT '创建时间',\n `update_time` datetime DEFAULT NULL COMMENT '更新时间',\n PRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1",
"partitionBy": "",
"partitionByExpr": "",
"partitions": 0,
"partitionKeyAlgorithm": "",
"subPartitionBy": "",
"subPartitionByExpr": "",
"subPartitions": 0,
"subPartitionKeyAlgorithm": "",
"fields": [
{
"objectType": "TableField_MYSQL",
"name": "id",
"type": "int",
"length": 11,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": false,
"defaultType": "Others",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "主键id",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "id"
},
{
"objectType": "TableField_MYSQL",
"name": "rubbish_number",
"type": "varchar",
"length": 20,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "垃圾站编号",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "rubbish_number"
},
{
"objectType": "TableField_MYSQL",
"name": "user_name",
"type": "varchar",
"length": 20,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "负责人姓名",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "user_name"
},
{
"objectType": "TableField_MYSQL",
"name": "street",
"type": "varchar",
"length": 255,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "所属街道",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "street"
},
{
"objectType": "TableField_MYSQL",
"name": "community",
"type": "varchar",
"length": 255,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "所属社区",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "community"
},
{
"objectType": "TableField_MYSQL",
"name": "live_time",
"type": "int",
"length": 11,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "直播时间",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "live_time"
},
{
"objectType": "TableField_MYSQL",
"name": "click_time",
"type": "int",
"length": 11,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "点播时间",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "click_time"
},
{
"objectType": "TableField_MYSQL",
"name": "remark",
"type": "varchar",
"length": 255,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "latin1",
"collation": "latin1_swedish_ci",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "备注",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "remark"
},
{
"objectType": "TableField_MYSQL",
"name": "status",
"type": "int",
"length": 2,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "状态 :0:再用 1:弃用",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "status"
},
{
"objectType": "TableField_MYSQL",
"name": "is_delete",
"type": "int",
"length": 2,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "是否删除 0:正常 1:删除",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "is_delete"
},
{
"objectType": "TableField_MYSQL",
"name": "create_time",
"type": "datetime",
"length": 0,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "创建时间",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "create_time"
},
{
"objectType": "TableField_MYSQL",
"name": "update_time",
"type": "datetime",
"length": 0,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "更新时间",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "update_time"
}
],
"indexes": [],
"primaryKey": {
"objectType": "PrimaryKey_MYSQL",
"name": "",
"fields": [
{
"objectType": "IndexField_MYSQL",
"name": "id",
"keyLength": 0,
"order": "",
"oldName": "id"
}
],
"oldName": "",
"indexMethod": "BTREE",
"comment": ""
},
"foreignKeys": [],
"triggers": [],
"tablePartitions": []
}
],
"views": []
}
]
},
"diagrams": [
{
"name": "Diagram 1",
"paperWidth": 1,
"paperHeight": 1,
"tableFont": "Arial Unicode MS",
"tableFontSize": 14,
"isBalckWhite": false,
"showDBSchemaName": false,
"showViewRelations": true,
"notation": "default",
"showFieldComment": false,
"showTableComment": false,
"shapes": [
{
"type": "table",
"schemaName": "ljfl",
"tableName": "camera",
"x": 240,
"y": 0,
"width": 214,
"height": 310,
"isBold": false,
"titleColor": {
"r": 55,
"g": 131,
"b": 192,
"a": 1
}
},
{
"type": "table",
"schemaName": "ljfl",
"tableName": "resident",
"x": 20,
"y": 300,
"width": 187,
"height": 250,
"isBold": false,
"titleColor": {
"r": 55,
"g": 131,
"b": 192,
"a": 1
}
},
{
"type": "table",
"schemaName": "ljfl",
"tableName": "rubbish",
"x": 10,
"y": 0,
"width": 204,
"height": 290,
"isBold": false,
"titleColor": {
"r": 55,
"g": 131,
"b": 192,
"a": 1
}
}
],
"layers": [],
"relations": [],
"viewRelations": []
}
]
}
\ No newline at end of file
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