wangwei 7 lat temu
rodzic
commit
f789c1f8b0

+ 1 - 1
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/OrgController.java

@@ -291,7 +291,7 @@ public class OrgController extends ControllerSupport {
 	@PostMapping("/import")
 	public List<ExcelError> importLearnCenter(HttpServletRequest request,
 			@RequestParam CommonsMultipartFile file) throws Exception {
-		cn.com.qmth.examcloud.commons.web.security.bean.User accessUser = getAccessUser();
+		User accessUser = getAccessUser();
 
 		List<ExcelError> excelErrors = orgService.importLearnCenter(accessUser.getRootOrgId(),
 				file.getInputStream());

+ 2 - 0
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/UserController.java

@@ -234,6 +234,7 @@ public class UserController extends ControllerSupport {
 	@ApiOperation(value = "新增用户", notes = "新增")
 	@PostMapping
 	public Map<String, Object> addUser(@RequestBody UserForm userForm) {
+		trim(userForm);
 		userForm.setId(null);
 		return insertOrUpdateUser(userForm);
 	}
@@ -248,6 +249,7 @@ public class UserController extends ControllerSupport {
 	@ApiOperation(value = "更新用户", notes = "更新")
 	@PutMapping
 	public Map<String, Object> updateUser(@RequestBody UserForm userForm) {
+		trim(userForm);
 		if (null == userForm.getId()) {
 			throw new StatusException("B-150009", "user ID is null");
 		}

+ 38 - 1
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/OrgService.java

@@ -19,23 +19,34 @@ import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import com.google.common.collect.Lists;
+
 import cn.com.qmth.examcloud.commons.base.exception.StatusException;
 import cn.com.qmth.examcloud.commons.base.util.excel.ExcelError;
 import cn.com.qmth.examcloud.commons.base.util.excel.ExcelReader;
 import cn.com.qmth.examcloud.commons.base.util.excel.ExcelReaderHandle;
+import cn.com.qmth.examcloud.commons.web.security.enums.RoleMeta;
 import cn.com.qmth.examcloud.core.basic.dao.ExamSiteRepo;
 import cn.com.qmth.examcloud.core.basic.dao.OrgMemRepo;
 import cn.com.qmth.examcloud.core.basic.dao.OrgRepo;
+import cn.com.qmth.examcloud.core.basic.dao.RoleRepo;
 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.constants.Consts;
 import cn.com.qmth.examcloud.core.basic.dao.entity.ExamSite;
 import cn.com.qmth.examcloud.core.basic.dao.entity.Org;
+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.OrgType;
 import cn.com.qmth.examcloud.core.basic.service.bean.OrgDto;
 
 @Service
 public class OrgService {
 
+	@Autowired
+	RoleRepo roleRepo;
+
 	@Autowired
 	OrgRepo orgRepo;
 
@@ -51,6 +62,9 @@ public class OrgService {
 	@Autowired
 	OrgMemRepo orgMemRepo;
 
+	@Autowired
+	UserRoleRelationRepo userRoleRelationRepo;
+
 	@Transactional
 	public List<ExcelError> importLearnCenter(Long orgId, InputStream inputStream) {
 		ExcelReader excelReader = new ExcelReader(OrgDto.class);
@@ -78,10 +92,10 @@ public class OrgService {
 	private void saveOrgAndExamSite(OrgDto orgDto) {
 		Org org = orgRepo.findByParentIdAndCode(orgDto.getParentId(), orgDto.getCode());
 		if (org == null) {
-
 			Org tempOrg = orgRepo.save(orgAssembler(orgDto));
 			orgDto.setId(tempOrg.getId());
 			examSiteRepo.save(examSiteAssembler(orgDto));
+			createLeanCenterUser(tempOrg);
 		} else {
 			org.setName(orgDto.getName());
 			org.setContacts(orgDto.getContacts());
@@ -101,6 +115,29 @@ public class OrgService {
 
 	}
 
+	/**
+	 * 创建学习中心用户
+	 * 
+	 * @param org
+	 */
+	private void createLeanCenterUser(Org org) {
+		UserEntity user = userRepo.findByLoginName(org.getCode());
+		if (null != user) {
+			return;
+		}
+		user = new UserEntity();
+		user.setLoginName(org.getCode());
+		user.setEnable(true);
+		user.setPassword(Consts.DEFAULT_PASSWORD);
+		UserEntity saved = userRepo.save(user);
+		List<UserRoleRelationEntity> userRoles = Lists.newArrayList();
+		RoleEntity role = roleRepo.findByCode(RoleMeta.LC_USER.name());
+		UserRoleRelationEntity relation = new UserRoleRelationEntity(saved.getId(), role.getId(),
+				role.getCode());
+		userRoles.add(relation);
+		userRoleRelationRepo.save(userRoles);
+	}
+
 	private Org orgAssembler(OrgDto orgDto) {
 		Org org = new Org();
 		org.setRootId(orgDto.getRootId());