Commit 8a2860f6 by ypenglv
2 parents b04eadb0 65fe01cd
package org.nafmii.admin.user.controller;
import com.github.pagehelper.PageHelper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.nafmii.admin.user.param.EditMenuParam;
import org.nafmii.admin.user.param.QueryMenusParam;
import org.nafmii.admin.user.service.ICenterMenuService;
import org.nafmii.admin.user.vo.CenterMenuVO;
import org.nafmii.common.param.BeanTransferUtils;
import org.nafmii.common.param.PageResult;
import org.nafmii.common.response.ApiResponse;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* <p>
* 中心端菜单表 前端控制器
* </p>
*
* @author suncq
* @since 2021-04-28
*/
@RestController
@RequestMapping("/nafmii/admin/menu")
@Api(tags = "3.0.0", description = "中心端菜单接口")
public class CenterMenuController {
@Resource
private ICenterMenuService centerMenuService;
@ApiOperation( value = "中心端新增修改菜单",notes = "中心端新增修改菜单")
@PostMapping("/edit")
@ResponseBody
public ApiResponse editMenus (@RequestBody @Validated EditMenuParam param){
ApiResponse result = centerMenuService.editMenu(param);
return result;
}
@ApiOperation( value = "中心端菜单列表查询",notes = "中心端菜单列表查询")
@PostMapping("/queryMenuList")
@ResponseBody
public ApiResponse<List<CenterMenuVO>> queryMenuList (@RequestBody @Validated QueryMenusParam param){
PageHelper.startPage(param.getPageNum(),param.getPageSize());
PageResult<CenterMenuVO> result =
BeanTransferUtils.toPagedResult(centerMenuService.queryMenuList(param), CenterMenuVO.class);
return new ApiResponse(result);
}
@ApiOperation( value = "中心端菜单删除",notes = "中心端菜单删除")
@PostMapping("/delete")
@ResponseBody
public ApiResponse deleteMenus(@RequestParam Long[] ids){
ApiResponse result = centerMenuService.deleteMenus(ids);
return result;
}
@ApiOperation( value = "中心端用户对应菜单查询",notes = "中心端用户对应菜单查询")
@PostMapping("/queryUserMenus")
@ResponseBody
public ApiResponse queryUserMenus (){
ApiResponse result = centerMenuService.queryUserMenus();
return result;
}
}
package org.nafmii.admin.user.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nafmii.admin.user.dto.QueryMenusDto;
import org.nafmii.admin.user.entity.CenterMenuPO;
import org.nafmii.admin.user.vo.CenterMenuVO;
import java.util.List;
/**
* <p>
* 中心端菜单表 Mapper 接口
* </p>
*
* @author suncq
* @since 2021-04-28
*/
public interface CenterMenuMapper extends BaseMapper<CenterMenuPO> {
/**
* @author:suncq
* @Function:中心端菜单新增修改
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
int updateMenuById(CenterMenuPO centerMenuPO);
/**
* @author:suncq
* @Function:中心端菜单列表查询
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
List<CenterMenuVO> queryMenuList(QueryMenusDto dto);
/**
* @author:suncq
* @Function:中心端菜单删除
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
int deleteMenus(Long[] ids);
/**
* @author:suncq
* @Function:中心端用户对应菜单查询
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
List<CenterMenuVO> queryUserMenus(Long userid);
}
package org.nafmii.admin.user.dto;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* <p>
* 中心端菜单表
* </p>
*
* @author suncq
* @since 2021-04-28
*/
@Data
@ApiModel("中心端菜单参数对象")
public class CenterMenuDTO extends Model {
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "菜单名称")
private String menuName;
@ApiModelProperty(value = "菜单级别")
private Integer menuLevle;
@ApiModelProperty(value = "父级主键")
private Long parentId;
@ApiModelProperty(value = "排序字段")
private Integer orderSeq;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
@ApiModelProperty(value = "启用禁用 0 启用 1 禁用")
private String isEnable;
@ApiModelProperty(value = "创建人")
private Long createUserId;
@ApiModelProperty(value = "修改人")
private Long updateUserId;
}
package org.nafmii.admin.user.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.nafmii.common.param.PageQuery;
import java.time.LocalDate;
/**
* @author lvyp
* @date 2021/4/28
*/
@Data
@ApiModel(value = "菜单列表查询数据交互类型")
public class QueryMenusDto extends PageQuery {
@ApiModelProperty(value = "创建开始时间")
private LocalDate startCreateTime;
@ApiModelProperty(value = "创建结束时间")
private LocalDate endCreateTime;
}
package org.nafmii.admin.user.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 中心端菜单表
* </p>
*
* @author suncq
* @since 2021-04-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("CENTER_MENU")
@ApiModel(value="CenterMenuPO对象", description="中心端菜单表")
public class CenterMenuPO extends Model {
private static final long serialVersionUID=1L;
@ApiModelProperty(value = "主键")
@TableId("ID")
private Long id;
@ApiModelProperty(value = "菜单名称")
@TableField("MENU_NAME")
private String menuName;
@ApiModelProperty(value = "菜单级别")
@TableField("MENU_LEVLE")
private Integer menuLevle;
@ApiModelProperty(value = "父级主键")
@TableField("PARENT_ID")
private Long parentId;
@ApiModelProperty(value = "排序字段")
@TableField("ORDER_SEQ")
private Integer orderSeq;
@ApiModelProperty(value = "创建时间")
@TableField("CREATE_TIME")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新时间")
@TableField("UPDATE_TIME")
private LocalDateTime updateTime;
@ApiModelProperty(value = "启用禁用 0 启用 1 禁用")
@TableField("IS_ENABLE")
private String isEnable;
@ApiModelProperty(value = "创建人")
@TableField("CREATE_USER_ID")
private Long createUserId;
@ApiModelProperty(value = "修改人")
@TableField("UPDATE_USER_ID")
private Long updateUserId;
}
package org.nafmii.admin.user.param;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
* <p>
* 中心端菜单表
* </p>
*
* @author suncq
* @since 2021-04-28
*/
@Data
@ApiModel(value="菜单列表新增修改入参对象")
public class EditMenuParam extends Model {
private static final long serialVersionUID=1L;
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "菜单名称")
@NotNull(message = "菜单名称不能为空")
private String menuName;
@ApiModelProperty(value = "菜单级别")
@NotNull(message = "菜单级别不能为空")
private Integer menuLevle;
@ApiModelProperty(value = "父级主键")
@NotNull(message = "父级主键不能为空")
private Long parentId;
@ApiModelProperty(value = "排序字段")
@NotNull(message = "排序字段不能为空")
private Integer orderSeq;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
@ApiModelProperty(value = "启用禁用 0 启用 1 禁用")
@NotNull(message = "启用禁用不能为空")
private String isEnable;
@ApiModelProperty(value = "创建人")
private Long createUserId;
@ApiModelProperty(value = "修改人")
private Long updateUserId;
}
package org.nafmii.admin.user.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.nafmii.common.param.PageQuery;
import java.time.LocalDate;
/**
* @author suncq
* @date 2021/4/28
*/
@Data
@ApiModel(value="菜单列表查询入参对象")
public class QueryMenusParam extends PageQuery {
@ApiModelProperty(value = "创建开始时间 yyyy-MM-dd")
private LocalDate startCreateTime;
@ApiModelProperty(value = "创建结束时间 yyyy-MM-dd")
private LocalDate endCreateTime;
}
package org.nafmii.admin.user.service;
import org.nafmii.admin.user.param.EditMenuParam;
import org.nafmii.admin.user.param.QueryMenusParam;
import org.nafmii.admin.user.vo.CenterMenuVO;
import org.nafmii.common.response.ApiResponse;
import java.util.List;
/**
* <p>
* 中心端菜单表 服务类
* </p>
*
* @author suncq
* @since 2021-04-28
*/
public interface ICenterMenuService{
/**
* @author:suncq
* @Function:中心端菜单新增修改
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
ApiResponse editMenu(EditMenuParam param);
/**
* @author:suncq
* @Function:中心端菜单查询
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
List<CenterMenuVO> queryMenuList(QueryMenusParam param);
/**
* @author:suncq
* @Function:中心端菜单删除
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
ApiResponse deleteMenus(Long[] ids);
/**
* @author:suncq
* @Function:中心端用户对应菜单查询
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
ApiResponse queryUserMenus();
}
package org.nafmii.admin.user.service.impl;
import org.nafmii.admin.user.dao.CenterMenuMapper;
import org.nafmii.admin.user.dto.QueryMenusDto;
import org.nafmii.admin.user.entity.CenterMenuPO;
import org.nafmii.admin.user.param.EditMenuParam;
import org.nafmii.admin.user.param.QueryMenusParam;
import org.nafmii.admin.user.service.ICenterMenuService;
import org.nafmii.admin.user.vo.CenterMenuVO;
import org.nafmii.common.constant.MessageEnum;
import org.nafmii.common.param.BeanTransferUtils;
import org.nafmii.common.response.ApiResponse;
import org.nafmii.common.utils.RequestUtils;
import org.nafmii.common.utils.SnowFlakeUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
* 中心端菜单表 服务实现类
* </p>
*
* @author suncq
* @since 2021-04-28
*/
@Service
public class CenterMenuServiceImpl implements ICenterMenuService {
@Resource
private CenterMenuMapper centerMenuMapper;
/**
* 中心端菜单新增修改
* @param param
* @return
*/
@Override
public ApiResponse editMenu(EditMenuParam param) {
Long menuId = param.getId();
if(null == menuId){//新增
CenterMenuPO cmp = new CenterMenuPO();
cmp.setId(SnowFlakeUtil.nextId());
cmp.setMenuName(param.getMenuName());
cmp.setMenuLevle(param.getMenuLevle());
cmp.setOrderSeq(param.getOrderSeq());
cmp.setParentId(param.getParentId());
cmp.setIsEnable(param.getIsEnable());
cmp.setCreateUserId(RequestUtils.getUserId());
cmp.setUpdateUserId(RequestUtils.getUserId());
cmp.setCreateTime(LocalDateTime.now());
cmp.setUpdateTime(LocalDateTime.now());
int i = centerMenuMapper.insert(cmp);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}else{
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT);
}
}else{//修改
CenterMenuPO cmp = new CenterMenuPO();
cmp.setId(param.getId());
cmp.setMenuName(param.getMenuName());
cmp.setMenuLevle(param.getMenuLevle());
cmp.setOrderSeq(param.getOrderSeq());
cmp.setParentId(param.getParentId());
cmp.setIsEnable(param.getIsEnable());
cmp.setUpdateUserId(param.getCreateUserId());
cmp.setUpdateTime(LocalDateTime.now());
int i = centerMenuMapper.updateMenuById(cmp);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}else{
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT);
}
}
}
/**
* 中心端菜单查询
* @param
* @return
*/
@Override
public List<CenterMenuVO> queryMenuList(QueryMenusParam param) {
QueryMenusDto dto = BeanTransferUtils.transfer(param, QueryMenusDto.class);
return centerMenuMapper.queryMenuList(dto);
}
/**
* 中心端菜单删除
* @param
* @return
*/
@Override
public ApiResponse deleteMenus(Long[] ids) {
int result = centerMenuMapper.deleteMenus(ids);
if (result < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}else{
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT);
}
}
/**
* 中心端用户对应菜单查询
* @param
* @return
*/
@Override
public ApiResponse queryUserMenus() {
Long userid = RequestUtils.getUserId();
List<CenterMenuVO> result = centerMenuMapper.queryUserMenus(userid);
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT,result);
}
}
package org.nafmii.admin.user.vo;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* <p>
* 中心端菜单表
* </p>
*
* @author suncq
* @since 2021-04-28
*/
@Data
@ApiModel("菜单返回报文")
public class CenterMenuVO extends Model {
private static final long serialVersionUID=1L;
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "菜单名称")
private String menuName;
@ApiModelProperty(value = "菜单级别")
private Integer menuLevle;
@ApiModelProperty(value = "父级主键")
private Long parentId;
@ApiModelProperty(value = "排序字段")
private Integer orderSeq;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
@ApiModelProperty(value = "启用禁用 0 启用 1 禁用")
private String isEnable;
@ApiModelProperty(value = "创建人")
private Long createUserId;
@ApiModelProperty(value = "修改人")
private Long updateUserId;
}
<?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="org.nafmii.admin.user.dao.CenterMenuMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="org.nafmii.admin.user.entity.CenterMenuPO">
<id column="ID" property="id" />
<result column="MENU_NAME" property="menuName" />
<result column="MENU_LEVLE" property="menuLevle" />
<result column="PARENT_ID" property="parentId" />
<result column="ORDER_SEQ" property="orderSeq" />
<result column="CREATE_TIME" property="createTime" />
<result column="UPDATE_TIME" property="updateTime" />
<result column="IS_ENABLE" property="isEnable" />
<result column="CREATE_USER_ID" property="createUserId" />
<result column="UPDATE_USER_ID" property="updateUserId" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
ID, MENU_NAME, MENU_LEVLE, PARENT_ID, ORDER_SEQ, CREATE_TIME, UPDATE_TIME, IS_ENABLE, CREATE_USER_ID, UPDATE_USER_ID
</sql>
<!-- 新增修改中心端角色 -->
<update id="updateMenuById" parameterType="map" >
update CENTER_MENU
<set >
<if test="menuName != null" >
MENU_NAME = #{menuName,jdbcType=VARCHAR},
</if>
<if test="menuLevle != null" >
MENU_LEVLE = #{menuLevle,jdbcType=INTEGER},
</if>
<if test="parentId != null" >
PARENT_ID = #{parentId,jdbcType=BIGINT},
</if>
<if test="orderSeq != null" >
ORDER_SEQ = #{orderSeq,jdbcType=INTEGER},
</if>
<if test="createTime != null" >
CREATE_TIME = #{createTime,jdbcType=BIGINT},
</if>
<if test="updateTime != null" >
UPDATE_TIME = #{updateTime,jdbcType=BIGINT},
</if>
<if test="isEnable != null" >
IS_ENABLE = #{isEnable,jdbcType=VARCHAR},
</if>
<if test="createUserId != null" >
CREATE_USER_ID = #{createUserId,jdbcType=BIGINT},
</if>
<if test="updateUserId != null" >
UPDATE_USER_ID = #{updateUserId,jdbcType=BIGINT},
</if>
</set>
where ID = #{id,jdbcType=BIGINT}
</update>
<!-- 查询中心端菜单 -->
<select id="queryMenuList" parameterType="org.nafmii.admin.user.dto.CenterMenuDTO"
resultType="org.nafmii.admin.user.vo.CenterMenuVO">
select
ID as id, MENU_NAME as menuName, MENU_LEVLE as menuLevle, PARENT_ID as parentId, ORDER_SEQ as orderSeq,
CREATE_TIME as createTime, UPDATE_TIME as updateTime, IS_ENABLE as isEnable, CREATE_USER_ID as createUserId,
UPDATE_USER_ID as updateUserId
from CENTER_MENU
<where>
<if test="startCreateTime != null and endCreateTime != null">
DATE_FORMAT(CREATE_TIME,'%Y-%m-%d') BETWEEN #{startCreateTime} and #{endCreateTime}
</if>
</where>
</select>
<!-- 删除中心端菜单 -->
<update id="deleteMenus">
update
CENTER_MENU
set IS_ENABLE = "1"
where
ID IN
<foreach collection="array" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<!-- 中心端用户对应菜单查询 -->
<select id="queryUserMenus" parameterType="map" resultType="org.nafmii.admin.user.vo.CenterMenuVO">
SELECT
cm.ID as id, cm.MENU_NAME as menuName, cm.MENU_LEVLE as menuLevle, cm.PARENT_ID as parentId, cm.ORDER_SEQ as orderSeq,
cm.CREATE_TIME as createTime,cm.UPDATE_TIME as updateTime, cm.IS_ENABLE as isEnable, cm.CREATE_USER_ID as createUserId,
cm.UPDATE_USER_ID as updateUserId
FROM
CENTER_MENU cm
INNER JOIN CENTER_ROLE_MENU crm ON cm.id = crm.menu_id
INNER JOIN CENTER_USER_ROLE cur ON cur.role_id = crm.role_id
INNER JOIN CENTER_USER cu ON cur.user_id = cu.id
WHERE
cu.id = #{userid,jdbcType=BIGINT}
</select>
</mapper>
......@@ -100,7 +100,7 @@ public class UserServiceImpl implements UserService {
//查询用户信息通过手机号
UserVO userVO = appUserMapper.selectByPhone(registerDto.getPhone());
if (null != userVO){
throw new BusinessException("该用户已注册");
return new ApiResponse(ApiResponse.FAIL,"该用户已注册");
}
//用户实体类
AppUserPO appUser = new AppUserPO();
......@@ -112,7 +112,7 @@ public class UserServiceImpl implements UserService {
appUser.setPhone(registerDto.getPhone());
//判断注册密码和再次输入密码
if (!registerDto.getLoginPwd().equals(registerDto.getConfirmPwd())){
throw new BusinessException("两次密码输入不相同,请再次输入");
return new ApiResponse(ApiResponse.FAIL,"两次密码输入不相同,请再次输入");
}
appUser.setLoginPwd(registerDto.getLoginPwd());
appUser.setCreateTime(LocalDateTime.now());
......@@ -125,16 +125,16 @@ public class UserServiceImpl implements UserService {
String code = stringRedisTemplate.opsForValue().get(USER_CODE_KEY+registerDto.getPhone());
log.info("冲缓存中获取的验证码===============》{}",code);
if (null == code){
throw new BusinessException("验证码已过期");
return new ApiResponse(ApiResponse.FAIL,"验证码已过期");
}
if (!code.equals(registerDto.getCode())){
throw new BusinessException("验证码错误请重新输入");
return new ApiResponse(ApiResponse.FAIL,"验证码错误请重新输入");
}
int i = appUserMapper.insert(appUser);
if (i<0){
return new ApiResponse().fail("新增失败");
return new ApiResponse(ApiResponse.FAIL,"新增失败");
}
return new ApiResponse();
return new ApiResponse(ApiResponse.SUCCESS,"新增成功");
}
/**
......@@ -152,21 +152,21 @@ public class UserServiceImpl implements UserService {
//密码登陆
userVo = appUserMapper.selectByPassword(loginDto);
if (null == userVo){
throw new BusinessException("请先注册");
return new ApiResponse(ApiResponse.FAIL,"请先注册");
}
}else{
//验证码登陆
String code = stringRedisTemplate.opsForValue().get(USER_CODE_KEY+loginDto.getPhone());
log.info("冲redis中获取的验证码===============》{}",code);
if (null == code){
throw new BusinessException("验证码已过期");
return new ApiResponse(ApiResponse.FAIL,"验证码已过期");
}
if (!code.equals(loginDto.getCode())){
throw new BusinessException("验证码错误请重新输入");
return new ApiResponse(ApiResponse.FAIL,"验证码错误请重新输入");
}
userVo = appUserMapper.selectByPhone(loginDto.getPhone());
if (null != userVo){
throw new BusinessException("请先注册");
return new ApiResponse(ApiResponse.FAIL,"请先注册");
}
}
Map<String,Object> map = new HashMap<>();
......
......@@ -162,6 +162,11 @@
<version>3.9</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.6</version>
</dependency>
<dependency>
<groupId>javax.cache</groupId>
<artifactId>cache-api</artifactId>
<version>1.1.0</version>
......
package org.nafmii.common.excle.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Excel注解定义
* Created by tianc on 17/8/25.
*/
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelField {
/**
* 导出字段名(默认调用当前字段的“get”方法,如指定导出字段为对象,请填写“对象名.对象属性”,例:“area.name”、“office.name”)
*/
String value() default "";
/**
* 导出字段标题(需要添加批注请用“**”分隔,标题**批注,仅对导出模板有效)
*/
String title();
/**
* 字段类型(0:导出导入;1:仅导出;2:仅导入)
*/
int type() default 0;
/**
* 导出字段对齐方式(0:自动;1:靠左;2:居中;3:靠右)
*/
int align() default 0;
/**
* 导出字段字段排序(升序)
*/
int sort() default 0;
/**
* 如果是字典类型,请设置字典的type值
*/
String dictType() default "";
/**
* 反射类型
*/
Class<?> fieldType() default Class.class;
/**
* 字段归属组(根据分组导出导入)
*/
int[] groups() default {};
}
package org.nafmii.common.excle;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/4/29 15:35
* @ClassName:
* @version:
* @remark:
*/
public class test {
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!