From 59e91a4e9ddaf23cebb12993c774aa899ab22d16 Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: Mon, 19 Jun 2023 14:22:45 +0800
Subject: [PATCH] 描述
---
src/main/java/com/gk/firework/Service/ServiceImpl/UserServiceImpl.java | 232 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 232 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/gk/firework/Service/ServiceImpl/UserServiceImpl.java b/src/main/java/com/gk/firework/Service/ServiceImpl/UserServiceImpl.java
new file mode 100644
index 0000000..40566aa
--- /dev/null
+++ b/src/main/java/com/gk/firework/Service/ServiceImpl/UserServiceImpl.java
@@ -0,0 +1,232 @@
+package com.gk.firework.Service.ServiceImpl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gk.firework.Config.Oauth2.OauthRole;
+import com.gk.firework.Domain.DTO.JiangWaiDeadlineReqDTO;
+import com.gk.firework.Domain.Exception.BusinessException;
+import com.gk.firework.Domain.RoleInfo;
+import com.gk.firework.Domain.UserDeadlineOperationLog;
+import com.gk.firework.Domain.UserInfo;
+import com.gk.firework.Domain.Utils.PageInfo;
+import com.gk.firework.Domain.Utils.StringUtils;
+import com.gk.firework.Domain.Vo.UserVo;
+import com.gk.firework.Mapper.UserInfoMapper;
+import com.gk.firework.Service.RoleService;
+import com.gk.firework.Service.UserDeadlineService;
+import com.gk.firework.Service.UserService;
+import com.spire.xls.BubbleSizeType;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+@Service("UserService")
+public class UserServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> implements UserService {
+
+ @Autowired
+ private UserInfoMapper userInfoMapper;
+ @Autowired
+ private RoleService roleService;
+ @Autowired
+ private UserDeadlineService userDeadlineService;
+
+
+ @Override
+ public UserVo selectByLoginname(String username) {
+ return userInfoMapper.selectByLoginname(username);
+ }
+
+ @Override
+ public List<OauthRole> selectRoleByUser(Integer userId) {
+ return userInfoMapper.selectRoleByUser(userId);
+ }
+
+ @Override
+ public void selectUserDataGrid(PageInfo pageInfo) {
+ Page<UserVo> page = new Page<>(pageInfo.getPageIndex(), pageInfo.getPageSize());
+ List<OrderItem> orderItems = new ArrayList<>();
+ OrderItem orderItem = new OrderItem();
+ if (StringUtils.isNotBlank(pageInfo.getSort()) && StringUtils.isNotBlank(pageInfo.getOrder())) {
+ orderItem.setAsc(pageInfo.getOrder().equalsIgnoreCase("ascending"));
+ orderItem.setColumn(pageInfo.getSort());
+ }else {
+ orderItem.setAsc(false);
+ orderItem.setColumn("createddate");
+ }
+ orderItems.add(orderItem);
+ page.setOrders(orderItems);
+ List<UserVo> list = userInfoMapper.selectUserDataGrid(page,pageInfo.getCondition());
+ for (UserVo userVo : list) {
+ List<RoleInfo> roleInfoList = roleService.selectRoleByUser(userVo.getId());
+ userVo.setRoles(roleInfoList);
+ }
+ pageInfo.setResult(list);
+ pageInfo.setTotalCount(page.getTotal());
+ }
+
+ @Override
+ public UserInfo selectByUser(String username) {
+ UserInfo userInfo = new UserInfo();
+ userInfo.setUsername(username);
+ userInfo.setIsdel((byte)0);
+ QueryWrapper<UserInfo> wrapper = new QueryWrapper<> (userInfo);
+ return userInfoMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<UserInfo> selectUserInfo(Long id, String username) {
+ return userInfoMapper.selectUserInfo(id,username);
+ }
+
+ @Override
+ public void deleteOneByCompanyId(Long companyId) {
+ userInfoMapper.deleteOneByCompanyId(companyId);
+ }
+
+ @Override
+ public UserInfo selectOneByCompanyId(Long companyId) {
+ LambdaQueryWrapper<UserInfo> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(UserInfo::getCompanyid, companyId)
+ .eq(UserInfo::getIsdel,(byte)0);
+ return userInfoMapper.selectOne(queryWrapper);
+ }
+
+ @Override
+ public boolean checkUserById(String userId) {
+ if (StringUtils.isBlank(userId)){
+ return false;
+ }
+ UserInfo userInfo = userInfoMapper.selectById(userId);
+ return userInfo != null;
+ }
+
+ @Override
+ public UserInfo selectSupervise(String province, String city, String district, String street, String committee) {
+ return userInfoMapper.selectSupervise(province, city, district, street, committee);
+ }
+
+ @Override
+ public UserVo selectUserVoByName(String username) {
+ return userInfoMapper.selectUserVoByName(username);
+ }
+
+ /**
+ * @Description: 根据企业id查找用户和终端机用户
+ * @date 2021/5/13 19:03
+ */
+ @Override
+ public List<UserInfo> selectByCompanyId(Long id,int isdel) {
+ LambdaQueryWrapper<UserInfo> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(UserInfo::getCompanyid, id)
+ .eq(UserInfo::getIsdel,(byte)isdel);
+ return userInfoMapper.selectList(queryWrapper);
+ }
+
+ @Override
+ public void deleteById(Long id) {
+ LambdaUpdateWrapper<UserInfo> updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.set(UserInfo::getIsdel, (byte) 1)
+ .eq(UserInfo::getId, id);
+ this.update(updateWrapper);
+ }
+
+ @Override
+ public void recoverOneById(Long id) {
+ LambdaUpdateWrapper<UserInfo> updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.set(UserInfo::getIsdel, (byte) 0)
+ .eq(UserInfo::getId, id);
+ this.update(updateWrapper);
+ }
+
+ @Override
+ public List<UserInfo> selectByCompany(String company) {
+ LambdaQueryWrapper<UserInfo> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(UserInfo::getCompany, company).eq(UserInfo::getIsdel,(byte)0);
+ return userInfoMapper.selectList(queryWrapper);
+ }
+
+ @Override
+ public void updateCodeByCompany(String company, String code) {
+ LambdaUpdateWrapper<UserInfo> updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.set(UserInfo::getCode, code)
+ .eq(UserInfo::getCompany, company)
+ .eq(UserInfo::getIsdel,(byte)0);
+ this.update(updateWrapper);
+
+ }
+
+ @Override
+ @Transactional
+ public void updateDeadline(JiangWaiDeadlineReqDTO reqDTO, UserInfo user) {
+ if (reqDTO.getUid() == null || reqDTO.getDeadline() == null) {
+ throw new BusinessException("入参为空");
+ }
+ UserInfo userInfo = this.getById(reqDTO.getUid());
+ if (userInfo == null || userInfo.getIsdel() == 1) {
+ throw new BusinessException("用户不存在");
+ }
+ if (reqDTO.getDeadline().before(new Date())) {
+ throw new BusinessException("选择截止时间需要在今日之后");
+ }
+ if (user.getType() == null || user.getType() != 1) {
+ throw new BusinessException("当前操作人无权操作");
+ }
+
+ // 判断修改企业类型
+ if (userInfo.getIssale() == 1) {
+ throw new BusinessException("操作用户类型错误,需为非销售用户");
+ }
+ // 数据得有companynumber 和 companyid =>确定他不是监管部门
+ if (StringUtils.isBlank(userInfo.getCompanynumber()) || userInfo.getCompanyid() == null) {
+ throw new BusinessException("用户企业类型非法,只能修改企业信息");
+ }
+ Date deadline = reqDTO.getDeadline();
+ Calendar instance = Calendar.getInstance();
+ instance.setTime(deadline);
+ instance.set(Calendar.HOUR_OF_DAY,23);
+ instance.set(Calendar.MINUTE,59);
+ instance.set(Calendar.SECOND,59);
+
+ //exc
+ // 根据 companyid 修改 会修改 销售端和 非销售端 两条数据
+ int i = userInfoMapper.updateDeadlineByCompanyId(userInfo.getCompanyid(), instance.getTime());
+ if (i == 0) {
+ throw new BusinessException("数据未发生改变");
+ }
+ if (i != 2) {
+ throw new BusinessException("数据修改失败,请联系管理员");
+ }
+ UserDeadlineOperationLog log = new UserDeadlineOperationLog();
+ log.setGmtCreate(new Date());
+ log.setOperator(user.getUsername());
+ log.setOperatorUid(user.getId());
+ log.setToUname(userInfo.getUsername());
+ log.setToUid(userInfo.getId());
+ log.setVal(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(instance.getTime()));
+ boolean save = userDeadlineService.save(log);
+ if (!save) {
+ throw new BusinessException("记录保存失败,请联系管理员");
+ }
+
+ }
+
+ @Override
+ public void updateDeadline2NullByComapnyId(Long companyid) {
+ if (companyid == null) {
+ throw new BusinessException("系统入参为空");
+ }
+ userInfoMapper.updateDeadline2NullByComapnyId(companyid);
+ }
+
+
+}
--
Gitblit v1.9.2