Kaynağa Gözat

Merge branch 'dev_copy' of ssh://10.10.101.21/source/platform-b2b into dev_copy

wangmh 8 yıl önce
ebeveyn
işleme
d652e9715a
22 değiştirilmiş dosya ile 426 ekleme ve 144 silme
  1. 9 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseOrderDao.java
  2. 86 0
      src/main/java/com/uas/platform/b2b/erp/controller/CheckTransController.java
  3. 9 0
      src/main/java/com/uas/platform/b2b/erp/model/Inquiry.java
  4. 9 0
      src/main/java/com/uas/platform/b2b/erp/model/Purchase.java
  5. 9 0
      src/main/java/com/uas/platform/b2b/erp/model/PurchaseNotify.java
  6. 8 0
      src/main/java/com/uas/platform/b2b/erp/service/InquiryService.java
  7. 9 4
      src/main/java/com/uas/platform/b2b/erp/service/PurchaseNotifyService.java
  8. 7 0
      src/main/java/com/uas/platform/b2b/erp/service/PurchaseService.java
  9. 17 1
      src/main/java/com/uas/platform/b2b/erp/service/impl/InquiryServiceImpl.java
  10. 17 4
      src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseNotifyServiceImpl.java
  11. 16 0
      src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseServiceImpl.java
  12. 56 0
      src/main/java/com/uas/platform/b2b/model/InvitationRecord.java
  13. 15 0
      src/main/java/com/uas/platform/b2b/service/InvitationRecordService.java
  14. 144 78
      src/main/java/com/uas/platform/b2b/service/impl/InvitationRecordServiceImpl.java
  15. 7 3
      src/main/java/com/uas/platform/b2b/v2/controller/InviteRecordController.java
  16. 2 48
      src/main/java/com/uas/platform/b2b/v2/service/impl/InviteRecordServiceImpl.java
  17. 1 1
      src/main/resources/dev/message.properties
  18. 1 1
      src/main/resources/dev/sys.properties
  19. 1 1
      src/main/resources/prod/message.properties
  20. 1 1
      src/main/resources/prod/sys.properties
  21. 1 1
      src/main/resources/test/message.properties
  22. 1 1
      src/main/resources/test/sys.properties

+ 9 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseOrderDao.java

@@ -77,4 +77,13 @@ public interface PurchaseOrderDao extends JpaSpecificationExecutor<PurchaseOrder
      */
 	@Query("select p.id from PurchaseOrderAll p where p.id in :ids and p.status=200 and nvl(p.end,0)=0")
 	List<Long> findNotReplyId(@Param("ids") List<Long> ids);
+
+	/**
+	 * 通过企业UU和来源id查询单据是否存在
+	 *
+	 * @param uu
+	 * @param id
+	 * @return
+	 */
+	List<PurchaseOrder> findByEnUUAndAndErpId(Long uu, Long id);
 }

+ 86 - 0
src/main/java/com/uas/platform/b2b/erp/controller/CheckTransController.java

@@ -0,0 +1,86 @@
+package com.uas.platform.b2b.erp.controller;
+
+import com.uas.platform.b2b.erp.model.Inquiry;
+import com.uas.platform.b2b.erp.model.Purchase;
+import com.uas.platform.b2b.erp.model.PurchaseNotify;
+import com.uas.platform.b2b.erp.service.InquiryService;
+import com.uas.platform.b2b.erp.service.PurchaseNotifyService;
+import com.uas.platform.b2b.erp.service.PurchaseService;
+import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
+import com.uas.platform.core.logging.BufferedLoggerManager;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.List;
+
+/**
+ * 针对每个数据传输进行数据传输验证(针对买家)
+ *
+ * Created by hejq on 2018-04-19.
+ */
+@RequestMapping("/erp/buyer")
+@RestController
+public class CheckTransController {
+
+    @Autowired
+    private InquiryService inquiryService;
+
+    @Autowired
+    private PurchaseService purchaseService;
+
+    @Autowired
+    private PurchaseNotifyService purchaseNotifyService;
+
+    private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
+
+    /**
+     * 通过上传的数据查询询价单在平台是否存在
+     *
+     * @param data 封装的上传的数据
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    @RequestMapping(value = "/inquiry", method = RequestMethod.POST)
+    public List<Inquiry> getInquiryB2bId(@RequestParam("data") String data) throws UnsupportedEncodingException {
+        String jsonStr = URLDecoder.decode(data, "UTF-8");
+        List<Inquiry> inquiryList = FlexJsonUtils.fromJsonArray(jsonStr, Inquiry.class);
+        logger.log("单据传输检测", "采购询价单", inquiryList.size());
+        return inquiryService.getB2bId(inquiryList);
+    }
+
+    /**
+     * 通过上传id查询平台采购单对应的id
+     *
+     * @param data 封装的id信息
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    @RequestMapping(value = "/purchase", method = RequestMethod.POST)
+    public List<Purchase> getPurchaseB2bId(@RequestParam("data") String data) throws UnsupportedEncodingException {
+        String jsonStr = URLDecoder.decode(data, "UTF-8");
+        List<Purchase> purchaseList = FlexJsonUtils.fromJsonArray(jsonStr, Purchase.class);
+        logger.log("单据传输检测", "采购订单", purchaseList.size());
+        return purchaseService.getB2bId(purchaseList);
+    }
+
+    /**
+     * 通过上传id查询平台送货提醒对应的id
+     *
+     * @param data 封装的id信息
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    @RequestMapping(value = "/notify", method = RequestMethod.POST)
+    public List<PurchaseNotify> getPurchaseNotifyB2bId(@RequestParam("data") String data) throws UnsupportedEncodingException {
+        String jsonStr = URLDecoder.decode(data, "UTF-8");
+        List<PurchaseNotify> notifyList = FlexJsonUtils.fromJsonArray(jsonStr, PurchaseNotify.class);
+        logger.log("单据传输检测", "送货提醒", notifyList.size());
+        return purchaseNotifyService.getB2bId(notifyList);
+    }
+}

+ 9 - 0
src/main/java/com/uas/platform/b2b/erp/model/Inquiry.java

@@ -28,6 +28,7 @@ public class Inquiry {
 	private String in_pricetype;
 	private List<InquiryDetail> details;
 	private String in_kind; //询价类型
+	private Long in_b2bid; // b2b存储的id信息
 	/**
 	 * 主动报价时,平台的主动报价单SaleQuotation的ID
 	 */
@@ -163,6 +164,14 @@ public class Inquiry {
 		this.in_kind = in_kind;
 	}
 
+	public Long getIn_b2bid() {
+		return in_b2bid;
+	}
+
+	public void setIn_b2bid(Long in_b2bid) {
+		this.in_b2bid = in_b2bid;
+	}
+
 	/**
 	 * 转为平台的采购询价
 	 * 

+ 9 - 0
src/main/java/com/uas/platform/b2b/erp/model/Purchase.java

@@ -53,6 +53,7 @@ public class Purchase {
 	private String pu_custcode; // 客户编号,
 	private String pu_custname; // 客户名称。
 	private String pu_transport;
+	private Long pu_b2bid;// 查询平台的id号
 
 	public String getPu_code() {
 		return pu_code;
@@ -302,6 +303,14 @@ public class Purchase {
 		this.pu_transport = pu_transport;
 	}
 
+	public Long getPu_b2bid() {
+		return pu_b2bid;
+	}
+
+	public void setPu_b2bid(Long pu_b2bid) {
+		this.pu_b2bid = pu_b2bid;
+	}
+
 	/**
 	 * 转为平台的采购订单
 	 * 

+ 9 - 0
src/main/java/com/uas/platform/b2b/erp/model/PurchaseNotify.java

@@ -26,6 +26,7 @@ public class PurchaseNotify {
 	private String pn_remark;
 	private Double pn_endqty;
 	private Double pr_zxbzs;// 物料最小包装数
+	private Long pn_b2bid; //b2bid
 
 	public long getPn_id() {
 		return pn_id;
@@ -107,6 +108,14 @@ public class PurchaseNotify {
 		this.pr_zxbzs = pr_zxbzs;
 	}
 
+	public Long getPn_b2bid() {
+		return pn_b2bid;
+	}
+
+	public void setPn_b2bid(Long pn_b2bid) {
+		this.pn_b2bid = pn_b2bid;
+	}
+
 	/**
 	 * 转为平台的客户送货提醒
 	 * 

+ 8 - 0
src/main/java/com/uas/platform/b2b/erp/service/InquiryService.java

@@ -58,4 +58,12 @@ public interface InquiryService {
      * @param details
      */
     void save(List<InquiryDetail> details);
+
+	/**
+	 * 通过ERP上传的数据查询平台存储的id
+	 *
+	 * @param inquiryList 询价信息
+	 * @return 获取结果的询价信息
+	 */
+	List<Inquiry> getB2bId(List<Inquiry> inquiryList);
 }

+ 9 - 4
src/main/java/com/uas/platform/b2b/erp/service/PurchaseNotifyService.java

@@ -2,10 +2,7 @@ package com.uas.platform.b2b.erp.service;
 
 import java.util.List;
 
-import com.uas.platform.b2b.erp.model.AcceptNotify;
-import com.uas.platform.b2b.erp.model.AcceptNotifyConfirm;
-import com.uas.platform.b2b.erp.model.AcceptNotifyVerify;
-import com.uas.platform.b2b.erp.model.PurchaseNotify;
+import com.uas.platform.b2b.erp.model.*;
 import com.uas.platform.b2b.model.PurchaseNotice;
 import com.uas.platform.b2b.model.SaleSend;
 import com.uas.platform.b2b.model.SaleSendItem;
@@ -62,4 +59,12 @@ public interface PurchaseNotifyService {
 	List<SaleSendItemVerify> convertAcceptUnauditVerify(List<AcceptNotifyVerify> verifies);
 
     List<List<PurchaseNotice>> convertEDIPurchaseNotify(List<PurchaseNotify> notifies, Long enUU);
+
+	/**
+	 * 通过上传的送货提醒id查询平台对应的id
+	 *
+	 * @param notifyList 送货提醒
+	 * @return
+	 */
+	List<PurchaseNotify> getB2bId(List<PurchaseNotify> notifyList);
 }

+ 7 - 0
src/main/java/com/uas/platform/b2b/erp/service/PurchaseService.java

@@ -53,4 +53,11 @@ public interface PurchaseService {
 	 */
 	List<MessageLog> convertMessageLog(List<PrintLog> printNotUploadReply);
 
+	/**
+	 * 通过上传id查询平台采购单对应的id
+     *
+	 * @param purchaseList purchase数组
+	 * @return
+	 */
+    List<Purchase> getB2bId(List<Purchase> purchaseList);
 }

+ 17 - 1
src/main/java/com/uas/platform/b2b/erp/service/impl/InquiryServiceImpl.java

@@ -1,6 +1,5 @@
 package com.uas.platform.b2b.erp.service.impl;
 
-import com.uas.sso.util.AccountUtils;
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.Inquiry;
@@ -297,4 +296,21 @@ public class InquiryServiceImpl implements InquiryService {
         List<Inquiry> inquiries = commonDao.getJdbcTemplate().query(sql, new BeanPropertyRowMapper<Inquiry>(Inquiry.class));
         return inquiries.size() > 0 ? inquiries.get(0) : null;
     }
+
+	/**
+	 * 通过ERP上传的数据查询平台存储的id
+	 *
+	 * @param inquiryList 询价信息
+	 * @return 获取结果的询价信息
+	 */
+	@Override
+	public List<Inquiry> getB2bId(List<Inquiry> inquiryList) {
+		for (Inquiry inquiry : inquiryList) {
+			List<PurchaseInquiry> inquiries = purchaseInquiryDao.findByEnUUAndSourceId(SystemSession.getUser().getEnterprise().getUu(), inquiry.getIn_id());
+			if (!CollectionUtils.isEmpty(inquiries)) {
+				inquiry.setIn_b2bid(inquiries.get(0).getId());
+			}
+		}
+		return inquiryList;
+	}
 }

+ 17 - 4
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseNotifyServiceImpl.java

@@ -4,10 +4,7 @@ import com.uas.platform.b2b.dao.PurchaseNoticeDao;
 import com.uas.platform.b2b.dao.PurchaseOrderItemDao;
 import com.uas.platform.b2b.dao.SaleSendItemDao;
 import com.uas.platform.b2b.dao.SaleSendItemVerifyDao;
-import com.uas.platform.b2b.erp.model.AcceptNotify;
-import com.uas.platform.b2b.erp.model.AcceptNotifyConfirm;
-import com.uas.platform.b2b.erp.model.AcceptNotifyVerify;
-import com.uas.platform.b2b.erp.model.PurchaseNotify;
+import com.uas.platform.b2b.erp.model.*;
 import com.uas.platform.b2b.erp.service.PurchaseNotifyService;
 import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.support.SystemSession;
@@ -256,4 +253,20 @@ public class PurchaseNotifyServiceImpl implements PurchaseNotifyService {
 		return sendItemVerifies;
 	}
 
+	/**
+	 * 通过上传的送货提醒id查询平台对应的id
+	 *
+	 * @param notifyList 送货提醒
+	 * @return
+	 */
+	@Override
+	public List<PurchaseNotify> getB2bId(List<PurchaseNotify> notifyList) {
+	    for (PurchaseNotify notify : notifyList) {
+            List<PurchaseNotice> noticeList = purchaseNoticeDao.findByEnUUAndSourceId(SystemSession.getUser().getEnterprise().getUu(), notify.getPn_id());
+            if (!CollectionUtils.isEmpty(noticeList)) {
+                notify.setPn_b2bid(noticeList.get(0).getId());
+            }
+        }
+		return notifyList;
+	}
 }

+ 16 - 0
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseServiceImpl.java

@@ -246,4 +246,20 @@ public class PurchaseServiceImpl implements PurchaseService {
 		return messageLogs;
     }
 
+	/**
+	 * 通过上传id查询平台采购单对应的id
+	 *
+	 * @param purchaseList purchase数组
+	 * @return
+	 */
+	@Override
+	public List<Purchase> getB2bId(List<Purchase> purchaseList) {
+		for (Purchase purchase : purchaseList) {
+            List<PurchaseOrder> purchaseOrders = purchaseOrderDao.findByEnUUAndAndErpId(SystemSession.getUser().getEnterprise().getUu(), purchase.getPu_id());
+		    if (!CollectionUtils.isEmpty(purchaseOrders)) {
+		        purchase.setPu_b2bid(purchaseOrders.get(0).getId());
+            }
+		}
+		return purchaseList;
+	}
 }

+ 56 - 0
src/main/java/com/uas/platform/b2b/model/InvitationRecord.java

@@ -154,6 +154,30 @@ public class InvitationRecord implements Serializable {
 	@Transient
 	private String inviteEnName;
 
+    /**
+     * 地址
+     */
+	@Transient
+    private String enAddress;
+
+    /**
+     * 法人
+     */
+	@Transient
+    private String enCorporation;
+
+    /**
+     * 管理员姓名
+     */
+	@Transient
+    private String adminName;
+
+    /**
+     * 企业电话
+     */
+	@Transient
+    private String enTel;
+
 	public Long getId() {
 		return id;
 	}
@@ -329,4 +353,36 @@ public class InvitationRecord implements Serializable {
 	public void setInviteEnName(String inviteEnName) {
 		this.inviteEnName = inviteEnName;
 	}
+
+    public String getEnAddress() {
+        return enAddress;
+    }
+
+    public void setEnAddress(String enAddress) {
+        this.enAddress = enAddress;
+    }
+
+    public String getEnCorporation() {
+        return enCorporation;
+    }
+
+    public void setEnCorporation(String enCorporation) {
+        this.enCorporation = enCorporation;
+    }
+
+    public String getAdminName() {
+        return adminName;
+    }
+
+    public void setAdminName(String adminName) {
+        this.adminName = adminName;
+    }
+
+    public String getEnTel() {
+        return enTel;
+    }
+
+    public void setEnTel(String enTel) {
+        this.enTel = enTel;
+    }
 }

+ 15 - 0
src/main/java/com/uas/platform/b2b/service/InvitationRecordService.java

@@ -69,4 +69,19 @@ public interface InvitationRecordService {
 	 * @return
 	 */
 	List<InvitationRecord> findByVendUU(Long enuu);
+
+    /**
+     * 发送邮件通知
+     *
+     * @param record 邀请记录
+     */
+	void sendEmail(final InvitationRecord record);
+
+    /**
+     * 同步到账户中心
+     *
+     * @param record 邀请记录
+     * @param businessCode 营业执照
+     */
+    void syncToAccount(InvitationRecord record, String businessCode);
 }

+ 144 - 78
src/main/java/com/uas/platform/b2b/service/impl/InvitationRecordServiceImpl.java

@@ -1,5 +1,7 @@
 package com.uas.platform.b2b.service.impl;
 
+import com.uas.platform.b2b.core.util.ThreadUtils;
+import com.uas.platform.b2b.support.SysConf;
 import com.uas.sso.util.AccountUtils;
 import com.uas.message.mail.service.MailService;
 import com.uas.platform.b2b.dao.EnterpriseDao;
@@ -25,6 +27,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.CollectionUtils;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 @Service
@@ -51,6 +54,14 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 	@Autowired
     private ProductDao productDao;
 
+	@Autowired
+    private SysConf sysConf;
+
+    /**
+     * 企业注册标志
+     */
+    final String spaceRegisterSign = "enterpriseRegistration";
+
 	/**
 	 * 短信接口
 	 */
@@ -61,7 +72,6 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 		ModelMap map = new ModelMap();
 		List<Enterprise> enterprises = enterpriseDao.findByEnName(record.getVendname());
 		if (!CollectionUtils.isEmpty(enterprises)) {
-//			throw new IllegalAccessError("该企业已注册!");
 			map.put("error", "该企业已注册!");
 			return map;
 		}
@@ -80,16 +90,6 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 				enuu = record.getEnuu();
 			}
 		}
-		Map<String, Object> model = new HashMap<String, Object>();
-		// 邮件信息
-		if (null != record.getVendusername()) {
-			model.put("vendorusername", record.getVendusername().trim());
-		}
-		model.put("vendorname", record.getVendname().trim());
-		model.put("custname", SystemSession.getUser().getUserName() + "("
-				+ SystemSession.getUser().getEnterprise().getEnName() + ")");
-		model.put("inviteuid", SystemSession.getUser().getEnterprise().getEnBussinessCode());
-		model.put("inviteUserCode", SystemSession.getUser().getUserUU());
 		// 先判断记录
 		InvitationRecord oldrecord = invitationRecordDao.findByUseruuAndVendname(useruu, record.getVendname());
 			if (record.getId() != null) { // 如果是已存在的,直接替换
@@ -112,27 +112,10 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 			}
 			record = invitationRecordDao.save(oldrecord);
 			if (oldrecord.getVenduseremail() != null) {
-				try {
-					mailService.send(messageConf.getTplInvitationForB2B(), record.getVenduseremail(), model);
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
+			    sendEmail(record);
 			}
-			if(oldrecord.getVendusertel()!=null){
-				try {
-					SmsMessage sms = new SmsMessage();
-					List<Object> obj = new ArrayList<Object>();
-					obj.add(record.getVendusername());
-					obj.add(record.getVendname());
-					obj.add(SystemSession.getUser().getUserName() + "("
-							+ SystemSession.getUser().getEnterprise().getEnName() + ")");
-					sms.setParams(obj);
-					sms.setReceiver(record.getVendusertel());
-					sms.setTemplateId(messageConf.getMsgInvitationForB2B());
-					HttpUtil.sendPost(messageUrl, FlexJsonUtils.toJsonDeep(sms));
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
+			if (oldrecord.getVendusertel() != null) {
+				sendMsg(record);
 			}
 			map.put("success", "邀请已发送");
 		} else {
@@ -143,23 +126,10 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 			record.setActive(Constant.NO);
 			record = invitationRecordDao.save(record);
 			if (record.getVenduseremail() != null) {
-				mailService.send(messageConf.getTplInvitationForB2B(), record.getVenduseremail(), model);
+				sendEmail(record);
 			}
 			if (record.getVendusertel() != null) {
-				try {
-					SmsMessage sms = new SmsMessage();
-					List<Object> obj = new ArrayList<Object>();
-					obj.add(record.getVendusername());
-					obj.add(record.getVendname());
-					obj.add(SystemSession.getUser().getUserName() + "("
-							+ SystemSession.getUser().getEnterprise().getEnName() + ")");
-					sms.setParams(obj);
-					sms.setReceiver(record.getVendusertel());
-					sms.setTemplateId(messageConf.getMsgInvitationForB2B());
-					HttpUtil.sendPost(messageUrl, FlexJsonUtils.toJsonDeep(sms));
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
+				sendMsg(record);
 			}
 			if (record.getId() != null) {
 				map.put("success", "邀请已发送");
@@ -167,20 +137,104 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 				map.put("error", "邀请发送失败");
 			}
 		}
-		// 同步一个数据到账户中心(不是必须,不判断状态)
-		try {
-			record.setUser(null);
-			record.setId(null);
-			record.setSamecount(null);
-			record.setVenduu(null);
-			record.setBussinesscode(SystemSession.getUser().getEnterprise().getEnBussinessCode());
-			AccountUtils.synchroInvitation(FlexJsonUtils.toJsonDeep(record));
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return map;
+        syncToAccount(record, SystemSession.getUser().getEnterprise().getEnBussinessCode());
+        return map;
 	}
 
+    /**
+     * 同步到账户中心
+     *
+     * @param record 邀请记录
+     * @param businessCode 营业执照
+     */
+    @Override
+    public void syncToAccount(InvitationRecord record, String businessCode) {
+        // 同步一个数据到账户中心(不是必须,不判断状态)
+        try {
+            record.setUser(null);
+            record.setId(null);
+            record.setSamecount(null);
+            record.setVenduu(null);
+            record.setBussinesscode(businessCode);
+            AccountUtils.synchroInvitation(FlexJsonUtils.toJsonDeep(record));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 发送短信通知
+     *
+     * @param record 邀请记录
+     */
+    private void sendMsg(InvitationRecord record) {
+        try {
+            SmsMessage sms = new SmsMessage();
+            List<Object> obj = new ArrayList<Object>();
+            obj.add(record.getVendusername());
+            obj.add(record.getVendname());
+            obj.add(SystemSession.getUser().getUserName() + "("
+                    + SystemSession.getUser().getEnterprise().getEnName() + ")");
+            sms.setParams(obj);
+            sms.setReceiver(record.getVendusertel());
+            sms.setTemplateId(messageConf.getMsgInvitationForB2B());
+            final SmsMessage message = sms;
+            ThreadUtils.task(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        HttpUtil.sendPost(messageUrl, FlexJsonUtils.toJsonDeep(message));
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            }).run();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 发送邮件通知
+     *
+     * @param record 邀请记录
+     */
+    @Override
+    public void sendEmail(final InvitationRecord record) {
+        Map<String, Object> model = new HashMap<String, Object>();
+        // 邮件信息
+        if (null != record.getVendusername()) {
+            model.put("vendorusername", record.getVendusername().trim());
+        }
+        Enterprise e = enterpriseDao.findOne(record.getEnuu());
+        User u = userDao.findOne(record.getUseruu());
+        model.put("vendorname", record.getVendname().trim());
+        model.put("custname", u.getUserName() + "(" + e.getEnName() + ")");
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        String time = sdf.format(new Date());
+        String url = sysConf.getRegisterUrl();
+        if (url.contains(spaceRegisterSign)) {
+            url = url + "?inviteUserUU=" + record.getUseruu() + "&inviteSpaceUU=" + record.getEnuu()
+                    + "&invitationTime=" + time + "&source=" + record.getSource();
+        } else {
+            url = url + "/enterpriseRegistration?inviteUserUU=" + record.getUseruu() + "&inviteSpaceUU=" + record.getEnuu()
+                    + "&invitationTime=" + time + "&source=" + record.getSource();
+        }
+        model.put("registerUrl", url);
+        final Map<String, Object> modMap = model;
+        ThreadUtils.task(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    mailService.send(messageConf.getTplInvitationForB2B(), record.getVenduseremail(), modMap);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }).run();
+    }
+
 	@Override
 	public ModelMap reInvite(Long id) {
 		return invite(invitationRecordDao.findOne(id));
@@ -207,15 +261,7 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
             for (InvitationRecord record : invitatrecords.getContent()) {
             	if (null != record.getVenduu()) {
             		Enterprise e = enterpriseDao.findOne(record.getVenduu());
-					record.setProductNum(productDao.countByEnUU(record.getVenduu()));
-            		if (null != e.getInviteUU()) {
-            			Enterprise inviteEn = enterpriseDao.findOne(e.getInviteUU());
-            			record.setInviteEnName(inviteEn != null ? inviteEn.getEnName() : null);
-					}
-					if (null != e.getInviteUserUU()) {
-            			User inviteUser = userDao.findOne(e.getInviteUserUU());
-						record.setInviteUserName(inviteUser != null ? inviteUser.getUserName() : null);
-					}
+					covert(record, e);
 				} else {
 					List<Enterprise> enters = enterpriseDao.findByEnName(record.getVendname());
 					if (!CollectionUtils.isEmpty(enters)) {
@@ -224,16 +270,7 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 							record.setActive(Constant.YES);
 							record.setSamecount(enters.size());
 							record.setVenduu(e.getUu());
-							record.setRegisterDate(e.getEnDate());
-							record.setProductNum(productDao.countByEnUU(e.getUu()));
-							if (null != e.getInviteUU()) {
-								Enterprise inviteEn = enterpriseDao.findOne(e.getInviteUU());
-								record.setInviteEnName(inviteEn != null ? inviteEn.getEnName() : null);
-							}
-							if (null != e.getInviteUserUU()) {
-								User inviteUser = userDao.findOne(e.getInviteUserUU());
-								record.setInviteUserName(inviteUser != null ? inviteUser.getUserName() : null);
-							}
+							record = covert(record, e);
 						} else {
 							record.setActive(Constant.NO);
 							record.setSamecount(enters.size());
@@ -249,7 +286,36 @@ public class InvitationRecordServiceImpl implements InvitationRecordService {
 		return invitatrecords;
 	}
 
-	@Override
+    /**
+     * 将企业信息封装到邀请记录
+     *
+     * @param record 邀请记录
+     * @param e 企业信息
+     * @return
+     */
+    private InvitationRecord covert(InvitationRecord record, Enterprise e) {
+        record.setProductNum(productDao.countByEnUU(record.getVenduu()));
+        if (null != e.getInviteUU()) {
+            Enterprise inviteEn = enterpriseDao.findOne(e.getInviteUU());
+            record.setInviteEnName(inviteEn != null ? inviteEn.getEnName() : null);
+        }
+        if (null != e.getInviteUserUU()) {
+            User inviteUser = userDao.findOne(e.getInviteUserUU());
+            record.setInviteUserName(inviteUser != null ? inviteUser.getUserName() : null);
+        }
+        record.setRegisterDate(e.getEnDate());
+        record.setEnAddress(e.getEnAddress());
+        record.setEnCorporation(e.getEnCorporation());
+        if (null != e.getEnAdminuu()) {
+            User admin = userDao.findOne(e.getEnAdminuu());
+            if (null != admin) {
+                record.setAdminName(admin.getUserName());
+            }
+        }
+        return record;
+    }
+
+    @Override
 	public List<EnterpriseBaseInfo> findByName(String name) {
 		List<EnterpriseBaseInfo> baseInfoList = new ArrayList<EnterpriseBaseInfo>();
 		List<Enterprise> enterprises = enterpriseDao.findByName(name);

+ 7 - 3
src/main/java/com/uas/platform/b2b/v2/controller/InviteRecordController.java

@@ -21,6 +21,7 @@ import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.util.SearchConstants;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.expression.AccessException;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -270,9 +271,12 @@ public class InviteRecordController {
      * @return
      */
     private Long checkByUserTel(Long userUU, String userTel) {
-        if (null != userTel) {
-            User user = userService.findUserByUserTel(userTel);
-            userUU = user.getUserUU();
+        if (StringUtils.isEmpty(userUU)) {
+            try {
+                throw new AccessException("userUU不能为空");
+            } catch (AccessException e) {
+                e.printStackTrace();
+            }
         }
         return userUU;
     }

+ 2 - 48
src/main/java/com/uas/platform/b2b/v2/service/impl/InviteRecordServiceImpl.java

@@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.sso.entity.PartnershipRecordView;
 import com.uas.sso.util.AccountUtils;
-import com.uas.message.mail.service.MailService;
 import com.uas.platform.b2b.core.util.ThreadUtils;
 import com.uas.platform.b2b.dao.CommonDao;
 import com.uas.platform.b2b.dao.InvitationRecordDao;
@@ -59,9 +58,6 @@ public class InviteRecordServiceImpl implements InviteRecordService {
     @Autowired
     private MessageConf messageConf;
 
-    @Autowired
-    private MailService mailService;
-
     @Autowired
     private UserDao userDao;
 
@@ -239,8 +235,6 @@ public class InviteRecordServiceImpl implements InviteRecordService {
                 @Override
                 public void run() {
                     try {
-//                        smsService.send(messageConf.getMsgAddPartForB2B(), adminTel1,
-//                                new Object[] { userName, custName, enName });
                         // 发送给管理员
                         sendMsgToManager(enName, adminTel1);
                     } catch (Exception e) {
@@ -392,17 +386,7 @@ public class InviteRecordServiceImpl implements InviteRecordService {
                 throw new IllegalOperatorException("邀请发送失败");
             }
         }
-        // 同步一个数据到账户中心(不是必须,不判断状态)
-        try {
-            record.setUser(null);
-            record.setId(null);
-            record.setSamecount(null);
-            record.setVenduu(null);
-            record.setBussinesscode(custEn.getEnBussinessCode());
-            AccountUtils.synchroInvitation(FlexJsonUtils.toJsonDeep(record));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
+        invitationRecordService.syncToAccount(record, custEn.getEnBussinessCode());
         return map;
     }
 
@@ -472,7 +456,7 @@ public class InviteRecordServiceImpl implements InviteRecordService {
                 invite(record);
                 // 发送邮件
                 if (null != record.getVenduseremail() && record.getVenduseremail().contains("@")) {
-                    sendEmail(record);
+                    invitationRecordService.sendEmail(record);
                 }
                 size++;
                 if (successStr.length() > 0) {
@@ -496,36 +480,6 @@ public class InviteRecordServiceImpl implements InviteRecordService {
         return map;
     }
 
-    /**
-     * 发送邮件通知
-     *
-     * @param record
-     */
-    private void sendEmail(final InvitationRecord record) {
-        Map<String, Object> model = new HashMap<String, Object>();
-        // 邮件信息
-        if (null != record.getVendusername()) {
-            model.put("vendorusername", record.getVendusername().trim());
-        }
-        Enterprise e = enterpriseService.findByEnUU(record.getEnuu());
-        User u = userDao.findOne(record.getUseruu());
-        model.put("vendorname", record.getVendname().trim());
-        model.put("custname", u.getUserName() + "(" + e.getEnName() + ")");
-        model.put("inviteuid", e.getEnBussinessCode());
-        model.put("inviteUserCode", u.getUserUU());
-        final Map<String, Object> modMap = model;
-        ThreadUtils.task(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    mailService.send(messageConf.getTplInvitationForB2B(), record.getVenduseremail(), modMap);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-            }
-        }).run();
-    }
-
     /**
      * 更新邀请注册记录企业信息
      *

+ 1 - 1
src/main/resources/dev/message.properties

@@ -1,4 +1,4 @@
-tplInvitationForB2B=e472f874-0579-4ca2-9bb8-2635109dc7f3
+tplInvitationForB2B=e565c0cf-87a2-4d18-8ce8-c5be757f5a3d
 msgInvitationForB2B=73c513f8-7423-49c4-b57c-50a63bd8a0af
 tplAfterBeAddedtoB2B=b9dee589-9fd8-45d3-9b2a-64b56d65e7e2
 msgTenderForB2B=f9e29b6f-4116-4d33-9bde-048aa037f8c6

+ 1 - 1
src/main/resources/dev/sys.properties

@@ -4,7 +4,7 @@ manage=http://218.17.158.219:9090/platform-manage
 manageInner=http://192.168.253.60:9090/platform-manage
 im=http://113.105.74.131:8092
 b2c=http://192.168.253.60:9090/platform-b2c
-registerUrl=http://10.10.100.133/sso/register
+registerUrl=http://192.168.253.12:32323/register
 
 #report url
 reportPrintUrl=http://print.ubtob.com/report/print?userName=B2B%s&profile=${profile}&reportName=%s&whereCondition=%s

+ 1 - 1
src/main/resources/prod/message.properties

@@ -1,4 +1,4 @@
-tplInvitationForB2B=e472f874-0579-4ca2-9bb8-2635109dc7f3
+tplInvitationForB2B=e565c0cf-87a2-4d18-8ce8-c5be757f5a3d
 msgInvitationForB2B=73c513f8-7423-49c4-b57c-50a63bd8a0af
 tplAfterBeAddedtoB2B=b9dee589-9fd8-45d3-9b2a-64b56d65e7e2
 msgTenderForB2B=f9e29b6f-4116-4d33-9bde-048aa037f8c6

+ 1 - 1
src/main/resources/prod/sys.properties

@@ -4,7 +4,7 @@ manage=http://manage.ubtob.com
 manageInner=http://10.10.100.81:8080
 im=http://113.105.74.140:8092
 b2c=http://www.usoftmall.com
-registerUrl=https://account.ubtob.com/sso/register
+registerUrl=https://sso.ubtob.com/register
 
 #report url
 reportPrintUrl=http://print.ubtob.com/report/print?userName=B2B%s&profile=${profile}&reportName=%s&whereCondition=%s

+ 1 - 1
src/main/resources/test/message.properties

@@ -1,4 +1,4 @@
-tplInvitationForB2B=e472f874-0579-4ca2-9bb8-2635109dc7f3
+tplInvitationForB2B=e565c0cf-87a2-4d18-8ce8-c5be757f5a3d
 msgInvitationForB2B=73c513f8-7423-49c4-b57c-50a63bd8a0af
 tplAfterBeAddedtoB2B=b9dee589-9fd8-45d3-9b2a-64b56d65e7e2
 msgTenderForB2B=f9e29b6f-4116-4d33-9bde-048aa037f8c6

+ 1 - 1
src/main/resources/test/sys.properties

@@ -4,7 +4,7 @@ manage=http://218.17.158.219:9090/platform-manage
 manageInner=http://192.168.253.60:9090/platform-manage
 im=http://113.105.74.131:8092
 b2c=http://192.168.253.60:9090/platform-b2c
-registerUrl=http://10.10.100.133/sso/register
+registerUrl=http://192.168.253.12:32323/register
 
 #report url
 reportPrintUrl=http://print.ubtob.com/report/print?userName=B2B%s&profile=${profile}&reportName=%s&whereCondition=%s