|
|
@@ -1,18 +1,20 @@
|
|
|
package com.uas.platform.b2b.v2.service.impl;
|
|
|
|
|
|
-import com.uas.platform.b2b.dao.RoleDao;
|
|
|
-import com.uas.platform.b2b.model.Role;
|
|
|
-import com.uas.sso.entity.UserSpaceView;
|
|
|
-import com.uas.sso.entity.UserSpaceDetail;
|
|
|
+import com.uas.platform.b2b.core.util.ThreadUtils;
|
|
|
import com.uas.platform.b2b.dao.EnterpriseDao;
|
|
|
+import com.uas.platform.b2b.dao.InvitationRecordDao;
|
|
|
+import com.uas.platform.b2b.dao.RoleDao;
|
|
|
import com.uas.platform.b2b.dao.UserDao;
|
|
|
import com.uas.platform.b2b.model.Enterprise;
|
|
|
+import com.uas.platform.b2b.model.InvitationRecord;
|
|
|
+import com.uas.platform.b2b.model.Role;
|
|
|
import com.uas.platform.b2b.model.User;
|
|
|
import com.uas.platform.b2b.support.CommBufferedLogger;
|
|
|
import com.uas.platform.b2b.v2.service.EnterpriseService;
|
|
|
import com.uas.platform.core.logging.BufferedLoggerManager;
|
|
|
+import com.uas.platform.core.model.Constant;
|
|
|
import com.uas.platform.core.model.Status;
|
|
|
-import com.uas.sso.entity.UserView;
|
|
|
+import com.uas.sso.entity.UserSpaceView;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
@@ -22,18 +24,28 @@ import java.util.Date;
|
|
|
import java.util.HashSet;
|
|
|
import java.util.List;
|
|
|
import java.util.Set;
|
|
|
-import java.util.logging.Logger;
|
|
|
|
|
|
+/**
|
|
|
+ * 企业信息接口
|
|
|
+ *
|
|
|
+ * @author hejq
|
|
|
+ * @date 2018-08-01 9:08
|
|
|
+ */
|
|
|
@Service("v2.EnterpriseService")
|
|
|
public class EnterpriseServiceImpl implements EnterpriseService {
|
|
|
|
|
|
@Autowired
|
|
|
private EnterpriseDao enterpriseDao;
|
|
|
+
|
|
|
@Autowired
|
|
|
private UserDao userDao;
|
|
|
+
|
|
|
@Autowired
|
|
|
private RoleDao roleDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private InvitationRecordDao recordDao;
|
|
|
+
|
|
|
private final static CommBufferedLogger logger = BufferedLoggerManager.getLogger(CommBufferedLogger.class);
|
|
|
|
|
|
@Override
|
|
|
@@ -81,8 +93,10 @@ public class EnterpriseServiceImpl implements EnterpriseService {
|
|
|
}
|
|
|
user.addEnterprise(enterprise);
|
|
|
// 将用户设置为管理员,只对用户的当前企业的角色进行修改
|
|
|
- Set<Role> existRoles = new HashSet<Role>(); // 新用户注册企业时为空
|
|
|
- if (!CollectionUtils.isEmpty(user.getRoles())) { // 老用户注册新企业
|
|
|
+ // 新用户注册企业时为空
|
|
|
+ Set<Role> existRoles = new HashSet<Role>();
|
|
|
+ // 老用户注册新企业
|
|
|
+ if (!CollectionUtils.isEmpty(user.getRoles())) {
|
|
|
existRoles = user.getRoles();
|
|
|
}
|
|
|
// 设置为本企业管理员
|
|
|
@@ -129,7 +143,63 @@ public class EnterpriseServiceImpl implements EnterpriseService {
|
|
|
|
|
|
@Override
|
|
|
public Enterprise save(Enterprise enterprise) {
|
|
|
- return enterpriseDao.save(enterprise);
|
|
|
+ final Enterprise enterpriseInfo = enterpriseDao.save(enterprise);
|
|
|
+ // 邀请记录链接注册,同步信息到邀请注册记录
|
|
|
+ if (null != enterprise.getInviteUU() && null != enterprise.getInviteUserUU()) {
|
|
|
+ ThreadUtils.task(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ mergeInvitation(enterpriseInfo);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return enterpriseInfo;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 更新邀请注册信息
|
|
|
+ *
|
|
|
+ * @param enterpriseInfo 企业信息
|
|
|
+ */
|
|
|
+ private void mergeInvitation(Enterprise enterpriseInfo) {
|
|
|
+ InvitationRecord record = recordDao.findByUseruuAndVendname(enterpriseInfo.getInviteUserUU(), enterpriseInfo.getEnName());
|
|
|
+ Enterprise inviteEnterprise = enterpriseDao.findOne(enterpriseInfo.getInviteUU());
|
|
|
+ User inviteUser = userDao.findOne(enterpriseInfo.getInviteUserUU());
|
|
|
+ if (null != inviteEnterprise && null != inviteUser) {
|
|
|
+ if (null != record) {
|
|
|
+ record.setEnuu(inviteEnterprise.getInviteUU());
|
|
|
+ record.setBussinesscode(inviteEnterprise.getEnBussinessCode());
|
|
|
+ record.setUserTel(inviteUser.getUserTel());
|
|
|
+ record.setActive(Constant.YES);
|
|
|
+ recordDao.save(record);
|
|
|
+ } else {
|
|
|
+ record = new InvitationRecord();
|
|
|
+ record.setEnuu(inviteEnterprise.getInviteUU());
|
|
|
+ record.setBussinesscode(inviteEnterprise.getEnBussinessCode());
|
|
|
+ record.setUserTel(inviteUser.getUserTel());
|
|
|
+ record.setActive(Constant.YES);
|
|
|
+ record.setVendname(enterpriseInfo.getEnName());
|
|
|
+ record.setVenduseremail(enterpriseInfo.getEnEmail());
|
|
|
+ record.setVendusertel(enterpriseInfo.getEnTel());
|
|
|
+ record.setVendusername(enterpriseInfo.getContactMan());
|
|
|
+ User admin = userDao.findOne(enterpriseInfo.getEnAdminuu());
|
|
|
+ Date inviteDate = null != null ? new Date(enterpriseInfo.getInviteTime()) : new Date(System.currentTimeMillis());
|
|
|
+ record.setDate(inviteDate);
|
|
|
+ record.setVenduu(enterpriseInfo.getUu());
|
|
|
+ record.setSource(enterpriseInfo.getInviteSource() != null ? enterpriseInfo.getInviteSource() : "B2B");
|
|
|
+ record.setStatus(Status.NOT_UPLOAD.value());
|
|
|
+ if (null != admin) {
|
|
|
+ record.setVenduseremail(admin.getUserEmail());
|
|
|
+ record.setVendusertel(admin.getUserTel());
|
|
|
+ record.setVendusername(admin.getUserName());
|
|
|
+ }
|
|
|
+ recordDao.save(record);
|
|
|
+ String inviteInfo = "企业名称: " + enterpriseInfo.getEnName() + ";"
|
|
|
+ + "邀请企业: " + inviteEnterprise.getEnName() + "(" + inviteEnterprise.getUu() + ");"
|
|
|
+ + "邀请人: " + inviteUser.getUserName() + "(" + inviteUser.getUserUU() + ")";
|
|
|
+ logger.log("添加合作伙伴", "企业注册添加合作伙伴", String.format("%s" + inviteInfo) , enterpriseInfo.getUu());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|