package com.qmth.ops.biz.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qmth.ops.biz.dao.OrgDao; import com.qmth.ops.biz.domain.Org; import com.qmth.ops.biz.query.OrgQuery; import org.apache.commons.lang3.RandomStringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; import java.util.UUID; @Service public class OrgService extends ServiceImpl { @Resource private OrgDao orgDao; public OrgQuery findByQuery(OrgQuery query) { return orgDao.findByQuery(query); } public List listByQuery(OrgQuery query) { return orgDao.findByQuery(query).getRecords(); } public Org findByAccessKey(String accessKey) { return orgDao.selectOne(new LambdaQueryWrapper().eq(Org::getAccessKey, accessKey)); } @Transactional public boolean toggle(Long id, boolean enable) { return orgDao.toggle(id, enable) > 0; } @Transactional public Org insert(Org org) { org.setAccessKey(UUID.randomUUID().toString().replaceAll("-", "")); org.setAccessSecret(RandomStringUtils.random(32, true, true)); org.setCreateTime(System.currentTimeMillis()); org.setUpdateTime(org.getCreateTime()); orgDao.insert(org); return org; } @Transactional public Org update(Org org) { Org previous = orgDao.selectById(org.getId()); if (org.getCode() != null) { previous.setCode(org.getCode()); } if (org.getName() != null) { previous.setName(org.getName()); } if (org.getType() != null) { previous.setType(org.getType()); } if (org.getSubTypes() != null && org.getSubTypes().size() > 0) { previous.setSubTypes(org.getSubTypes()); } if (org.getLogo() != null) { previous.setLogo(org.getLogo()); } previous.setUpdateTime(System.currentTimeMillis()); orgDao.updateById(previous); return previous; } }