package com.moral.api.pojo.form.user; 
 | 
  
 | 
import com.fasterxml.jackson.annotation.JsonFormat; 
 | 
import com.moral.api.entity.User; 
 | 
import com.moral.api.pojo.dto.user.UserDTO; 
 | 
import com.moral.constant.ResponseCodeEnum; 
 | 
import com.moral.util.AESUtils; 
 | 
import com.moral.util.DateUtils; 
 | 
import com.moral.util.MD5Utils; 
 | 
import com.moral.util.RegexUtils; 
 | 
import lombok.Data; 
 | 
import org.springframework.format.annotation.DateTimeFormat; 
 | 
import org.springframework.util.ObjectUtils; 
 | 
  
 | 
import java.util.Date; 
 | 
  
 | 
/** 
 | 
 * @ClassName UserUpdateForm 
 | 
 * @Description TODO 
 | 
 * @Author 陈凯裕 
 | 
 * @Date 2021/4/29 13:26 
 | 
 * @Version TODO 
 | 
 **/ 
 | 
@Data 
 | 
public class UserUpdateForm { 
 | 
  
 | 
    private Integer id; 
 | 
  
 | 
    private String password; 
 | 
  
 | 
    private String email; 
 | 
  
 | 
    private String mobile; 
 | 
  
 | 
    private String wechat; 
 | 
  
 | 
    private String userName; 
 | 
  
 | 
    @DateTimeFormat(pattern = "yyyy-MM-dd") 
 | 
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") 
 | 
    private Date expireTime; 
 | 
  
 | 
    public boolean valid(){ 
 | 
        if(ObjectUtils.isEmpty(id)) 
 | 
            return false; 
 | 
        if( 
 | 
                ObjectUtils.isEmpty(password)&& 
 | 
                        ObjectUtils.isEmpty(email)&& 
 | 
                        ObjectUtils.isEmpty(mobile)&& 
 | 
                        ObjectUtils.isEmpty(wechat)&& 
 | 
                        ObjectUtils.isEmpty(expireTime) 
 | 
                ) 
 | 
            return false; 
 | 
        return true; 
 | 
    } 
 | 
  
 | 
    public User formConvertEntity(){ 
 | 
        User user = new User(); 
 | 
        user.setId(id); 
 | 
        user.setUserName(userName); 
 | 
        if (!ObjectUtils.isEmpty(password)) 
 | 
            user.setPassword(MD5Utils.saltMD5(AESUtils.decrypt(password))); 
 | 
        user.setEmail(email); 
 | 
        user.setMobile(mobile); 
 | 
        user.setWechat(wechat); 
 | 
        user.setExpireTime(DateUtils.getDateOfDay(expireTime,1)); 
 | 
        return user; 
 | 
    } 
 | 
  
 | 
    public UserDTO paramValid() { 
 | 
        UserDTO dto = new UserDTO(); 
 | 
        //判断手机号是否符合条件 
 | 
        if (!ObjectUtils.isEmpty(mobile)) { 
 | 
            if (!RegexUtils.checkMobile(mobile)) { 
 | 
                dto.setCode(ResponseCodeEnum.MOBILE_INVALID.getCode()); 
 | 
                dto.setMsg(ResponseCodeEnum.MOBILE_INVALID.getMsg()); 
 | 
                return dto; 
 | 
            } 
 | 
        } 
 | 
        //判断邮箱是否符合条件 
 | 
        if (!ObjectUtils.isEmpty(email)) { 
 | 
            if (!RegexUtils.checkEmail(email)) { 
 | 
                dto.setCode(ResponseCodeEnum.EMAIL_INVALID.getCode()); 
 | 
                dto.setMsg(ResponseCodeEnum.EMAIL_INVALID.getMsg()); 
 | 
                return dto; 
 | 
            } 
 | 
        } 
 | 
        //判断密码是否符合规则 
 | 
        if (!ObjectUtils.isEmpty(password)) { 
 | 
            if (!RegexUtils.checkPassword(AESUtils.decrypt(password))) { 
 | 
                dto.setCode(ResponseCodeEnum.PASSWORD_INVALID.getCode()); 
 | 
                dto.setMsg(ResponseCodeEnum.PASSWORD_INVALID.getMsg()); 
 | 
                return dto; 
 | 
            } 
 | 
        } 
 | 
        dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); 
 | 
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); 
 | 
        return dto; 
 | 
    } 
 | 
} 
 |