package ${packageName}.service.impl; import ${packageName}.dao.${ClassName}Dao; import ${packageName}.dto.page.${ClassName}PageSearchDto; import ${packageName}.model.${ClassName}Model; import ${packageName}.service.${ClassName}Service; import com.bcxin.ars.service.util.ArsUtil; import com.bcxin.ars.service.util.ConfigUtils; import com.bcxin.ars.util.BeanUtils; import com.bcxin.ars.util.DateUtil; import com.bcxin.ars.util.StringUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.com.bcxin.ars.com.abcxin.smart.core.web.validate.AjaxPageResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; /** * ${functionName}Service业务层处理 * * @author ${author} * @date ${datetime} */ @Service public class ${ClassName}ServiceImpl implements ${ClassName}Service { Logger logger = LoggerFactory.getLogger(${ClassName}ServiceImpl.class); @Autowired private ${ClassName}Dao ${className}Dao; @Autowired private ConfigUtils configUtils; @Autowired private ArsUtil arsUtil; @Override public int delete(${ClassName} ${className}) { User currentUser = arsUtil.getCurrentUser(); ${className}.setUpdateTime(new Date()); ${className}.setUpdateBy(currentUser.getUsername()); return ${className}Dao.delete(${className}); } @Override public int save(${ClassName} ${className}) { User currentUser = arsUtil.getCurrentUser(); if(${className}.getId() == null){ ${className}.setCreateTime(new Date()); }else{ ${ClassName} db${ClassName} = ${className}Dao.findById(${className}.getId()); BeanUtils.copyPropertiesIgnore(${className},db${ClassName},true); BeanUtils.copyPropertiesIgnore(db${ClassName},${className},false); } ${className}.setActive(true); ${className}.setUpdateBy(currentUser.getUsername()); ${className}.setUpdateTime(new Date()); ${className}.setUpdateflag(true); ${className}.setUserId(currentUser.getId()); ${className}.setAreaCode(currentUser.getPolice().getAreacode()); return ${className}Dao.save(${className}); } @Override public ${ClassName} findById(Long id) { return ${className}Dao.findById(id); } @Override public void searchForPage(${ClassName}PageSearchDto dto, AjaxPageResponse page) { arsUtil.setPoliceSearch(dto); ${className}Dao.searchForPage(dto,page); } @Override public void importBatch(List<${ClassName}> list) { List<${ClassName}> dbList = ${className}Dao.findByBatchId(list); //去掉重复的 //通过重写 equals跟hashCode方法 实现根据id与updatetime判断是否需要更新。 list.removeAll(dbList); if (list.size()>0){ for (${ClassName} ${className} : list) { ${className}.setUpdateflag(false); try { if(!configUtils.isIntranet()){ ${className}.setUpdateTime(DateUtil.dateAdd(DateUtil.DATATYPE_SECOND, ${className}.getUpdateTime(), 1)); } } catch (Exception e) { e.printStackTrace(); } } ${className}Dao.saveBatch(list); } } @Override public List<${ClassName}> searchForDataSynchronization(DataSynchronizationSearchDto dto) { return ${className}Dao.searchForDataSynchronization(dto); } @Override public List<${ClassName}> findDSOutList(String startDate) { return ${className}Dao.findDSOutList(startDate); } @Override public List<${ClassName}> findByBatchId(List<${ClassName}> list) { return ${className}Dao.findByBatchId(list); } @Override public void updateSelective(${ClassName} ${className}) { User currentUser = arsUtil.getCurrentUser(); ${className}.setUpdateTime(new Date()); ${className}.setUpdateBy(currentUser.getUsername()); ${className}Dao.updateSelective(${className}); } }