tenterprise_users.java 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package p2.application.tenterprise_users;
  2. import baseclass.PaoCust;
  3. import com.cnd3b.common.data.Row;
  4. import com.cnd3b.common.data.Rows;
  5. import com.cnd3b.common.data.db.DBConnect;
  6. import p2.pao.PaoSet;
  7. import p2.util.P2Exception;
  8. import p2.application.tagents.tagents;
  9. import p2.application.tenterprise.tenterprise;
  10. import java.util.ArrayList;
  11. import java.util.Random;
  12. public class tenterprise_users extends PaoCust {
  13. public tenterprise_users(PaoSet arg0) {
  14. super(arg0);
  15. }
  16. @Override
  17. public void add() throws P2Exception {
  18. super.add();
  19. if (getOwner() instanceof tagents) {
  20. setValue("tagentsid", getOwner().getUniqueIDValue(), 11L);
  21. setValue("fusertype", "¾­ÏúÉÌ", 11L);
  22. } else if (getOwner() instanceof tenterprise) {
  23. setValue("fusertype", "ÆóÒµ", 11L);
  24. }
  25. setValue("faccountno", createAccount());
  26. }
  27. @Override
  28. protected void save() throws P2Exception {
  29. super.save();
  30. }
  31. public static long maxAccount = 0L;
  32. public static ArrayList<Long> accountList = new ArrayList<>();
  33. private long createAccount() {
  34. if (maxAccount == 0) {
  35. DBConnect dbConnect = new DBConnect();
  36. Row rows = dbConnect.runSqlQuery(0, "select convert(bigint,isnull(max(faccountno),100001)) as faccountno from tenterprise_users");
  37. maxAccount = rows.getLong("faccountno");
  38. Rows rows2 = dbConnect.runSqlQuery("select faccountno from tenterprise_users");
  39. for (Row row : rows2) {
  40. accountList.add(Long.parseLong(row.getString("faccountno")));
  41. }
  42. }
  43. maxAccount = maxAccount + 1;
  44. if (accountList.contains(maxAccount)) {
  45. return createAccount();
  46. } else {
  47. accountList.add(maxAccount);
  48. return maxAccount;
  49. }
  50. }
  51. public static ArrayList<String> ShortCodelist = new ArrayList<>();
  52. private String createShortCode() {
  53. if (ShortCodelist.isEmpty()) {
  54. DBConnect dbConnect = new DBConnect();
  55. Rows rows = dbConnect.runSqlQuery("select fshortcode from tenterprise_users");
  56. ShortCodelist = rows.toArrayList("fshortcode");
  57. }
  58. String allChar = "1234567890";
  59. StringBuffer sb = new StringBuffer();
  60. Random random = new Random();
  61. for (int i = 0; i < 7; i++) {
  62. sb.append(allChar.charAt(random.nextInt(allChar.length())));
  63. }
  64. if (ShortCodelist.contains(sb.toString())) {
  65. return createShortCode();
  66. } else {
  67. ShortCodelist.add(sb.toString());
  68. return sb.toString();
  69. }
  70. }
  71. }