fuliqi
2024-11-06 f0ec80a9eb4d12aca25f311fecf8f6e5edf8c577
ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
@@ -1,19 +1,18 @@
package com.ycl.platform.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import com.ycl.platform.base.BaseSelect;
import com.ycl.platform.domain.entity.YwUnit;
import com.ycl.platform.domain.form.YwUnitForm;
import com.ycl.platform.domain.query.DistributeWorkOrderQuery;
import com.ycl.platform.domain.query.YwUnitQuery;
import com.ycl.platform.domain.vo.YwUnitVO;
import com.ycl.system.Result;
import com.ycl.platform.mapper.YwUnitMapper;
import com.ycl.platform.service.YwUnitService;
import com.ycl.system.Result;
import com.ycl.system.domain.SysUserRole;
import com.ycl.system.entity.SysRole;
import com.ycl.system.entity.SysUser;
@@ -22,20 +21,18 @@
import com.ycl.system.mapper.SysUserRoleMapper;
import com.ycl.system.model.LoginUser;
import com.ycl.system.page.PageUtil;
import com.ycl.platform.service.YwUnitService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.utils.DateUtils;
import com.ycl.utils.SecurityUtils;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import java.util.Objects;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import lombok.RequiredArgsConstructor;
import org.springframework.util.StringUtils;
import java.util.*;
import java.util.stream.Collectors;
/**
 * 运维单位 服务实现类
@@ -61,18 +58,23 @@
    @Transactional(rollbackFor = Exception.class)
    public Result add(YwUnitForm form) {
        YwUnit entity = YwUnitForm.getEntityByForm(form, null);
        Date now = new Date();
        entity.setCreateTime(now);
        entity.setUpdateTime(now);
        if(baseMapper.insert(entity) > 0) {
            // 新增运维人员账号
            SysUser sysUser = new SysUser();
            sysUser.setDeptId(null);
            sysUser.setUnitId(entity.getId());
            sysUser.setUserName(entity.getUnitAdminAccount());
            sysUser.setNickName(entity.getUnitContact());
            sysUser.setPhonenumber(entity.getUnitContactPhone());
            sysUser.setPassword(SecurityUtils.encryptPassword("123456"));
            sysUser.setPassword(SecurityUtils.encryptPassword(form.getPassword()));
            sysUser.setDelFlag(0);
            sysUserMapper.insertUser(sysUser);
            // 获取运维人员角色
            SysRole sysRole = sysRoleMapper.selectRoleByKey("yw_user");
            if (Objects.isNull(sysRole)) { return Result.error("运维角色不存在"); }
            if (Objects.isNull(sysRole)) { throw new RuntimeException("运维角色不存在"); }
            // 绑定账号角色关系
            SysUserRole sysUserRole = new SysUserRole();
            sysUserRole.setRoleId(sysRole.getRoleId());
@@ -92,10 +94,11 @@
    @Transactional(rollbackFor = Exception.class)
    public Result update(YwUnitForm form) {
        YwUnit entity = baseMapper.selectById(form.getId());
        // 为空抛IllegalArgumentException,做全局异常处理
        Assert.notNull(entity, "记录不存在");
        BeanUtils.copyProperties(form, entity);
        Date now = new Date();
        entity.setUpdateTime(now);
        if (baseMapper.updateById(entity) > 0) {
            // 修改运维单位账号信息
            SysUser sysUser = sysUserMapper.selectUserByUserName(entity.getUnitAdminAccount());
@@ -212,9 +215,21 @@
    }
    @Override
    public Result workList() {
        List<YwUnitVO> entities = baseMapper.workList();
        return Result.ok().data(entities);
    public Result workList(DistributeWorkOrderQuery query) {
        query.setStart(DateUtils.getDayStart(query.getStart()));
        query.setEnd(DateUtils.getDayEnd(query.getEnd()));
        List<YwUnit> ywUnits = baseMapper.selectList(null);
        List<YwUnitVO> lists = ywUnits.stream().map(item -> {
            YwUnitVO vo = new YwUnitVO();
            BeanUtils.copyProperties(item, vo);
            return vo;
        }).collect(Collectors.toList());
        for (YwUnitVO ywUnit : lists) {
            query.setUnitId(ywUnit.getId());
            Integer workOrderNum = baseMapper.workList(query);
            ywUnit.setWorkOrderCount(workOrderNum);
        }
        return Result.ok().data(lists);
    }
    @Override
@@ -258,4 +273,9 @@
                .collect(Collectors.toList());
        return vos;
    }
    @Override
    public List<Map<String, Object>> ywUnitCount() {
        return baseMapper.ywUnitCount();
    }
}