1. 错误要定义枚举类

    实例:

    1. if (memberFeedback == null) {
    2. // TODO 这种定义错误枚举呀,放在home.enums.ErrorStatus,这个项目分包没分对,所有看起来怪怪的,算了
    3. // 已修正
    4. return WebResult.createFailedResult(ErrorStatus.MEMBER_FEEDBACK_ID_NULL.getCode(), ErrorStatus.MEMBER_FEEDBACK_ID_NULL.getMsg());
    5. }
    1. /*
    2. * 警告:
    3. * 本源代码所有权归广州慧扬健康科技有限公司(下称“本公司”)所有,已采取保密措施加以保护。受《中华人民共和国刑法》、
    4. * 《反不正当竞争法》和《国家工商行政管理局关于禁止侵犯商业秘密行为的若干规定》等相关法律法规的保护。未经本公司书面
    5. * 许可,任何人披露、使用或者允许他人使用本源代码,必将受到相关法律的严厉惩罚。
    6. * Warning:
    7. * The ownership of this source code belongs to Guangzhou Wisefly Technology Co., Ltd.(hereinafter referred to as "the company"),
    8. * which is protected by the criminal law of the People's Republic of China, the anti unfair competition law and the
    9. * provisions of the State Administration for Industry and Commerce on prohibiting the infringement of business secrets, etc.
    10. * Without the written permission of the company, anyone who discloses, uses or allows others to use this source code
    11. * will be severely punished by the relevant laws.
    12. */
    13. package cn.wisefly.group.enums;
    14. /**
    15. * 用户中心错误响应报文枚举类
    16. */
    17. public enum ErrorStatus {
    18. GET_ID_FAILED(-10001, "获取雪花全局ID失败"),
    19. DB_OPERATE_FAILED(-10002, "执行数据写入操作失败"),
    20. ACCOUNT_IS_NULL(-10003, "登录账号不允许为空"),
    21. TOKEN_IS_NULL(-10004, "登录令牌不允许为空"),
    22. DATA_NULL(-10005, "待操作的数据为空"),
    23. ACCOUNT_NOT_EXISIT(-10006, "账户不存在"),
    24. ACCOUNT_PWD_ERROR(-10007, "账户或密码错误"),
    25. RANDOM_IS_NULL(-10008, "登录随机数不允许为空"),
    26. REGISTER_FAILED(-10009, "注册失败"),
    27. ACCOUNT_REGISTERED(-10010, "账户已注册"),
    28. INVALID_TOKEN(-10011, "无效token,未能找到用户信息"),
    29. ACCESSTOKEN_IS_NULL(-10012, "token为空"),
    30. NAME_IS_NULL(-10013, "姓名不允许为空"),
    31. CALL_AUTHORITY_FAILED(-10014, "调用权限中心接口失败"),
    32. MOBILE_IS_NULL(-10015, "手机不允许为空"),
    33. PWD_ERROR_OUTPASE(-10016, "超过密码错误次数"),
    34. RIGHTS_INFO_MISMATCH(-10017, "权限与用户不匹配"),
    35. ACCOUNT_LGOIN_COUNT_FULL(-10018, "该账号可登录人数已满"),
    36. ACCOUNT_LOCK(-10019, "账户被锁定,操作失败"),
    37. PASSWORD_ERROR(-10020, "密码不符合规则"),
    38. ACCOUNT_NOT_EXIST(-10021, "账户不存在"),
    39. ACCOUNT_CONTAIN_SPECIAL_CHAR(-10022, "账户包含特殊字符串"),
    40. MEMBER_FEEDBACK_ID_NULL(-10023, "feedbackId不存在"),
    41. MEMBER_FEEDBACK_STATUS_FULL(-10024, "反馈处理已存在"),
    42. ;
    43. private int code;
    44. private String msg;
    45. ErrorStatus(int code, String msg) {
    46. this.code = code;
    47. this.msg = msg;
    48. }
    49. public int getCode() {
    50. return code;
    51. }
    52. public String getMsg() {
    53. return msg;
    54. }
    55. }
    1. 判空

    list != null && list.size() > 0 => .size()应该放到后面,否则.size()会空指针,注意顺序,判空要利用工具类
    实例:

    1. CollectionUtils.isNotEmpty(feedbackProcessingImageDTOList)
    1. 常量定义枚举类

    实例:

    1. //更改反馈状态 TODO 定义常量枚举,不要直接用 1
    2. // 已修正
    3. memberFeedback.setStatus(FeedbackCode.FEEDBACK_PROCESSED);
    1. package cn.wisefly.common.constant;
    2. /**
    3. * 反馈状态码
    4. *
    5. * @author :0391
    6. * @date :Created in 2021-08-26
    7. */
    8. public class FeedbackCode {
    9. /**
    10. * 反馈未处理
    11. */
    12. public static final int FEEDBACK_NOT_PROCESSED = 0;
    13. /**
    14. * 反馈已回复
    15. */
    16. public static final int FEEDBACK_PROCESSED = 1;
    17. }
    1. model类中已经自动生成了常量,不需要直接使用字符串

    实例:

    1. // TODO 这里就不要用直接用字符串啦,你会发现 TMemberFeedback 这个类里面,已经生成了静态常量给你用了
    2. // 已修正
    3. if (param.getPhoneNumber() != null) {
    4. queryWrapper.like(TMemberFeedback.FIELD_PHONE_NUMBER, param.getPhoneNumber());
    5. }
    1. package cn.wisefly.advice.model;
    2. import cn.wisefly.framework.common.dto.helper.LongJsonDeserializer;
    3. import cn.wisefly.framework.common.dto.helper.LongJsonSerializer;
    4. import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
    5. import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    6. import io.swagger.annotations.ApiModel;
    7. import io.swagger.annotations.ApiModelProperty;
    8. import java.util.Date;
    9. import lombok.AllArgsConstructor;
    10. import lombok.Builder;
    11. import lombok.Data;
    12. import lombok.NoArgsConstructor;
    13. /**
    14. * 用户反馈表
    15. *
    16. * @author admin
    17. * @date 2021-08-13 10:46:40.000
    18. **/
    19. @Data
    20. @NoArgsConstructor
    21. @AllArgsConstructor
    22. @Builder
    23. @ApiModel(value = "用户反馈表")
    24. public class TMemberFeedback {
    25. public static final String FIELD_ID = "id";
    26. public static final String FIELD_MEMBER_ID = "member_id";
    27. public static final String FIELD_MEMBER_NAME = "member_name";
    28. public static final String FIELD_PHONE_NUMBER = "phone_number";
    29. public static final String FIELD_TYPE = "type";
    30. public static final String FIELD_SUBMIT_DATE = "submit_date";
    31. public static final String FIELD_TITLE = "title";
    32. public static final String FIELD_CONTENT = "content";
    33. public static final String FIELD_STATUS = "status";
    34. public static final String FIELD_CREATE_USER_ID = "create_user_id";
    35. public static final String FIELD_CREATE_USER_NAME = "create_user_name";
    36. public static final String FIELD_CREATE_TIME = "create_time";
    37. public static final String FIELD_LAST_USER_ID = "last_user_id";
    38. public static final String FIELD_LAST_USER_NAME = "last_user_name";
    39. public static final String FIELD_LAST_TIME = "last_time";
    40. public static final String FIELD_DELETE_FLAG = "delete_flag";
    41. /**
    42. * 主键
    43. */
    44. @ApiModelProperty(value = "主键")
    45. @JsonSerialize(using = LongJsonSerializer.class)
    46. @JsonDeserialize(using = LongJsonDeserializer.class)
    47. private Long id;
    48. /**
    49. * 用户id
    50. */
    51. @ApiModelProperty(value = "用户id")
    52. private Long memberId;
    53. /**
    54. * 用户匿名后的姓名
    55. */
    56. @ApiModelProperty(value = "用户匿名后的姓名")
    57. private String memberName;
    58. /**
    59. * 手机号
    60. */
    61. @ApiModelProperty(value = "手机号")
    62. private Long phoneNumber;
    63. /**
    64. * 反馈类型
    65. */
    66. @ApiModelProperty(value = "反馈类型")
    67. private Integer type;
    68. /**
    69. * 提交日期
    70. */
    71. @ApiModelProperty(value = "提交日期")
    72. private Date submitDate;
    73. /**
    74. * 标题
    75. */
    76. private String title;
    77. /**
    78. * 内容
    79. */
    80. @ApiModelProperty(value = "内容")
    81. private String content;
    82. /**
    83. * 状态
    84. */
    85. @ApiModelProperty(value = "状态")
    86. private Integer status;
    87. /**
    88. * 创建人
    89. */
    90. @ApiModelProperty(value = "创建人", hidden = true)
    91. @JsonSerialize(using = LongJsonSerializer.class)
    92. @JsonDeserialize(using = LongJsonDeserializer.class)
    93. private Long createUserId;
    94. /**
    95. * 创建人姓名
    96. */
    97. @ApiModelProperty(value = "创建人姓名", hidden = true)
    98. private String createUserName;
    99. /**
    100. * 创建时间
    101. */
    102. @ApiModelProperty(value = "创建时间", hidden = true)
    103. private Date createTime;
    104. /**
    105. * 最后修改人
    106. */
    107. @ApiModelProperty(value = "最后修改人", hidden = true)
    108. @JsonSerialize(using = LongJsonSerializer.class)
    109. @JsonDeserialize(using = LongJsonDeserializer.class)
    110. private Long lastUserId;
    111. /**
    112. * 最后修改人
    113. */
    114. @ApiModelProperty(value = "最后修改人", hidden = true)
    115. private String lastUserName;
    116. /**
    117. * 最后修改时间
    118. */
    119. @ApiModelProperty(value = "最后修改时间", hidden = true)
    120. private Date lastTime;
    121. /**
    122. * 是否删除(1是,0否)
    123. */
    124. @ApiModelProperty(value = "是否删除(1是,0否)", hidden = true)
    125. private Integer deleteFlag;
    126. }
    1. Mybatis语法
    2. 日期类 Calendar

    实例:

    1. Calendar calendar = Calendar.getInstance();
    2. //设置日期为昨天
    3. calendar.add(Calendar.DATE, -1);
    4. //设置为0h 0min 0s
    5. calendar.set(Calendar.HOUR_OF_DAY, 0);
    6. calendar.set(Calendar.MINUTE, 0);
    7. calendar.set(Calendar.SECOND, 0);
    8. calendar.set(Calendar.MILLISECOND, 0);

    7.IDE 的 text file encoding 设置为 UTF-8; IDE 中文件的换行符使用 Unix 格式,不要使用 Windows 格式