package com.caimei.modules.serviceteam.service; import java.util.List; import com.caimei.modules.project.model.ServiceProviderModel; import com.thinkgem.jeesite.common.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.thinkgem.jeesite.common.persistence.Page; import com.thinkgem.jeesite.common.service.CrudService; import com.caimei.modules.serviceteam.entity.CmServiceteamRole; import com.caimei.modules.serviceteam.dao.CmServiceteamRoleDao; /** * 协销小组Service * * @author zzj * @version 2022-01-20 */ @Service @Transactional(readOnly = true) public class CmServiceteamRoleService extends CrudService { @Autowired private CmServiceteamRoleDao dao; public CmServiceteamRole get(String id) { return super.get(id); } public List findList(CmServiceteamRole cmServiceteamRole) { return super.findList(cmServiceteamRole); } public Page findPage(Page page, CmServiceteamRole cmServiceteamRole) { cmServiceteamRole.setPage(page); List list = dao.findTeams(cmServiceteamRole); list.forEach(l -> l.setGroup(dao.findGroups(l.getTeamId()))); page.setList(list); return page; } @Transactional(readOnly = false) public void save(CmServiceteamRole cmServiceteamRole) { } @Transactional(readOnly = false) public void delete(CmServiceteamRole cmServiceteamRole) { //删组长 dao.delete(cmServiceteamRole.getTeamId()); //删组员 dao.deleteAll(cmServiceteamRole.getTeamId()); } public CmServiceteamRole findGroup(CmServiceteamRole cmServiceteamRole) { if (StringUtils.isNotBlank(cmServiceteamRole.getTeamId())) { cmServiceteamRole=dao.findLeader(cmServiceteamRole.getTeamId()); List list=dao.findGroups(cmServiceteamRole.getTeamId()); list.forEach(l->l.setTeamFlag(1)); if(null!=list&&list.size()>=10){ //如果有十个组员返回满员标记 cmServiceteamRole.setFullFlag(1); } List allList= dao.findAllGroups(); list.addAll(allList); cmServiceteamRole.setGroup(list); return cmServiceteamRole; } else { cmServiceteamRole.setGroup(dao.findAllGroups()); return cmServiceteamRole; } } @Transactional(readOnly = false) public void saveGroup(List ids, CmServiceteamRole cmServiceteamRole) { if (StringUtils.isNotBlank(cmServiceteamRole.getTeamId())) { //如果小组存在,先修改原小组组长,删除组员,再保存现小组组员 //修改组长id,不修改小组创建时间影响排序 dao.updateLeadr(cmServiceteamRole); //删组员 dao.deleteAll(cmServiceteamRole.getTeamId()); } else { // 协销小组不存在, 先添加协销小组 dao.save(cmServiceteamRole); } ids.forEach(i->dao.saveGroup(cmServiceteamRole.getTeamId(),i)); } }