Commit b4dd76ee authored by liming's avatar liming

feat(初始化项目): 增加通用代码

parent 164408e0
package com.antai.sport.http.server.common.service;
import com.antai.sport.http.server.repository.sys.entity.SysCodeDetail;
import com.antai.sport.http.server.common.vo.SysCodeDetailVO;
import com.antai.sport.http.server.repository.sys.mapper.SysCodeDetailMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class CommonCodeService {
@Resource
private SysCodeDetailMapper sysCodeDetailMapper;
public Map<String, List<SysCodeDetailVO>> getCodeByTypes(String... codeType) {
QueryWrapper<SysCodeDetail> queryWrapper = new QueryWrapper<>();
queryWrapper.in("type_code", codeType);
List<SysCodeDetail> detailList = sysCodeDetailMapper.selectList(queryWrapper);
return process(detailList);
}
private Map<String, List<SysCodeDetailVO>> process(List<SysCodeDetail> detailList) {
Map<String, List<SysCodeDetailVO>> resultMap = null;
if (detailList != null && detailList.size() > 0) {
resultMap = new HashMap<>(detailList.size());
for (SysCodeDetail item : detailList) {
if (!resultMap.containsKey(item.getTypeCode())) {
resultMap.put(item.getTypeCode(), new ArrayList<>());
}
resultMap.get(item.getTypeCode()).add(new SysCodeDetailVO(item));
}
}
return resultMap;
}
}
package com.antai.sport.http.server.common.vo;
import com.antai.sport.http.server.repository.sys.entity.SysCodeDetail;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author liming
* @Date 2021/8/23 14:12
* @Email lmmax@126.com
* @Description:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("通用代码")
public class SysCodeDetailVO {
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("值")
private Integer value;
public SysCodeDetailVO(SysCodeDetail code) {
this.name = code.getName();
this.value = code.getValueInt();
}
}
package com.antai.sport.http.server.constants;
/**
* @Author liming
* @Date 2021/8/23 14:34
* @Email lmmax@126.com
* @Description:
*/
public class SysCodeConstants {
public static final String SEX = "SYS0001";
}
......@@ -3,6 +3,7 @@ package com.antai.sport.http.server.game.api.business.sport.user;
import com.antai.sport.http.server.common.base.Result;
import com.antai.sport.http.server.game.api.business.sport.user.dto.ReqLogin;
import com.antai.sport.http.server.game.api.business.sport.user.dto.RespLogin;
import com.antai.sport.http.server.game.api.business.sport.user.dto.RespRegisterInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.http.ResponseEntity;
......@@ -37,4 +38,10 @@ public class SportUserController {
sportUserService.sendLoginSmsCaptcha(phone);
return success();
}
@ApiOperation(value = "获取基本信息")
@GetMapping("/register/info")
public ResponseEntity<Result<RespRegisterInfo>> getRegisterInfo() {
return success(sportUserService.getRegisterInfo());
}
}
......@@ -5,12 +5,16 @@ import com.antai.sport.http.server.common.base.Result;
import com.antai.sport.http.server.common.exception.BusinessException;
import com.antai.sport.http.server.common.jwt.TokenService;
import com.antai.sport.http.server.common.jwt.TokenVO;
import com.antai.sport.http.server.common.service.CommonCodeService;
import com.antai.sport.http.server.common.service.CommonSmsService;
import com.antai.sport.http.server.common.util.RandomUtil;
import com.antai.sport.http.server.common.vo.SysCodeDetailVO;
import com.antai.sport.http.server.constants.DeleteStatus;
import com.antai.sport.http.server.constants.LoginMode;
import com.antai.sport.http.server.constants.SysCodeConstants;
import com.antai.sport.http.server.game.api.business.sport.user.dto.ReqLogin;
import com.antai.sport.http.server.game.api.business.sport.user.dto.RespLogin;
import com.antai.sport.http.server.game.api.business.sport.user.dto.RespRegisterInfo;
import com.antai.sport.http.server.repository.sport.entity.SportUser;
import com.antai.sport.http.server.repository.sport.mapper.SportUserMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -23,6 +27,7 @@ import org.springframework.util.DigestUtils;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
......@@ -45,6 +50,8 @@ public class SportUserService {
@Resource
private CommonSmsService commonSmsService;
@Resource
private CommonCodeService commonCodeService;
@Resource
private RedisTemplate<String, Object> redisTemplate;
public Result<RespLogin> login(ReqLogin param) {
......@@ -125,4 +132,16 @@ public class SportUserService {
redisTemplate.opsForValue().set(loginSmsCaptchaRedisKey + phone, code, loginSmsCaptchaExpire, TimeUnit.SECONDS);
}
/**
* 获取注册页面基础数据
*
* @return
*/
public RespRegisterInfo getRegisterInfo() {
RespRegisterInfo respRegisterInfo = new RespRegisterInfo();
Map<String, List<SysCodeDetailVO>> codeMap = commonCodeService.getCodeByTypes(SysCodeConstants.SEX);
respRegisterInfo.setSexCode(codeMap.get(SysCodeConstants.SEX));
return respRegisterInfo;
}
}
package com.antai.sport.http.server.game.api.business.sport.user.dto;
import com.antai.sport.http.server.common.vo.SysCodeDetailVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author liming
* @Date 2021/8/23 14:42
* @Email lmmax@126.com
* @Description:
*/
@Data
public class RespRegisterInfo {
@ApiModelProperty("性别数据字典")
private List<SysCodeDetailVO> sexCode;
}
......@@ -68,3 +68,9 @@ aliyun:
time-out: 1000
template-code:
login: SMS_136440120 #登录确认验证码
mybatis-plus:
global-config:
db-config:
logic-delete-value: 1
logic-not-delete-value: 0
\ No newline at end of file
package com.antai.sport.http.server.repository.sys.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* <p>
* 字典表详情
* </p>
*
* @author liming
* @since 2021-08-23
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class SysCodeDetail implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 字典类型编号
*/
private String typeCode;
/**
* 字典名称
*/
private String name;
/**
* 整数类型值
*/
private Integer valueInt;
/**
* 最小值范围
*/
private BigDecimal valueMin;
/**
* 最大值范围
*/
private BigDecimal valueMax;
/**
* 字符串类型值
*/
private String valueStr;
/**
* 适用对象id 用于组织隔离权限id
*/
private Long objectId;
/**
* 备注
*/
private String remark;
/**
* 排序号
*/
private Integer showOrder;
/**
* 删除标记
*/
@TableLogic
private Integer deleted;
/**
* 数据版本号
*/
private Integer version;
/**
* 创建部门
*/
private Long ctDeptId;
/**
* 创建人
*/
private Long ctUserId;
/**
* 创建时间
*/
private LocalDateTime ctDate;
/**
* 最后修改人
*/
private Long lmUserId;
/**
* 最后修改时间
*/
private LocalDateTime lmDate;
}
package com.antai.sport.http.server.repository.sys.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 字典类型表
* </p>
*
* @author liming
* @since 2021-08-23
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class SysCodeType implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 编号
*/
private String code;
/**
* 名称
*/
private String name;
/**
* 类型 1:系统默认 2:非系统默认
*/
private Integer type;
/**
* 备用 1:全局 2:组织隔离
*/
private Integer shareStatus;
/**
* 备注
*/
private String remark;
/**
* 排序号
*/
private Integer showOrder;
/**
* 删除标记
*/
@TableLogic
private Integer deleted;
/**
* 数据版本号
*/
private Integer version;
/**
* 创建部门
*/
private Long ctDeptId;
/**
* 创建人
*/
private Long ctUserId;
/**
* 创建时间
*/
private LocalDateTime ctDate;
/**
* 最后修改人
*/
private Long lmUserId;
/**
* 最后修改时间
*/
private LocalDateTime lmDate;
}
package com.antai.sport.http.server.repository.sys.mapper;
import com.antai.sport.http.server.repository.sys.entity.SysCodeDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 字典表详情 Mapper 接口
* </p>
*
* @author liming
* @since 2021-08-23
*/
public interface SysCodeDetailMapper extends BaseMapper<SysCodeDetail> {
}
package com.antai.sport.http.server.repository.sys.mapper;
import com.antai.sport.http.server.repository.sys.entity.SysCodeType;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 字典类型表 Mapper 接口
* </p>
*
* @author liming
* @since 2021-08-23
*/
public interface SysCodeTypeMapper extends BaseMapper<SysCodeType> {
}
<?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.antai.sport.http.server.repository.sys.mapper.SysCodeDetailMapper">
</mapper>
<?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.antai.sport.http.server.repository.sys.mapper.SysCodeTypeMapper">
</mapper>
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