修改tac生成方法
diff --git a/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java b/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
index be86202..41a1adc 100644
--- a/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
+++ b/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
@@ -162,7 +162,7 @@
     //param.setTenantid("default");
     param.setShopaccno("2000000012");
     param.setQrcode("134985742861278239");
-    param.setUserid("402882816be4b6b9016be4b78ab30001");
+    param.setUserid("402882816c2727a2016c2728165f0001");
     param.setDtltype("canteen");
     param.setSpip("172.28.43.3");
     QrcodePayResponse response = consumePropxy.qrcodePayInit(param);
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TAccount.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TAccount.java
index ccbb872..150f0cd 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TAccount.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TAccount.java
@@ -264,6 +264,7 @@
         + MoneyUtil.YuanToFen(this.availbal)
         + MoneyUtil.YuanToFen(this.balance)
         + MoneyUtil.YuanToFen(this.frozebal);
+    System.out.println("accno="+this.accno+",data="+data);
     return Signature.generateTac(this.accno, data);
   }
 
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/util/Signature.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/Signature.java
index 849d275..184130f 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/util/Signature.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/Signature.java
@@ -16,6 +16,7 @@
     if (tenant == null) {
       throw new IllegalArgumentException("TenantID 未定义");
     }
+    System.out.println("factor="+factor+",data="+data+",tenant="+tenant);
     return HMACUtil.sha256HMAC(deliveryKey(tenant, factor), data).substring(0, 24);
   }
 }
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/ShopDataServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/ShopDataServiceImpl.java
index a7cf9a7..dde1fe6 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/ShopDataServiceImpl.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/ShopDataServiceImpl.java
@@ -146,8 +146,9 @@
         shopacc.setOpendate(dt.getHostdate());
         shopacc.setBalance(0D);
         shopacc.setTenantId(shop.getTenantId());
+        shopacc = shopaccDao.save(shopacc);
+        shopacc.setMac(shopacc.genMAC());
         shopaccDao.save(shopacc);
-
         shop.setShopaccno(shopacc.getShopaccno());
         shopDao.save(shop);
 
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java
index 0cc0b4d..8b04848 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java
@@ -118,8 +118,9 @@
       account.setLastdayDpsamt(0.0);
       account.setLastdayTransamt(0.0);
       account.setOpendate(systemDateTime.getHostdate());
-      account.setTac(account.generateTac());
       account.setTenantid(person.getTenantid());
+      account = accountDao.save(account);
+      account.setTac(account.generateTac());
       accountDao.save(account);
     }
     return JsonResult.ok("添加成功");
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/shop_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/shop_service_impl.kt
index 50a80d1..ff890fb 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/shop_service_impl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/shop_service_impl.kt
@@ -67,7 +67,7 @@
         if (shoptypeCheck.isInEnums(shop.shoptype, ShopTypes.NORMAL)) {
             //非商户组要创建账号
             val shopaccno = String.format("2%09d", shop.shopid)
-            shopaccDao.save(TShopacc().apply {
+            var acc = shopaccDao.save(TShopacc().apply {
                 this.shopaccno = shopaccno
                 this.shopid = shop.shopid
                 this.shopname = shop.shopname
@@ -76,6 +76,8 @@
                 this.opendate = shop.opendate
                 this.tenantId = param.tenantid
             })
+            acc.mac = acc.genMAC()
+            shopaccDao.save(acc)
             shop.shopaccno = shopaccno
             shopDao.save(shop) //更新账号
         }
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/user_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/user_service_impl.kt
index 80ad233..c19454b 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/user_service_impl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/user_service_impl.kt
@@ -56,7 +56,7 @@
 
         if (accountDao.findByUseridAndSubjno(person.userid, Subject.SUBJNO_PERSONAL_DEPOSIT) == null) {
             //开户
-            TAccount().apply {
+            var a = TAccount().apply {
                 accname = person.name
                 subjno = Subject.SUBJNO_PERSONAL_DEPOSIT
                 userid = person.userid
@@ -75,6 +75,8 @@
                 tac = this.generateTac()
                 accountDao.save(this)
             }
+            a.tac = a.generateTac()
+            accountDao.save(a)
         }
         personIdentityDao.save(TPersonIdentity().apply {
             thirdUid = param.uid