From 77d286f035f7705309b150a0acdaf7094606fc70 Mon Sep 17 00:00:00 2001 From: qiaowei Date: Mon, 15 Apr 2019 15:53:04 +0800 Subject: [PATCH] =?utf8?q?=E7=94=A8=E6=88=B7=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../dlpay/framework/dao/ShopDao.java | 11 +++ .../dlpay/framework/domain/TShop.java | 23 +++++- .../consume/controller/consume_service.kt | 11 ++- .../supwisdom/dlpay/shop/bean/shop_param.kt | 21 +++++ .../dlpay/shop/controller/shop_controller.kt | 67 ++++++++++++++-- .../shop/service/impl/shop_service_impl.kt | 49 ++++++++++++ .../dlpay/shop/service/shop_service.kt | 19 +++++ .../dlpay/user/controller/user_controller.kt | 76 +++++++++++++++++++ .../user/service/impl/user_service_impl.kt | 55 ++++++++++++++ .../dlpay/user/service/user_service.kt | 23 ++++++ 10 files changed, 342 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/supwisdom/dlpay/framework/dao/ShopDao.java create mode 100644 src/main/kotlin/com/supwisdom/dlpay/shop/bean/shop_param.kt create mode 100644 src/main/kotlin/com/supwisdom/dlpay/shop/service/impl/shop_service_impl.kt create mode 100644 src/main/kotlin/com/supwisdom/dlpay/shop/service/shop_service.kt create mode 100644 src/main/kotlin/com/supwisdom/dlpay/user/controller/user_controller.kt create mode 100644 src/main/kotlin/com/supwisdom/dlpay/user/service/impl/user_service_impl.kt create mode 100644 src/main/kotlin/com/supwisdom/dlpay/user/service/user_service.kt 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 00000000..2eb003e6 --- /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 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 978f8be2..9263fa1e 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 @@ public class TShop { @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 e16ab7bf..1c36a130 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 @@ class ConsumeController { 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 00000000..4b8388a6 --- /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 c92f7f52..9647b472 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 { + 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 { + 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 00000000..c7d70dbe --- /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 00000000..a42b86bd --- /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 00000000..3c6ca0c3 --- /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 { + 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 { + 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 00000000..8842924a --- /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 00000000..57dd1089 --- /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 -- 2.17.1