MCPcopy Create free account
hub / github.com/diyhi/bbs / addUser

Method addUser

src/main/java/cms/service/user/impl/UserServiceImpl.java:782–871  ·  view source on GitHub ↗

添加用户 @param userForm 用户表单 @param userRolesId 角色Id @param request 请求信息

(User userForm, String[] userRolesId, HttpServletRequest request)

Source from the content-addressed store, hash-verified

780 * @param request 请求信息
781 */
782 public void addUser(User userForm, String[] userRolesId, HttpServletRequest request) {
783 //用户自定义注册功能项参数
784 List<UserCustom> userCustomList = userCustomRepository.findAllUserCustom();
785
786 Map<String, String> errors = new HashMap<String, String>();
787 processAndValidateCustomFields(userCustomList, request, errors);
788
789 List<UserRoleGroup> userRoleGroupList = new ArrayList<UserRoleGroup>();
790 List<UserRole> userRoleList = userRoleRepository.findAllRole();
791 processAndValidateUserRoles(userRolesId, userRoleList,userRoleGroupList, request, errors);
792
793 if (!errors.isEmpty()) {
794 throw new BusinessException(errors);
795 }
796
797 User user = new User();
798
799 if(userForm.getType().equals(10)){//10:本地账号密码用户
800 user.setAccount(userForm.getAccount().trim());
801 user.setUserName(UUIDUtil.getUUID22());
802 user.setIssue(userForm.getIssue().trim());
803 //密码提示答案由 密码提示答案原文sha256 进行sha256组成
804 user.setAnswer(SHA.sha256Hex(SHA.sha256Hex(userForm.getAnswer().trim())));
805 user.setPlatformUserId(user.getUserName());
806 }else if(userForm.getType().equals(20)){//20: 手机用户
807 String id = UUIDUtil.getUUID22();
808 user.setUserName(id);//会员用户名
809 user.setAccount(userComponent.queryUserIdentifier(20)+"-"+id);//用户名和账号可以用不相同的UUID
810 user.setPlatformUserId(userComponent.thirdPartyUserIdToPlatformUserId(userForm.getMobile().trim(),20));
811 }else if(userForm.getType().equals(30)){//30: 邮箱用户
812 String id = UUIDUtil.getUUID22();
813 user.setUserName(id);//会员用户名
814 user.setAccount(userComponent.queryUserIdentifier(30)+"-"+id);//用户名和账号可以用不相同的UUID
815 user.setPlatformUserId(userComponent.thirdPartyUserIdToPlatformUserId(userForm.getEmail().trim(),30));
816 }
817
818
819
820 user.setSalt(UUIDUtil.getUUID32());
821
822 if(userForm.getNickname() != null && !userForm.getNickname().trim().isEmpty()){
823 user.setNickname(userForm.getNickname().trim());
824 }
825
826 //密码
827 user.setPassword(SHA.sha256Hex(SHA.sha256Hex(userForm.getPassword().trim())+"["+user.getSalt()+"]"));
828 user.setEmail(userForm.getEmail().trim());
829
830
831 user.setRegistrationDate(LocalDateTime.now());
832 user.setRemarks(userForm.getRemarks());
833 user.setState(userForm.getState());
834
835 user.setMobile(userForm.getMobile().trim());
836 user.setRealNameAuthentication(userForm.isRealNameAuthentication());
837 //允许显示用户动态
838 user.setAllowUserDynamic(userForm.getAllowUserDynamic());
839 user.setSecurityDigest(new Date().getTime());

Callers

nothing calls this directly

Calls 15

getUUID22Method · 0.95
sha256HexMethod · 0.95
getUUID32Method · 0.95
queryUserIdentifierMethod · 0.80
getNicknameMethod · 0.80
setNicknameMethod · 0.80
setPasswordMethod · 0.80
getPasswordMethod · 0.80
setSecurityDigestMethod · 0.80

Tested by

no test coverage detected