package com.jsh.erp.service.materialProperty; import com.alibaba.fastjson.JSONObject; import com.jsh.erp.constants.BusinessConstants; import com.jsh.erp.datasource.entities.MaterialProperty; import com.jsh.erp.datasource.entities.MaterialPropertyExample; import com.jsh.erp.datasource.entities.User; import com.jsh.erp.datasource.mappers.MaterialPropertyMapper; import com.jsh.erp.datasource.mappers.MaterialPropertyMapperEx; import com.jsh.erp.service.log.LogService; import com.jsh.erp.service.user.UserService; import com.jsh.erp.utils.StringUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.Date; import java.util.List; @Service public class MaterialPropertyService { private Logger logger = LoggerFactory.getLogger(MaterialPropertyService.class); @Resource private MaterialPropertyMapper materialPropertyMapper; @Resource private MaterialPropertyMapperEx materialPropertyMapperEx; @Resource private UserService userService; @Resource private LogService logService; public MaterialProperty getMaterialProperty(long id) { return materialPropertyMapper.selectByPrimaryKey(id); } public List getMaterialProperty() { MaterialPropertyExample example = new MaterialPropertyExample(); return materialPropertyMapper.selectByExample(example); } public List select(String name, int offset, int rows) { return materialPropertyMapperEx.selectByConditionMaterialProperty(name, offset, rows); } public Long countMaterialProperty(String name) { return materialPropertyMapperEx.countsByMaterialProperty(name); } @Transactional(value = "transactionManager", rollbackFor = Exception.class) public int insertMaterialProperty(String beanJson, HttpServletRequest request) { MaterialProperty materialProperty = JSONObject.parseObject(beanJson, MaterialProperty.class); return materialPropertyMapper.insertSelective(materialProperty); } @Transactional(value = "transactionManager", rollbackFor = Exception.class) public int updateMaterialProperty(String beanJson, Long id) { MaterialProperty materialProperty = JSONObject.parseObject(beanJson, MaterialProperty.class); materialProperty.setId(id); return materialPropertyMapper.updateByPrimaryKeySelective(materialProperty); } @Transactional(value = "transactionManager", rollbackFor = Exception.class) public int deleteMaterialProperty(Long id) { return materialPropertyMapper.deleteByPrimaryKey(id); } @Transactional(value = "transactionManager", rollbackFor = Exception.class) public int batchDeleteMaterialProperty(String ids) { List idList = StringUtil.strToLongList(ids); MaterialPropertyExample example = new MaterialPropertyExample(); example.createCriteria().andIdIn(idList); return materialPropertyMapper.deleteByExample(example); } public int checkIsNameExist(Long id, String name) { return 0; } @Transactional(value = "transactionManager", rollbackFor = Exception.class) public int batchDeleteMaterialPropertyByIds(String ids) { logService.insertLog(BusinessConstants.LOG_INTERFACE_NAME_MATERIAL_PROPERTY, new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_DELETE).append(ids).toString(), ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()); User userInfo=userService.getCurrentUser(); String [] idArray=ids.split(","); return materialPropertyMapperEx.batchDeleteMaterialPropertyByIds(new Date(),userInfo==null?null:userInfo.getId(),idArray); } }