package com.thhy.secure.modules.biz.good.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.thhy.general.common.BasicResult; import com.thhy.general.config.SysUserInfo; import com.thhy.general.utils.DeepCopyUtils; import com.thhy.general.utils.UserInfoUtils; import com.thhy.secure.modules.biz.file.service.FileService; import com.thhy.secure.modules.biz.good.entity.GoodDto; import com.thhy.secure.modules.biz.good.entity.SecureGood; import com.thhy.secure.modules.biz.good.entity.SecureGoodFile; import com.thhy.secure.modules.biz.good.mapper.SecureGoodMapper; import com.thhy.secure.modules.biz.good.service.SecureGoodService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.Serializable; import java.util.Date; import java.util.List; /** * 服务实现类 * @author zhang_xiao_bo * @since 2023-05-23 14:06:10 */ @Service public class SecureGoodServiceImpl implements SecureGoodService { @Autowired private SecureGoodMapper secureGoodMapper; @Autowired private FileService fileService; public SecureGood get(Serializable id){ return secureGoodMapper.queryById(id); } public List findList(GoodDto goodDto){ SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(); if(goodDto==null)goodDto = new GoodDto(); goodDto.setCompanyId(userInfo.getCompanyId()); return secureGoodMapper.findList(goodDto); } @Override public List fileList(GoodDto goodDto) { List fileList = secureGoodMapper.fileList(goodDto); fileList.forEach(fl ->{ JSONObject json = new JSONObject(); json.put("fullpath",fl.getFile()); BasicResult basicResult = fileService.fileinfo(json.toJSONString()); if(basicResult.isSuccess()){ JSONArray jsonArray = JSONArray.parseArray(basicResult.getData().toString()); for(Object obj : jsonArray){ JSONObject j = JSON.parseObject(obj.toString()); if(j.containsKey("name")&&"name".equals(j.getString("name"))){ fl.setFileName(j.getString("value")); } } } }); return fileList; } /** * 增加和修改 * @param goodDto */ @Transactional public void addSecureGood(GoodDto goodDto){ SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(); List fileList = goodDto.getFileList(); SecureGood secureGood = new SecureGood(); DeepCopyUtils.copy(goodDto,secureGood); if(secureGood.getId() == null){ //增加操作 secureGood.setCreateUser(userInfo.getUserId()); secureGood.setCompanyId(userInfo.getCompanyId()); secureGoodMapper.insert(secureGood); }else{ //修改操作 secureGood.setUpdateUser(userInfo.getUserId()); secureGood.setUpdateTime(new Date()); secureGoodMapper.update(secureGood); secureGoodMapper.deleteFileByGoodId(secureGood.getId()); } fileList.forEach(fl -> { fl.setSecureGoodId(secureGood.getId()); secureGoodMapper.insertGoodFile(fl); }); } /** * 修改 * @param secureGood */ public void update(SecureGood secureGood){ secureGoodMapper.update(secureGood); } /** * 删除 * @param id */ public void delete(Serializable id){ secureGoodMapper.deletelogic(id); } }