zhongrj
2023-06-19 a4e42a8ba7f1e129aacff98d1e1de2f7a4e41804
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java
@@ -1,12 +1,21 @@
package cn.gistack.sm.sjztmd.service.impl;
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
import cn.gistack.sm.sjztmd.entity.PatrolResponsiblePerson;
import cn.gistack.sm.sjztmd.mapper.AttResManagePersonMapper;
import cn.gistack.sm.sjztmd.service.IAttResManagePersonService;
import cn.gistack.sm.sjztmd.vo.PersonVO;
import cn.gistack.sm.sjztmd.vo.UserPersonVO;
import cn.gistack.system.user.entity.User;
import cn.gistack.system.user.feign.IUserClient;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -20,8 +29,103 @@
@Service
@DS("zt")
public class AttResManagePersonServiceImpl extends ServiceImpl<AttResManagePersonMapper, AttResManagePerson> implements IAttResManagePersonService {
   @Autowired
   private IUserClient userClient;
   @Override
   public Boolean saveOrUpdateResManagePerson(AttResManagePerson attResManagePerson) {
      if (StringUtil.isBlank(attResManagePerson.getResGuid()))
         return false;
      if (StringUtil.isBlank(attResManagePerson.getSysResource()))
         return false;
      if (StringUtil.isBlank(attResManagePerson.getType()))
         return false;
      Integer res = StringUtil.isBlank(attResManagePerson.getGuid())? baseMapper.insertResManagePersion(attResManagePerson):baseMapper.updateResManagePersonByGuid(attResManagePerson);
      return res > 0;
   }
   @Override
   @Transactional
   public R saveOrUpdateResManagePerson(List<AttResManagePerson> attResManagePersons) {
      Boolean res = false;
      for (AttResManagePerson attResManagePerson:attResManagePersons) {
         if (jodd.util.StringUtil.isEmpty(attResManagePerson.getResGuid()))
            return R.fail("resGuid不能为空");
         if (jodd.util.StringUtil.isEmpty(attResManagePerson.getType()))
            return R.fail("type不能为空");
         if (jodd.util.StringUtil.isEmpty(attResManagePerson.getSysResource()))
            return R.fail("sysResource不能为空");
         if (jodd.util.StringUtil.isEmpty(attResManagePerson.getUserPhone()))
            return R.fail("userPhone不能为空");
         if (jodd.util.StringUtil.isEmpty(attResManagePerson.getUserName()))
            return R.fail("userName不能为空");
         res = saveOrUpdateResManagePerson(attResManagePerson);
      }
      return R.data(res);
   }
   @Override
   public List<AttResManagePerson> attResManagePersonListByResIds(String resId) {
      return baseMapper.attResManagePersonListByResId(Func.toLongList(resId));
   }
   @Override
   @DS("master")
   public List<PatrolResponsiblePerson> getPatrolResponsiblePersonAll() {
      return baseMapper.getPatrolResponsiblePersonAll();
   }
   /**
    * 根据水库编号及责任人类型查询相关责任人信息
    * @param res_cd
    * @param personList
    * @return
    */
   @Override
   public List<PersonVO> getPersonListByResGuid(String res_cd, List<String> personList) {
      return baseMapper.getPersonListByResGuid(res_cd,personList);
   }
   @Override
   public int synchronizationAddUser() {
      // 同步没有责任人表中没有的用户
      List<UserPersonVO> userPersonVOS = baseMapper.getPersonByUserNotExists();
      int i = 0;
      for (UserPersonVO vo:userPersonVOS) {
         User user = new User();
         user.setId(Long.parseLong(vo.getUserPhone()));
         user.setAccount(vo.getUserPhone());
         user.setPassword("383977f7a48c4600a6cadff28f4340cee30f3011");
         user.setRoleId(vo.getRoleId());
         // 如果是巡查责任人,设置为默认部门
         if (user.getRoleId().equals("1642713427301355522")) {
            user.setDeptId(String.valueOf(Integer.parseInt(vo.getAdCode()) + 1));
         } else {
            user.setDeptId(vo.getAdCode());
         }
         user.setDeptId(vo.getAdCode());
         user.setName(vo.getUserName().trim());
         user.setRealName(vo.getUserName().trim());
         user.setPhone(vo.getUserPhone());
         try {
            R<Boolean> ret = userClient.saveUser(user);
            if (ret.getData()) {
               i++;
            }
         } catch (Exception e) {
            e.printStackTrace();
         }
      }
      return i;
   }
   @Override
   public int synchronizationUpdateUser() {
      // 同步没有责任人表中没有的用户
      int ret = baseMapper.updateUserByPerson();
      return ret;
   }
}