/** * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *

* http://www.apache.org/licenses/LICENSE-2.0 *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package cn.stylefeng.guns.sys.modular.rest.factory; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import cn.stylefeng.guns.sys.core.constant.state.ManagerStatus; import cn.stylefeng.guns.sys.modular.rest.entity.RestUser; import cn.stylefeng.guns.sys.modular.system.model.UserDto; import cn.stylefeng.roses.core.util.ToolUtil; import org.springframework.beans.BeanUtils; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * 用户创建工厂 * * @author fengshuonan * @date 2017-05-05 22:43 */ public class RestUserFactory { /** * 根据请求创建实体 */ public static RestUser createRestUser(UserDto userDto, String md5Password, String salt) { if (userDto == null) { return null; } else { RestUser user = new RestUser(); BeanUtils.copyProperties(userDto, user); user.setCreateTime(new Date()); user.setStatus(ManagerStatus.OK.getCode()); user.setPassword(md5Password); user.setSalt(salt); return user; } } /** * 更新user */ public static RestUser editRestUser(UserDto newUser, RestUser oldUser) { if (newUser == null || oldUser == null) { return oldUser; } else { if (ToolUtil.isNotEmpty(newUser.getAvatar())) { oldUser.setAvatar(newUser.getAvatar()); } if (ToolUtil.isNotEmpty(newUser.getName())) { oldUser.setName(newUser.getName()); } if (ToolUtil.isNotEmpty(newUser.getBirthday())) { oldUser.setBirthday(newUser.getBirthday()); } if (ToolUtil.isNotEmpty(newUser.getDeptId())) { oldUser.setDeptId(newUser.getDeptId()); } if (ToolUtil.isNotEmpty(newUser.getSex())) { oldUser.setSex(newUser.getSex()); } if (ToolUtil.isNotEmpty(newUser.getEmail())) { oldUser.setEmail(newUser.getEmail()); } if (ToolUtil.isNotEmpty(newUser.getPhone())) { oldUser.setPhone(newUser.getPhone()); } return oldUser; } } /** * 过滤不安全字段并转化为map */ public static Map removeUnSafeFieldsRest(RestUser user) { if (user == null) { return new HashMap<>(); } else { Map map = BeanUtil.beanToMap(user); map.remove("password"); map.remove("salt"); map.put("birthday", DateUtil.formatDate(user.getBirthday())); return map; } } }