| | |
| | | package com.java110.store.cmd.resourceStore; |
| | | |
| | | public class UpdateResourceStoreCmd { |
| | | } |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.core.annotation.Java110Cmd; |
| | | import com.java110.core.context.ICmdDataFlowContext; |
| | | import com.java110.core.event.cmd.Cmd; |
| | | import com.java110.core.event.cmd.CmdEvent; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.file.FileDto; |
| | | import com.java110.dto.file.FileRelDto; |
| | | import com.java110.dto.resourceStore.ResourceStoreDto; |
| | | import com.java110.intf.common.IFileInnerServiceSMO; |
| | | import com.java110.intf.common.IFileRelInnerServiceSMO; |
| | | import com.java110.intf.store.IResourceStoreInnerServiceSMO; |
| | | import com.java110.intf.store.IResourceStoreV1InnerServiceSMO; |
| | | import com.java110.po.file.FileRelPo; |
| | | import com.java110.po.purchase.ResourceStorePo; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | @Java110Cmd(serviceCode = "resourceStore.updateResourceStore") |
| | | public class UpdateResourceStoreCmd extends Cmd { |
| | | |
| | | @Autowired |
| | | private IResourceStoreInnerServiceSMO resourceStoreInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IResourceStoreV1InnerServiceSMO resourceStoreV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IFileInnerServiceSMO fileInnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { |
| | | Assert.hasKeyAndValue(reqJson, "resId", "物品ID不能为空"); |
| | | Assert.hasKeyAndValue(reqJson, "resName", "必填,请填写物品名称"); |
| | | Assert.hasKeyAndValue(reqJson, "price", "必填,请填写物品价格"); |
| | | Assert.hasKeyAndValue(reqJson, "storeId", "商户信息不能为空"); |
| | | |
| | | //获取最低收费标准 |
| | | double outLowPrice = Double.parseDouble(reqJson.getString("outLowPrice")); |
| | | //获取最高收费标准 |
| | | double outHighPrice = Double.parseDouble(reqJson.getString("outHighPrice")); |
| | | if (outLowPrice > outHighPrice) { |
| | | throw new IllegalArgumentException("最低收费标准不能大于最高收费标准!"); |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { |
| | | ResourceStoreDto resourceStoreDto = new ResourceStoreDto(); |
| | | resourceStoreDto.setResId(reqJson.getString("resId")); |
| | | resourceStoreDto.setStoreId(reqJson.getString("storeId")); |
| | | List<ResourceStoreDto> resourceStoreDtos = resourceStoreInnerServiceSMOImpl.queryResourceStores(resourceStoreDto); |
| | | Assert.isOne(resourceStoreDtos, "查询到多条物品 或未查到物品,resId=" + resourceStoreDto.getResId()); |
| | | JSONObject businessResourceStore = new JSONObject(); |
| | | businessResourceStore.putAll(reqJson); |
| | | businessResourceStore.put("stock", resourceStoreDtos.get(0).getStock()); |
| | | ResourceStorePo resourceStorePo = BeanConvertUtil.covertBean(businessResourceStore, ResourceStorePo.class); |
| | | |
| | | int flag = resourceStoreV1InnerServiceSMOImpl.updateResourceStore(resourceStorePo); |
| | | |
| | | if (flag < 1) { |
| | | throw new CmdException("保存数据失败"); |
| | | } |
| | | //获取图片信息 |
| | | List<String> photos = resourceStorePo.getFileUrls(); |
| | | //图片更新 |
| | | FileRelDto fileRelDto = new FileRelDto(); |
| | | fileRelDto.setObjId(reqJson.getString("resId")); |
| | | //查询文件表 |
| | | List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto); |
| | | //如果文件表里有这个资源的记录,就先删掉原先的 |
| | | if (fileRelDtos != null && fileRelDtos.size() > 0) { |
| | | //先把删除文件表图片 |
| | | for (FileRelDto fileRel : fileRelDtos) { |
| | | FileRelPo fileRelPo = new FileRelPo(); |
| | | fileRelPo.setFileRelId(fileRel.getFileRelId()); |
| | | flag = fileRelInnerServiceSMOImpl.deleteFileRel(fileRelPo); |
| | | if (flag < 1) { |
| | | throw new CmdException("保存数据失败"); |
| | | } |
| | | } |
| | | FileRelPo fileRel = new FileRelPo(); |
| | | fileRel.setObjId(resourceStorePo.getResId()); |
| | | //table表示表存储 ftp表示ftp文件存储 |
| | | fileRel.setSaveWay("ftp"); |
| | | fileRel.setCreateTime(new Date()); |
| | | if (photos != null && photos.size() > 0) { |
| | | //22000表示物品图片 |
| | | fileRel.setRelTypeCd("22000"); |
| | | for (String photo : photos) { |
| | | fileRel.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId)); |
| | | FileDto fileDto = new FileDto(); |
| | | fileDto.setCommunityId("-1"); |
| | | fileDto.setContext(photo); |
| | | fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id)); |
| | | fileDto.setFileName(fileDto.getFileId()); |
| | | String fileName = fileInnerServiceSMOImpl.saveFile(fileDto); |
| | | fileRel.setFileRealName(fileName); |
| | | fileRel.setFileSaveName(fileName); |
| | | /*fileRelInnerServiceSMOImpl.saveFileRel(fileRel);*/ |
| | | flag = fileRelInnerServiceSMOImpl.saveFileRel(fileRel); |
| | | if (flag < 1) { |
| | | throw new CmdException("保存数据失败"); |
| | | } |
| | | } |
| | | } |
| | | } else if (photos != null && photos.size() > 0) { //如果文件表里没有这个资源的记录,就判断是否有图片传过来,有就插入到文件表里 |
| | | FileRelPo fileRel = new FileRelPo(); |
| | | fileRel.setObjId(resourceStorePo.getResId()); |
| | | //table表示表存储 ftp表示ftp文件存储 |
| | | fileRel.setSaveWay("ftp"); |
| | | fileRel.setCreateTime(new Date()); |
| | | //22000表示物品图片 |
| | | fileRel.setRelTypeCd("22000"); |
| | | for (String photo : photos) { |
| | | fileRel.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId)); |
| | | FileDto fileDto = new FileDto(); |
| | | fileDto.setCommunityId("-1"); |
| | | fileDto.setContext(photo); |
| | | fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id)); |
| | | fileDto.setFileName(fileDto.getFileId()); |
| | | String fileName = fileInnerServiceSMOImpl.saveFile(fileDto); |
| | | fileRel.setFileRealName(fileName); |
| | | fileRel.setFileSaveName(fileName); |
| | | flag = fileRelInnerServiceSMOImpl.saveFileRel(fileRel); |
| | | if (flag < 1) { |
| | | throw new CmdException("保存数据失败"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |