- 错误要定义枚举类
实例:
if (memberFeedback == null) {// TODO 这种定义错误枚举呀,放在home.enums.ErrorStatus,这个项目分包没分对,所有看起来怪怪的,算了// 已修正return WebResult.createFailedResult(ErrorStatus.MEMBER_FEEDBACK_ID_NULL.getCode(), ErrorStatus.MEMBER_FEEDBACK_ID_NULL.getMsg());}
/** 警告:* 本源代码所有权归广州慧扬健康科技有限公司(下称“本公司”)所有,已采取保密措施加以保护。受《中华人民共和国刑法》、* 《反不正当竞争法》和《国家工商行政管理局关于禁止侵犯商业秘密行为的若干规定》等相关法律法规的保护。未经本公司书面* 许可,任何人披露、使用或者允许他人使用本源代码,必将受到相关法律的严厉惩罚。* Warning:* The ownership of this source code belongs to Guangzhou Wisefly Technology Co., Ltd.(hereinafter referred to as "the company"),* which is protected by the criminal law of the People's Republic of China, the anti unfair competition law and the* provisions of the State Administration for Industry and Commerce on prohibiting the infringement of business secrets, etc.* Without the written permission of the company, anyone who discloses, uses or allows others to use this source code* will be severely punished by the relevant laws.*/package cn.wisefly.group.enums;/*** 用户中心错误响应报文枚举类*/public enum ErrorStatus {GET_ID_FAILED(-10001, "获取雪花全局ID失败"),DB_OPERATE_FAILED(-10002, "执行数据写入操作失败"),ACCOUNT_IS_NULL(-10003, "登录账号不允许为空"),TOKEN_IS_NULL(-10004, "登录令牌不允许为空"),DATA_NULL(-10005, "待操作的数据为空"),ACCOUNT_NOT_EXISIT(-10006, "账户不存在"),ACCOUNT_PWD_ERROR(-10007, "账户或密码错误"),RANDOM_IS_NULL(-10008, "登录随机数不允许为空"),REGISTER_FAILED(-10009, "注册失败"),ACCOUNT_REGISTERED(-10010, "账户已注册"),INVALID_TOKEN(-10011, "无效token,未能找到用户信息"),ACCESSTOKEN_IS_NULL(-10012, "token为空"),NAME_IS_NULL(-10013, "姓名不允许为空"),CALL_AUTHORITY_FAILED(-10014, "调用权限中心接口失败"),MOBILE_IS_NULL(-10015, "手机不允许为空"),PWD_ERROR_OUTPASE(-10016, "超过密码错误次数"),RIGHTS_INFO_MISMATCH(-10017, "权限与用户不匹配"),ACCOUNT_LGOIN_COUNT_FULL(-10018, "该账号可登录人数已满"),ACCOUNT_LOCK(-10019, "账户被锁定,操作失败"),PASSWORD_ERROR(-10020, "密码不符合规则"),ACCOUNT_NOT_EXIST(-10021, "账户不存在"),ACCOUNT_CONTAIN_SPECIAL_CHAR(-10022, "账户包含特殊字符串"),MEMBER_FEEDBACK_ID_NULL(-10023, "feedbackId不存在"),MEMBER_FEEDBACK_STATUS_FULL(-10024, "反馈处理已存在"),;private int code;private String msg;ErrorStatus(int code, String msg) {this.code = code;this.msg = msg;}public int getCode() {return code;}public String getMsg() {return msg;}}
- 判空
list != null && list.size() > 0 => .size()应该放到后面,否则.size()会空指针,注意顺序,判空要利用工具类
实例:
CollectionUtils.isNotEmpty(feedbackProcessingImageDTOList)
- 常量定义枚举类
实例:
//更改反馈状态 TODO 定义常量枚举,不要直接用 1// 已修正memberFeedback.setStatus(FeedbackCode.FEEDBACK_PROCESSED);
package cn.wisefly.common.constant;/*** 反馈状态码** @author :0391* @date :Created in 2021-08-26*/public class FeedbackCode {/*** 反馈未处理*/public static final int FEEDBACK_NOT_PROCESSED = 0;/*** 反馈已回复*/public static final int FEEDBACK_PROCESSED = 1;}
- model类中已经自动生成了常量,不需要直接使用字符串
实例:
// TODO 这里就不要用直接用字符串啦,你会发现 TMemberFeedback 这个类里面,已经生成了静态常量给你用了// 已修正if (param.getPhoneNumber() != null) {queryWrapper.like(TMemberFeedback.FIELD_PHONE_NUMBER, param.getPhoneNumber());}
package cn.wisefly.advice.model;import cn.wisefly.framework.common.dto.helper.LongJsonDeserializer;import cn.wisefly.framework.common.dto.helper.LongJsonSerializer;import com.fasterxml.jackson.databind.annotation.JsonDeserialize;import com.fasterxml.jackson.databind.annotation.JsonSerialize;import io.swagger.annotations.ApiModel;import io.swagger.annotations.ApiModelProperty;import java.util.Date;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;/*** 用户反馈表** @author admin* @date 2021-08-13 10:46:40.000**/@Data@NoArgsConstructor@AllArgsConstructor@Builder@ApiModel(value = "用户反馈表")public class TMemberFeedback {public static final String FIELD_ID = "id";public static final String FIELD_MEMBER_ID = "member_id";public static final String FIELD_MEMBER_NAME = "member_name";public static final String FIELD_PHONE_NUMBER = "phone_number";public static final String FIELD_TYPE = "type";public static final String FIELD_SUBMIT_DATE = "submit_date";public static final String FIELD_TITLE = "title";public static final String FIELD_CONTENT = "content";public static final String FIELD_STATUS = "status";public static final String FIELD_CREATE_USER_ID = "create_user_id";public static final String FIELD_CREATE_USER_NAME = "create_user_name";public static final String FIELD_CREATE_TIME = "create_time";public static final String FIELD_LAST_USER_ID = "last_user_id";public static final String FIELD_LAST_USER_NAME = "last_user_name";public static final String FIELD_LAST_TIME = "last_time";public static final String FIELD_DELETE_FLAG = "delete_flag";/*** 主键*/@ApiModelProperty(value = "主键")@JsonSerialize(using = LongJsonSerializer.class)@JsonDeserialize(using = LongJsonDeserializer.class)private Long id;/*** 用户id*/@ApiModelProperty(value = "用户id")private Long memberId;/*** 用户匿名后的姓名*/@ApiModelProperty(value = "用户匿名后的姓名")private String memberName;/*** 手机号*/@ApiModelProperty(value = "手机号")private Long phoneNumber;/*** 反馈类型*/@ApiModelProperty(value = "反馈类型")private Integer type;/*** 提交日期*/@ApiModelProperty(value = "提交日期")private Date submitDate;/*** 标题*/private String title;/*** 内容*/@ApiModelProperty(value = "内容")private String content;/*** 状态*/@ApiModelProperty(value = "状态")private Integer status;/*** 创建人*/@ApiModelProperty(value = "创建人", hidden = true)@JsonSerialize(using = LongJsonSerializer.class)@JsonDeserialize(using = LongJsonDeserializer.class)private Long createUserId;/*** 创建人姓名*/@ApiModelProperty(value = "创建人姓名", hidden = true)private String createUserName;/*** 创建时间*/@ApiModelProperty(value = "创建时间", hidden = true)private Date createTime;/*** 最后修改人*/@ApiModelProperty(value = "最后修改人", hidden = true)@JsonSerialize(using = LongJsonSerializer.class)@JsonDeserialize(using = LongJsonDeserializer.class)private Long lastUserId;/*** 最后修改人*/@ApiModelProperty(value = "最后修改人", hidden = true)private String lastUserName;/*** 最后修改时间*/@ApiModelProperty(value = "最后修改时间", hidden = true)private Date lastTime;/*** 是否删除(1是,0否)*/@ApiModelProperty(value = "是否删除(1是,0否)", hidden = true)private Integer deleteFlag;}
- Mybatis语法
- 日期类 Calendar
实例:
Calendar calendar = Calendar.getInstance();//设置日期为昨天calendar.add(Calendar.DATE, -1);//设置为0h 0min 0scalendar.set(Calendar.HOUR_OF_DAY, 0);calendar.set(Calendar.MINUTE, 0);calendar.set(Calendar.SECOND, 0);calendar.set(Calendar.MILLISECOND, 0);
7.IDE 的 text file encoding 设置为 UTF-8; IDE 中文件的换行符使用 Unix 格式,不要使用 Windows 格式
