wangwei преди 6 години
родител
ревизия
9e870af65c
променени са 1 файла, в които са добавени 30 реда и са изтрити 2 реда
  1. 30 2
      examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/OrgServiceImpl.java

+ 30 - 2
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/OrgServiceImpl.java

@@ -20,6 +20,8 @@ import cn.com.qmth.examcloud.commons.base.helpers.DynamicEnum;
 import cn.com.qmth.examcloud.commons.base.helpers.DynamicEnumManager;
 import cn.com.qmth.examcloud.commons.base.helpers.poi.ExcelReader;
 import cn.com.qmth.examcloud.commons.base.util.PathUtil;
+import cn.com.qmth.examcloud.commons.web.security.enums.RoleMeta;
+import cn.com.qmth.examcloud.core.basic.base.constants.BasicConsts;
 import cn.com.qmth.examcloud.core.basic.dao.ExamSiteRepo;
 import cn.com.qmth.examcloud.core.basic.dao.OrgPropertyRepo;
 import cn.com.qmth.examcloud.core.basic.dao.OrgRepo;
@@ -29,6 +31,9 @@ import cn.com.qmth.examcloud.core.basic.dao.UserRepo;
 import cn.com.qmth.examcloud.core.basic.dao.UserRoleRelationRepo;
 import cn.com.qmth.examcloud.core.basic.dao.entity.OrgEntity;
 import cn.com.qmth.examcloud.core.basic.dao.entity.OrgPropertyEntity;
+import cn.com.qmth.examcloud.core.basic.dao.entity.RoleEntity;
+import cn.com.qmth.examcloud.core.basic.dao.entity.UserEntity;
+import cn.com.qmth.examcloud.core.basic.dao.entity.UserRoleRelationEntity;
 import cn.com.qmth.examcloud.core.basic.dao.enums.OrgProperty;
 import cn.com.qmth.examcloud.core.basic.service.OrgService;
 import cn.com.qmth.examcloud.core.basic.service.bean.OrgInfo;
@@ -57,7 +62,7 @@ public class OrgServiceImpl implements OrgService {
 	@Autowired
 	StudentRepo studentRepo;
 
-	private static final String[] EXCEL_HEADER = new String[]{"专业名称", "专业代码"};
+	private static final String[] EXCEL_HEADER = new String[]{"机构名称", "机构代码", "联系人", "联系电话"};
 
 	/*
 	 * 保存顶级机构
@@ -365,12 +370,35 @@ public class OrgServiceImpl implements OrgService {
 			info.setContacts(cur.getContacts());
 			info.setTelephone(cur.getTelephone());
 			info.setRemark(cur.getRemark());
-			saveSubOrg(info);
+			OrgEntity saved = saveSubOrg(info);
+			createLearnerCenterUser(saved);
 		}
 
 		return failRecords;
 	}
 
+	public void createLearnerCenterUser(OrgEntity org) {
+		UserEntity user = userRepo.findByRootOrgIdAndLoginName(org.getRootId(), org.getCode());
+		if (null != user) {
+			return;
+		}
+		user = new UserEntity();
+		user.setRootOrgId(org.getRootId());
+		user.setOrgId(org.getId());
+		user.setLoginName(org.getCode());
+		user.setName(org.getContacts());
+		user.setPhoneNumber(org.getTelephone());
+		user.setEnable(true);
+		user.setPassword(BasicConsts.DEFAULT_PASSWORD);
+		UserEntity savedUser = userRepo.save(user);
+		List<UserRoleRelationEntity> userRoles = Lists.newArrayList();
+		RoleEntity role = roleRepo.findByCode(RoleMeta.LC_USER.name());
+		UserRoleRelationEntity relation = new UserRoleRelationEntity(savedUser.getId(),
+				role.getId());
+		userRoles.add(relation);
+		userRoleRelationRepo.save(userRoles);
+	}
+
 	private Map<String, Object> newError(int lineNum, String msg) {
 		Map<String, Object> map = Maps.newHashMap();
 		map.put("lineNum", lineNum);