| | |
| | | package cn.huge.module.ctuser.service; |
| | | |
| | | import cn.huge.base.common.exception.MethodException; |
| | | import cn.huge.base.common.exception.ServiceException; |
| | | import cn.huge.base.common.utils.DateUtils; |
| | | import cn.huge.base.common.utils.IdUtils; |
| | | import cn.huge.base.common.utils.ObjectUtils; |
| | | import cn.huge.module.client.api.impl.UtilsClientImpl; |
| | | import cn.huge.module.constant.BaseConsts; |
| | | import cn.huge.module.ctuser.dao.mapper.CtUserMapper; |
| | | import cn.huge.module.ctuser.domain.po.CtUser; |
| | | import cn.huge.module.cust.constant.UserBaseConsts; |
| | | import cn.huge.module.redis.constant.RedisKeyConsts; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.commons.collections.CollectionUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.stereotype.Service; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import org.springframework.data.domain.PageImpl; |
| | | import org.springframework.data.domain.PageRequest; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.DigestUtils; |
| | | |
| | | import javax.annotation.PostConstruct; |
| | | import java.util.Date; |
| | |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class CtUserService extends ServiceImpl<CtUserMapper, CtUser>{ |
| | | |
| | | @Autowired |
| | | private RedisTemplate<String, Object> redisTemplate; |
| | | |
| | | @Autowired |
| | | private CtUserMapper mapper; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 新增或更新对象 |
| | | * @param ctUser 实体对象 |
| | | */ |
| | | public void saveCtUser(CtUser ctUser){ |
| | | * 新增对象 |
| | | * @param ctUser 实体对象 |
| | | */ |
| | | public void saveToRedis(CtUser ctUser){ |
| | | try{ |
| | | Date nowDate = DateUtils.getMowDate(); |
| | | // 判断是否新增 |
| | | if (IdUtils.checkNewId(ctUser.getId())){ |
| | | ctUser.setId(utilsClient.getNewTimeId()); |
| | | ctUser.setCreateTime(nowDate); |
| | | } |
| | | ctUser.setUpdateTime(nowDate); |
| | | this.saveOrUpdate(ctUser); |
| | | mapper.insert(ctUser); |
| | | // 清楚redis缓存 |
| | | String key = RedisKeyConsts.CTUSER + ctUser.getId(); |
| | | redisTemplate.delete(key); |
| | | // 重新set |
| | | redisTemplate.opsForValue().set(key, ctUser); |
| | | }catch (Exception e){ |
| | | log.error("[CtUserService.saveCtUser]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CtUserService.saveCtUser", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 更新对象 |
| | | * @param ctUser 实体对象 |
| | | */ |
| | | public void updateToRedis(CtUser ctUser){ |
| | | try{ |
| | | mapper.updateById(ctUser); |
| | | // 清楚redis缓存 |
| | | String key = RedisKeyConsts.CTUSER + ctUser.getId(); |
| | | redisTemplate.delete(key); |
| | | // 重新set |
| | | redisTemplate.opsForValue().set(key, ctUser); |
| | | }catch (Exception e){ |
| | | log.error("[CtUserService.saveCtUser]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CtUserService.saveCtUser", e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据id查询 |
| | | * @param id 编号 |
| | | * @return |
| | | */ |
| | | public CtUser getByIdFromRedis(String id){ |
| | | String key = RedisKeyConsts.CTUSER + id; |
| | | // 从redis获取 |
| | | CtUser ctUser = (CtUser) redisTemplate.opsForValue().get(key); |
| | | if (ObjectUtils.isEmpty(ctUser)){ |
| | | ctUser = mapper.selectById(id); |
| | | if (ObjectUtils.isNotEmpty(ctUser)){ |
| | | redisTemplate.opsForValue().set(key, ctUser); |
| | | } |
| | | } |
| | | return ctUser; |
| | | } |
| | | |
| | | /** |
| | | * web端-人员信息管理-新增/新用户信息 |
| | | * @param ctUser |
| | | * @param userId |
| | | */ |
| | | public void webSaveCtUser(CtUser ctUser, String userId) { |
| | | try { |
| | | // 获取当前登录用户 |
| | | CtUser loginUser = this.getByIdFromRedis(userId); |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | |
| | | } catch (Exception e) { |
| | | log.error("service方法[CtUserService.webSaveCtUser]调用异常:" + e, e); |
| | | throw new MethodException(e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | } |