Parcourir la source

针对客户查询询价详情增加附件显示,新增询价消息提醒方法更新

hejq il y a 7 ans
Parent
commit
c4aff9fa58

+ 28 - 0
src/main/java/com/uas/ps/inquiry/model/PublicInquiryItem.java

@@ -421,6 +421,18 @@ public class PublicInquiryItem implements Serializable {
 	@Column(name = "id_checked")
 	private Short checked;
 
+	/**
+	 * 附件链接
+	 */
+	@Transient
+	private String attachUrl;
+
+	/**
+	 * 附件名称
+	 */
+	@Transient
+	private String attachName;
+
 	public Long getId() {
 		return id;
 	}
@@ -903,6 +915,22 @@ public class PublicInquiryItem implements Serializable {
 		this.checked = checked;
 	}
 
+	public String getAttachUrl() {
+		return attachUrl;
+	}
+
+	public void setAttachUrl(String attachUrl) {
+		this.attachUrl = attachUrl;
+	}
+
+	public String getAttachName() {
+		return attachName;
+	}
+
+	public void setAttachName(String attachName) {
+		this.attachName = attachName;
+	}
+
 	/**
 	 * 将公共询价单转成报价单
 	 *

+ 18 - 5
src/main/java/com/uas/ps/inquiry/service/impl/InquiryServiceImpl.java

@@ -28,11 +28,8 @@ import com.uas.ps.inquiry.page.criteria.SimpleExpression;
 import com.uas.ps.inquiry.page.exception.IllegalOperatorException;
 import com.uas.ps.inquiry.service.InquiryService;
 import com.uas.ps.inquiry.service.PublicInquiryService;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+
+import java.util.*;
 import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
@@ -266,6 +263,14 @@ public class InquiryServiceImpl implements InquiryService {
                         products.add(productInfo);
                         for (PublicInquiryItem item1 : inquiry.getInquiryItems()) {
                              if (item1.getCmpCode() != null && item1.getCmpCode().equals(productInfo.getCmpCode())) {
+                                 String sql = "select at_path,at_name from attachs a left join public$inquiryitems$attach p on a.at_id = p.at_id " +
+                                         "left join public$inquiryitems i on p.id_id = i.id_id where i.id_id = " + item1.getId();
+                                 List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
+                                 if (!org.springframework.util.CollectionUtils.isEmpty(maps)) {
+                                     Map<String, Object> map = maps.get(0);
+                                     item1.setAttachUrl(map.get("at_path").toString());
+                                     item1.setAttachName(map.get("at_name").toString());
+                                 }
                                 items.add(item1);
                             }
                         }
@@ -288,6 +293,14 @@ public class InquiryServiceImpl implements InquiryService {
                     productInfo.setCmpCode(product.getCmpCode());
                     for (PublicInquiryItem item : inquiry.getInquiryItems()) {
                         if (item.getProductId().equals(idInfo)) {
+                            String sql = "select at_path,at_name from attachs a left join public$inquiryitems$attach p on a.at_id = p.at_id " +
+                                    "left join public$inquiryitems i on p.id_id = i.id_id where i.id_id = " + item.getId();
+                            List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
+                            if (!org.springframework.util.CollectionUtils.isEmpty(maps)) {
+                                Map<String, Object> map = maps.get(0);
+                                item.setAttachUrl(map.get("at_path").toString());
+                                item.setAttachName(map.get("at_name").toString());
+                            }
                             items.add(item);
                         }
                     }

+ 10 - 10
src/main/java/com/uas/ps/inquiry/service/impl/PublicInquiryServiceImpl.java

@@ -179,18 +179,18 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
     @Override
     public void notify(List<PurcInquiryItem> inquiryItems, String sourceApp) throws Exception {
         for (PurcInquiryItem item : inquiryItems) {
-            Product product = productDao.findOne(item.getProductId());
-            if (null == product) {
-                List<Product> productList = productDao.findByEnUUAndCmpCodeAndBrand(item.getInquiry().getEnUU(), item.getCmpCode(), item.getInbrand());
-                if (!CollectionUtils.isEmpty(productList)) {
-                    product = productList.get(0);
-                }
-            }
-            if (null != product) {
+           String cmpCode = null;
+           if (item.getCmpCode() != null) {
+               cmpCode = item.getCmpCode();
+           } else if (null != item.getProductId()) {
+               Product product = productDao.findOne(item.getProductId());
+               cmpCode = product.getCmpCode();
+           }
+            if (null != cmpCode) {
                 String url = PS_PRODUCT_URL + "/productuser/getProductUsersByEnUUAndCmpCode";
                 JSONObject formData = new JSONObject();
                 formData.put("enUU", item.getInquiry().getEnUU());
-                formData.put("cmpCode", item.getCmpCode());
+                formData.put("cmpCode", cmpCode);
                 try {
                     HttpUtil.Response res = HttpUtil.sendGetRequest(url, formData);
                     if (res.getStatusCode() == 200) {
@@ -200,7 +200,7 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
                             for (ProductUsers user : users) {
                                 User u = userDao.findOne(null != item.getInquiry().getRecorderUU() ? item.getInquiry().getRecorderUU() : 0L);
                                 Enterprise e = enterpriseDao.findOne(item.getInquiry().getEnUU());
-                                String cmp = product.getCmpCode().length() > 10 ? product.getCmpCode().substring(0, 10).concat("...") : product.getCmpCode();
+                                String cmp = cmpCode.length() > 10 ? cmpCode.substring(0, 10).concat("...") : cmpCode;
                                 String content = "发布关于“" + cmp + "”的公共询价信息,邀请您参与报价";
                                 if (null != e) {
                                     content = e.getEnName() + content;