ฉันกำลังสร้างผู้ใช้ด้วยตนเองโดยการสร้างแบบฟอร์มรายละเอียดผู้ใช้และเรียก UserLocalServiceUtil.addUser()
ทุกอย่างทำงานได้ดี ฉันสามารถเพิ่มผู้ใช้ใหม่ได้ เมื่อคลิกปุ่มบันทึกในแบบฟอร์มรายละเอียดผู้ใช้ของฉัน ฉันกำลังส่งรายละเอียดแบบฟอร์มไปยังคลาสการดำเนินการของฉัน addUser()
ในวิธีนี้ ฉันกำลังเรียกใช้วิธีต่อไปนี้เพื่อสร้างผู้ใช้
try {
UserLocalServiceUtil.addUser(creatorUserId, companyId, autoPassword, password1,
password2, autoScreenName, screenName, emailAddress, mySite, openId,
locale, firstName, middleName, lastName, prefixId, suffixId, male,
birthdayMonth, birthdayDay, birthdayYear, jobTitle, groupIds,
organizationIds, roleIds, userGroupIds, sendEmail, serviceContext);
} catch(Exception e){
System.out.println(e.getMessage());
}
ผู้ใช้กำลังสร้างด้วยโค้ดด้านบน แต่ปัญหาคือฉันต้องการเพิ่มค่าฟิลด์ที่กำหนดเองในขณะที่เพิ่มผู้ใช้ด้วย รหัสเพื่อเพิ่มฟิลด์ที่กำหนดเองมีดังนี้
if(user.getExpandoBridge().hasAttribute("manager"))
{
user.getExpandoBridge().setAttribute("manager", manager);
System.out.println("Custom field is avaliable now !!! Update User entry ");
}
else
{
user.getExpandoBridge().addAttribute("manager");
user.getExpandoBridge().setAttribute("manager", manager);
System.out.println("Custom field is not avaliable !!! Update User entry ");
}
ตอนนี้ฉันจะรันโค้ดในวิธี addUser()
ได้อย่างไร ปัญหาของฉันคือฉันกำลังเพิ่มผู้ใช้โดยทางโปรแกรมโดยการเรียก UserLocalServiceUtil.addUser()
ดังนั้นฉันจึงไม่มี ID ผู้ใช้ที่สร้างขึ้นใหม่ ดังนั้นหากไม่มี ID ผู้ใช้ ฉันจะรับออบเจ็กต์ผู้ใช้สำหรับผู้ใช้ใหม่และดำเนินการตรรกะการแทรกของฟิลด์ที่กำหนดเองได้อย่างไร
ข้อเสนอแนะใด ๆ กรุณา ..
ฉันต้องสร้างผู้ใช้ด้วยค่าฟิลด์ที่กำหนดเองในเวลาเดียวกัน
ขอบคุณล่วงหน้า..