用户接口
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/ShopDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/ShopDao.java
new file mode 100644
index 0000000..2eb003e
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/ShopDao.java
@@ -0,0 +1,11 @@
+package com.supwisdom.dlpay.framework.dao;
+
+import com.supwisdom.dlpay.framework.domain.TShop;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+/**
+ * Created by shuwei on 2019/4/15.
+ */
+public interface ShopDao extends JpaRepository<TShop, Integer> {
+ TShop getByThirdUniqueIdenty(String thirdUniqueIdenty);
+}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TShop.java b/src/main/java/com/supwisdom/dlpay/framework/domain/TShop.java
index 978f8be..9263fa1 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/domain/TShop.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/domain/TShop.java
@@ -1,14 +1,15 @@
package com.supwisdom.dlpay.framework.domain;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+
+import javax.persistence.*;
@Entity
@Table(name = "TB_SHOP")
public class TShop {
+
@Id
+ @SequenceGenerator(name = "shopid", sequenceName = "SEQ_SHOP", allocationSize = 1)
+ @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "shopid")
@Column(name="SHOPID", nullable = false, precision = 9)
private Integer shopid;
@@ -57,6 +58,20 @@
@Column(name="CLOSEDATE", length = 8)
private String closedate;
+ /**
+ * 第三方唯一ID
+ * */
+ @Column(name="THIRD_UNIQUE_IDENTY", length = 40)
+ private String thirdUniqueIdenty;
+
+ public String getThirdUniqueIdenty() {
+ return thirdUniqueIdenty;
+ }
+
+ public void setThirdUniqueIdenty(String thirdUniqueIdenty) {
+ this.thirdUniqueIdenty = thirdUniqueIdenty;
+ }
+
public Integer getShopid() {
return shopid;
}
diff --git a/src/main/kotlin/com/supwisdom/dlpay/consume/controller/consume_service.kt b/src/main/kotlin/com/supwisdom/dlpay/consume/controller/consume_service.kt
index e16ab7b..1c36a13 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/consume/controller/consume_service.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/consume/controller/consume_service.kt
@@ -121,11 +121,16 @@
return if (code.retcode == "0") {
val suc = PersonTransBuilder.newBuilder(accountUtilServcie)
.done(dtl.refno, TradeDict.DTL_STATUS_SUCCESS, personBalancePayService)
- ResponseEntity.ok(suc)
+ ResponseEntity.ok(ResponseBodyBuilder.create()
+ .success()
+ .data("refno", suc.refno)
+ .build())
} else {
- val fail = PersonTransBuilder.newBuilder(accountUtilServcie)
+ PersonTransBuilder.newBuilder(accountUtilServcie)
.done(dtl.refno, TradeDict.DTL_STATUS_FAIL, personBalancePayService)
- ResponseEntity.ok(fail)
+ ResponseEntity.ok(ResponseBodyBuilder.create()
+ .result(1, code.retmsg)
+ .build())
}
}
}
\ No newline at end of file
diff --git a/src/main/kotlin/com/supwisdom/dlpay/shop/bean/shop_param.kt b/src/main/kotlin/com/supwisdom/dlpay/shop/bean/shop_param.kt
new file mode 100644
index 0000000..4b8388a
--- /dev/null
+++ b/src/main/kotlin/com/supwisdom/dlpay/shop/bean/shop_param.kt
@@ -0,0 +1,21 @@
+package com.supwisdom.dlpay.shop.bean
+
+/**
+ * 请求参数
+ */
+class ShopParam {
+ var shopid: Int? = 0
+ var addr: String? = ""
+ var shopname: String = ""
+ var mobile: String = ""
+ var contactman: String = ""
+ var uniqueId: String? = ""
+}
+
+class UserParam {
+ var uniqueId: String? = ""
+ var userid: String? = ""
+ var name: String = ""
+ var addr: String? = ""
+ var mobile: String? = ""
+}
\ No newline at end of file
diff --git a/src/main/kotlin/com/supwisdom/dlpay/shop/controller/shop_controller.kt b/src/main/kotlin/com/supwisdom/dlpay/shop/controller/shop_controller.kt
index c92f7f5..9647b47 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/shop/controller/shop_controller.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/shop/controller/shop_controller.kt
@@ -1,16 +1,71 @@
package com.supwisdom.dlpay.shop.controller
-import org.springframework.web.bind.annotation.RequestMapping
-import org.springframework.web.bind.annotation.RestController
+import com.supwisdom.dlpay.framework.ResponseBodyBuilder
+import com.supwisdom.dlpay.framework.domain.TShop
+import com.supwisdom.dlpay.framework.service.SystemUtilService
+import com.supwisdom.dlpay.framework.util.TradeDict
+import com.supwisdom.dlpay.shop.bean.ShopParam
+import com.supwisdom.dlpay.shop.service.ShopService
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.http.ResponseEntity
+import org.springframework.web.bind.annotation.*
/**
- * Created by shuwei on 2019/4/15.
+ * 接口签名值等
*/
@RestController
@RequestMapping("/shop")
-class ShopController{
- @RequestMapping("/open")
- fun openAccount(){
+class ShopController {
+ @Autowired
+ private lateinit var shopService: ShopService
+ @PostMapping("/open")
+ fun openAccount(@RequestBody request: ShopParam): ResponseEntity<Any> {
+ if (request.uniqueId != null && request.uniqueId != "") {
+ var shop = shopService.findByThirdUniqueId(request.uniqueId!!)
+ if (shop != null) {
+ return ResponseEntity.ok(ResponseBodyBuilder.create()
+ .result(1, "[uniqueId]该值已存在")
+ .build())
+ }
+ }
+ val shop = TShop()
+ shop.addr = request.addr
+ shop.contactman = request.contactman
+ shop.mobile = request.mobile
+ shop.shopname = request.shopname
+ shop.status = TradeDict.STATUS_NORMAL
+ shop.thirdUniqueIdenty = request.uniqueId
+ shopService.save(shop)
+ return ResponseEntity.ok(ResponseBodyBuilder.create()
+ .success()
+ .data("shopid", shop.shopid)
+ .build())
}
+
+ @GetMapping("/get")
+ fun queryShop(@RequestBody request: ShopParam): ResponseEntity<Any> {
+ if (request.uniqueId != null && request.uniqueId != "") {
+ var shop = shopService.findByThirdUniqueId(request.uniqueId!!)
+ if (shop != null) {
+ return ResponseEntity.ok(ResponseBodyBuilder.create()
+ .success()
+ .data("shop", shop)
+ .build())
+ }
+ } else if (request.shopid != null && request.shopid != 0) {
+ var shop = shopService.findByShopId(request.shopid!!)
+ if (shop != null) {
+ return ResponseEntity.ok(ResponseBodyBuilder.create()
+ .success()
+ .data("shop", shop)
+ .build())
+ }
+ }
+ return ResponseEntity.ok(ResponseBodyBuilder.create()
+ .result(1, "数据不存在")
+ .build())
+ }
+
+
}
\ No newline at end of file
diff --git a/src/main/kotlin/com/supwisdom/dlpay/shop/service/impl/shop_service_impl.kt b/src/main/kotlin/com/supwisdom/dlpay/shop/service/impl/shop_service_impl.kt
new file mode 100644
index 0000000..c7d70db
--- /dev/null
+++ b/src/main/kotlin/com/supwisdom/dlpay/shop/service/impl/shop_service_impl.kt
@@ -0,0 +1,49 @@
+package com.supwisdom.dlpay.shop.service.impl
+
+import com.supwisdom.dlpay.framework.dao.ShopDao
+import com.supwisdom.dlpay.framework.dao.ShopaccDao
+import com.supwisdom.dlpay.framework.domain.TShop
+import com.supwisdom.dlpay.framework.domain.TShopacc
+import com.supwisdom.dlpay.framework.service.SystemUtilService
+import com.supwisdom.dlpay.shop.service.ShopService
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.stereotype.Service
+
+/**
+ * Created by shuwei on 2019/4/15.
+ */
+@Service
+class ShopServiceImpl : ShopService {
+ @Autowired
+ private lateinit var shopDao: ShopDao
+ @Autowired
+ private lateinit var shopaccDao: ShopaccDao
+ @Autowired
+ private lateinit var systemUtilService: SystemUtilService
+
+ override fun findByThirdUniqueId(uniqueId: String): TShop? {
+ return shopDao.getByThirdUniqueIdenty(uniqueId)
+ }
+
+ override fun save(shop: TShop): TShop {
+ var systemdatetime = systemUtilService.sysdatetime
+ shop.opendate = systemdatetime.hostdate
+ shopDao.save(shop)
+ var shopacc = shopaccDao.findByShopid(shop.shopid)
+ if (shopacc == null) {
+ shopacc = TShopacc()
+ shopacc.shopid = shop.shopid
+ shopacc.shopname = shop.shopname
+ shopacc.status = shop.status
+ shopacc.subjno = "2004"
+ shopacc.opendate = systemdatetime.hostdate
+ shopacc.shopaccno = String.format("2%09d",shop.shopid)
+ shopaccDao.save(shopacc)
+ }
+ return shop
+ }
+
+ override fun findByShopId(shopid: Int): TShop? {
+ return shopDao.getOne(shopid)
+ }
+}
\ No newline at end of file
diff --git a/src/main/kotlin/com/supwisdom/dlpay/shop/service/shop_service.kt b/src/main/kotlin/com/supwisdom/dlpay/shop/service/shop_service.kt
new file mode 100644
index 0000000..a42b86b
--- /dev/null
+++ b/src/main/kotlin/com/supwisdom/dlpay/shop/service/shop_service.kt
@@ -0,0 +1,19 @@
+package com.supwisdom.dlpay.shop.service
+
+import com.supwisdom.dlpay.framework.domain.TShop
+import org.springframework.transaction.annotation.Propagation
+import org.springframework.transaction.annotation.Transactional
+
+/**
+ * Created by shuwei on 2019/4/15.
+ */
+interface ShopService {
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class))
+ fun save(shop: TShop): TShop
+
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class), readOnly = true)
+ fun findByThirdUniqueId(uniqueId: String): TShop?
+
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class), readOnly = true)
+ fun findByShopId(shopid: Int): TShop?
+}
\ No newline at end of file
diff --git a/src/main/kotlin/com/supwisdom/dlpay/user/controller/user_controller.kt b/src/main/kotlin/com/supwisdom/dlpay/user/controller/user_controller.kt
new file mode 100644
index 0000000..3c6ca0c
--- /dev/null
+++ b/src/main/kotlin/com/supwisdom/dlpay/user/controller/user_controller.kt
@@ -0,0 +1,76 @@
+package com.supwisdom.dlpay.user.controller
+
+import com.supwisdom.dlpay.consume.domain.TPerson
+import com.supwisdom.dlpay.framework.ResponseBodyBuilder
+import com.supwisdom.dlpay.framework.util.TradeDict
+import com.supwisdom.dlpay.shop.bean.UserParam
+import com.supwisdom.dlpay.user.service.UserService
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.http.ResponseEntity
+import org.springframework.web.bind.annotation.*
+
+/**
+ * Created by shuwei on 2019/4/15.
+ */
+@RestController
+@RequestMapping("/user")
+class UserController {
+ @Autowired
+ private lateinit var useService: UserService
+
+ @PostMapping("/open")
+ fun openAccount(@RequestBody request: UserParam): ResponseEntity<Any> {
+ if (request.uniqueId != null && request.uniqueId != "") {
+ var person = useService.findByThirdUniqueIdenty(request.uniqueId!!)
+ if (person != null) {
+ return ResponseEntity.ok(ResponseBodyBuilder.create()
+ .result(1, "[uniqueId]该值已存在")
+ .build())
+ }
+ }
+ if (request.name == null) {
+ return ResponseEntity.ok(ResponseBodyBuilder.create()
+ .result(1, "[name]不能为空")
+ .build())
+ }
+ val person = TPerson()
+ person.addr = request.addr
+ person.name = request.name
+ person.mobile = request.mobile
+ person.status = TradeDict.STATUS_NORMAL
+ person.thirdUniqueIdenty = request.uniqueId
+ useService.save(person)
+ return ResponseEntity.ok(ResponseBodyBuilder.create()
+ .success()
+ .data("userid", person.userid)
+ .build())
+ }
+
+ @GetMapping("/get")
+ fun queryShop(@RequestBody request: UserParam): ResponseEntity<Any> {
+ if (request.uniqueId != null && request.uniqueId != "") {
+ var person = useService.findByThirdUniqueIdenty(request.uniqueId!!)
+ if (person != null) {
+ var account = useService.findAccountByUserid(person.userid)
+ return ResponseEntity.ok(ResponseBodyBuilder.create()
+ .success()
+ .data("person", person)
+ .data("account", account!!)
+ .build())
+ }
+ } else if (request.userid != null && request.userid != "") {
+ var person = useService.findPersonByUserid(request.userid!!)
+ if (person != null) {
+ var account = useService.findAccountByUserid(person.userid)
+ return ResponseEntity.ok(ResponseBodyBuilder.create()
+ .success()
+ .data("person", person)
+ .data("account", account!!)
+ .build())
+ }
+ }
+ return ResponseEntity.ok(ResponseBodyBuilder.create()
+ .result(1, "数据不存在")
+ .build())
+ }
+}
\ No newline at end of file
diff --git a/src/main/kotlin/com/supwisdom/dlpay/user/service/impl/user_service_impl.kt b/src/main/kotlin/com/supwisdom/dlpay/user/service/impl/user_service_impl.kt
new file mode 100644
index 0000000..8842924
--- /dev/null
+++ b/src/main/kotlin/com/supwisdom/dlpay/user/service/impl/user_service_impl.kt
@@ -0,0 +1,55 @@
+package com.supwisdom.dlpay.user.service.impl
+
+import com.supwisdom.dlpay.consume.dao.AccountDao
+import com.supwisdom.dlpay.consume.dao.PersonDao
+import com.supwisdom.dlpay.consume.domain.TAccount
+import com.supwisdom.dlpay.consume.domain.TPerson
+import com.supwisdom.dlpay.framework.service.SystemUtilService
+import com.supwisdom.dlpay.user.service.UserService
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.stereotype.Service
+
+/**
+ * Created by shuwei on 2019/4/15.
+ */
+@Service
+class UserServiceImpl : UserService {
+ @Autowired
+ private lateinit var personDao: PersonDao
+ @Autowired
+ private lateinit var accountDao: AccountDao
+ @Autowired
+ private lateinit var systemUtilService: SystemUtilService
+
+ override fun save(person: TPerson): TPerson {
+ personDao.save(person)
+ var account = accountDao.findByUserid(person.userid)
+ if (account == null) {
+ var systemdatetime = systemUtilService.sysdatetime
+ account = TAccount()
+ account.accname = person.name
+ account.opendate = systemdatetime.hostdate
+ account.userid = person.userid
+ account.status = person.status
+ account.subjno = "220201"
+ account.balance = 0.0
+ account.availbal = 0.0
+ account.frozebal = 0.0
+ account.lowfreeFlag = false
+ accountDao.save(account)
+ }
+ return person
+ }
+
+ override fun findByThirdUniqueIdenty(thirdUniqueIdenty: String): TPerson? {
+ return personDao.findByThirdUniqueIdenty(thirdUniqueIdenty)
+ }
+
+ override fun findPersonByUserid(userid: String): TPerson? {
+ return personDao.getOne(userid)
+ }
+
+ override fun findAccountByUserid(userid: String): TAccount? {
+ return accountDao.findByUserid(userid)
+ }
+}
\ No newline at end of file
diff --git a/src/main/kotlin/com/supwisdom/dlpay/user/service/user_service.kt b/src/main/kotlin/com/supwisdom/dlpay/user/service/user_service.kt
new file mode 100644
index 0000000..57dd108
--- /dev/null
+++ b/src/main/kotlin/com/supwisdom/dlpay/user/service/user_service.kt
@@ -0,0 +1,23 @@
+package com.supwisdom.dlpay.user.service
+
+import com.supwisdom.dlpay.consume.domain.TAccount
+import com.supwisdom.dlpay.consume.domain.TPerson
+import org.springframework.transaction.annotation.Propagation
+import org.springframework.transaction.annotation.Transactional
+
+/**
+ * Created by shuwei on 2019/4/15.
+ */
+interface UserService {
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class))
+ fun save(person: TPerson): TPerson
+
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class), readOnly = true)
+ fun findByThirdUniqueIdenty(thirdUniqueIdenty: String): TPerson?
+
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class), readOnly = true)
+ fun findPersonByUserid(userid: String): TPerson?
+
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class), readOnly = true)
+ fun findAccountByUserid(userid: String): TAccount?
+}
\ No newline at end of file