|
@@ -1,4 +1,147 @@
|
|
|
package com.java110.store.cmd.resourceStore;
|
|
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.constant.BusinessTypeConstant;
|
|
|
|
|
+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("保存数据失败");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|