package com.caimei.modules.user.service; import com.caimei.modules.user.dao.OperationsDao; import com.caimei.modules.user.entity.ClubTemporary; import com.caimei.modules.user.entity.CmClubinfo; import com.caimei.modules.user.entity.NewCmClub; import com.caimei.modules.user.entity.OperationalLogs; import com.thinkgem.jeesite.common.persistence.Page; import com.thinkgem.jeesite.common.service.CrudService; 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 java.util.ArrayList; import java.util.List; @Service @Transactional(readOnly = true) public class SysLogService extends CrudService { @Autowired OperationsDao operationDao; @Transactional(readOnly = false) public NewCmClub newCmClub(Integer clubID) { return operationDao.newCmClub(clubID); } @Transactional(readOnly = false) public ClubTemporary temPorary(String id) { return operationDao.temPorary(id); } @Transactional(readOnly = false) public CmClubinfo cmclubinfo(Integer clubID) { return operationDao.cmclubinfo(clubID); } @Transactional(readOnly = false) public String auditlinkMan(Integer userID) { return operationDao.auditlinkMan(userID); } @Transactional(readOnly = false) public String auditName(Integer userID) { return operationDao.auditName(userID); } @Transactional(readOnly = false) public String PasslinkMan(Integer userID) { return operationDao.PasslinkMan(userID); } @Transactional(readOnly = false) public String passName(Integer userID) { return operationDao.passName(userID); } @Transactional(readOnly = false) public String ClubName(Integer clubChangeSpRecordID) { return operationDao.ClubName(clubChangeSpRecordID); } @Transactional(readOnly = false) public String JgName(Integer clubChangeSpRecordID) { return operationDao.JgName(clubChangeSpRecordID); } @Transactional(readOnly = false) public String linkMan(Integer clubChangeSpRecordID) { return operationDao.linkMan(clubChangeSpRecordID); } @Transactional(readOnly = false) public String ClubsName(Integer clubChangeSpRecordID) { return operationDao.ClubsName(clubChangeSpRecordID); } @Transactional(readOnly = false) public List findList( OperationalLogs operationalLogs) { return operationDao.findList(operationalLogs); } @Transactional(readOnly = false) public Page findPage(Page page, OperationalLogs operationalLogs) { return super.findPage(page, operationalLogs); } @Transactional(readOnly = false) public int insert(OperationalLogs operationalLogs) { return operationDao.insert(operationalLogs); } public NewCmClub clubData(Integer clubID) { return operationDao.clubData(clubID); } public Page spListLog(Page page, Integer clubID) { List logsList = operationDao.selOperationals(clubID); ArrayList yearDate = new ArrayList<>(); if (logsList.size() > 0) { for (OperationalLogs logs : logsList) { if (StringUtils.isNotBlank(logs.getCreateTime())) { // 获取年月时间 String[] split = logs.getCreateTime().split(" "); if (split.length > 0) { String year = split[0].trim(); String time = split[1].trim(); // 拼接更换记录信息 String count = ""; Boolean bool = false; ArrayList arrayList = new ArrayList<>(); // 合并同一天更换记录 for (int i = 0; i < logsList.size(); i++) { // 与外层时间比对,避免重复 String[] splitStent = logsList.get(i).getCreateTime().split(" "); String newYear = splitStent[0].trim(); if (newYear.equals(year)) { if ( i == 0) { count = "目前协销为【" + logsList.get(i).getSpName() + "】"; } else if (logsList.size() == 1 || i == logsList.size() - 1) { count = "系统自动分配协销为【" + logsList.get(i).getSpName() + "】"; } else { count = "协销变更为【" + logsList.get(i).getSpName() + "】" + ",操作人为【" + logsList.get(i).getOperator() + "】,变更时间点【" + time + "】"; } bool = !yearDate.contains(newYear); if (bool) { arrayList.add(count); } } } // 排除空 if (bool) { logs.setYear(year); logs.setActioncontents(arrayList); // 记录年月日时间,避免重复添加 yearDate.add(year); } } } } } page.setList(logsList); return page; } @Transactional(readOnly = false) public void insetProvider(Integer spId, Integer clubId, String operator) { // 插入协销修改记录 operationDao.inProvider(spId, clubId, operator); } }