From: Xia Kaixiang Date: Tue, 7 May 2019 03:03:01 +0000 (+0800) Subject: 商户注册查询完善 X-Git-Tag: 1.0.0^2~234 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=be3d84e6874c732bb6d3e88a3485f921ae0c6120;p=epayment%2Ffood_payapi.git 商户注册查询完善 --- diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/ShopDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/ShopDao.java index 2eb003e6..fccf8009 100644 --- a/src/main/java/com/supwisdom/dlpay/framework/dao/ShopDao.java +++ b/src/main/java/com/supwisdom/dlpay/framework/dao/ShopDao.java @@ -2,10 +2,22 @@ package com.supwisdom.dlpay.framework.dao; import com.supwisdom.dlpay.framework.domain.TShop; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Lock; +import org.springframework.data.jpa.repository.Query; + +import javax.persistence.LockModeType; /** * Created by shuwei on 2019/4/15. */ public interface ShopDao extends JpaRepository { TShop getByThirdUniqueIdenty(String thirdUniqueIdenty); + + @Lock(LockModeType.PESSIMISTIC_WRITE) + @Query("select a from TShop a where a.thirdUniqueIdenty=?1") + TShop getByThirdUniqueIdentyForUpdate(String thirdUniqueIdenty); + + TShop getTShopByShopid(Integer shopid); + + TShop getTShopByShopaccno(String shopaccno); } 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 9263fa1e..664e1ad0 100644 --- a/src/main/java/com/supwisdom/dlpay/framework/domain/TShop.java +++ b/src/main/java/com/supwisdom/dlpay/framework/domain/TShop.java @@ -4,9 +4,9 @@ package com.supwisdom.dlpay.framework.domain; import javax.persistence.*; @Entity -@Table(name = "TB_SHOP") +@Table(name = "TB_SHOP", + indexes = {@Index(name = "shop_shopaccno_idx", columnList = "shopaccno")}) public class TShop { - @Id @SequenceGenerator(name = "shopid", sequenceName = "SEQ_SHOP", allocationSize = 1) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "shopid") @@ -61,9 +61,31 @@ public class TShop { /** * 第三方唯一ID * */ - @Column(name="THIRD_UNIQUE_IDENTY", length = 40) + @Column(name="THIRD_UNIQUE_IDENTY", length = 200) private String thirdUniqueIdenty; + public TShop() { + } + + public TShop(Integer fshopid, String shopname, Integer shoptype, String status, String shopaccno, String contactman, String idtype, String idno, String tel, String mobile, String email, String addr, String zipcode, String opendate, String closedate, String thirdUniqueIdenty) { + this.fshopid = fshopid; + this.shopname = shopname; + this.shoptype = shoptype; + this.status = status; + this.shopaccno = shopaccno; + this.contactman = contactman; + this.idtype = idtype; + this.idno = idno; + this.tel = tel; + this.mobile = mobile; + this.email = email; + this.addr = addr; + this.zipcode = zipcode; + this.opendate = opendate; + this.closedate = closedate; + this.thirdUniqueIdenty = thirdUniqueIdenty; + } + public String getThirdUniqueIdenty() { return thirdUniqueIdenty; } diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/TradeErrorCode.java b/src/main/java/com/supwisdom/dlpay/framework/util/TradeErrorCode.java index 13062efd..6411caca 100644 --- a/src/main/java/com/supwisdom/dlpay/framework/util/TradeErrorCode.java +++ b/src/main/java/com/supwisdom/dlpay/framework/util/TradeErrorCode.java @@ -105,4 +105,6 @@ public class TradeErrorCode { public static final int BUSINESS_DEAL_ERROR = 30000; //业务处理错误 + public static final int BUSINESS_SHOP_EXISTS = 30001; //商户已经存在 + } diff --git a/src/main/java/com/supwisdom/dlpay/util/ConstantUtil.java b/src/main/java/com/supwisdom/dlpay/util/ConstantUtil.java index 7342e18f..13af83c6 100644 --- a/src/main/java/com/supwisdom/dlpay/util/ConstantUtil.java +++ b/src/main/java/com/supwisdom/dlpay/util/ConstantUtil.java @@ -19,4 +19,6 @@ public class ConstantUtil { public static final String IDTYPE_OTHER = "9"; //其他 public static final String[] IDTYPE_DICTS = {"1", "2", "3", "4", "5", "9"}; //联动 + public static final int SHOPTYPE_GROUP = 0; //商户组 + public static final int SHOPTYPE_LEAF = 1; //末级商户,独立核算商户 } diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt b/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt index 79d56ea6..e3ab38ea 100644 --- a/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt +++ b/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt @@ -23,6 +23,7 @@ open class APIRequestParam { } } +// ============================ USER ============================ // class OpenUserParam : APIRequestParam() { var syscode: String = "" //必传 var uid: String = "" //必传 @@ -98,4 +99,53 @@ class ModifyUserParam : APIRequestParam() { param_map.plus(mapOf("syscode" to syscode, "userid" to userid, "uid" to uid, "name" to name, "sex" to sex, "idtype" to idtype, "idno" to idno, "mobile" to mobile, "tel" to tel, "email" to email, "address" to address, "zipcode" to zipcode, "sign" to sign)) return true } +} + + +// ============================ SHOP ============================ // +class OpenShopParam : APIRequestParam() { + var syscode: String = "" //必传 + var shopUniqueId: String = "" //必传 + var shoptype: Int = 1 + var fshopid: Int? = null + var shopname: String = "" //必传 + var contactman: String? = null + var idtype: String? = null + var idno: String? = null + var mobile: String? = null + var email: String? = null + var address: String? = null + var zipcode: String? = null + var sign: String = "" //必传 + + fun checkParam(): Boolean { + if (StringUtil.isEmpty(syscode)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "子系统注册代码不能为空") + if (StringUtil.isEmpty(shopUniqueId)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "商户唯一号不能为空") + if (ConstantUtil.SHOPTYPE_GROUP != shoptype && ConstantUtil.SHOPTYPE_LEAF != shoptype) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "请指定商户类型") + if (StringUtil.isEmpty(shopname)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "商户名称不能为空") + if (!StringUtil.isEmpty(idtype) && !ConstantUtil.IDTYPE_DICTS.contains(idtype)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "证件类型非法") + if (!StringUtil.isEmpty(idno) && !StringUtil.isCharAndNum(idno)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "证件号不能为空,且仅支持数字和字母") + if (!StringUtil.isEmpty(idno) && StringUtil.isEmpty(idtype)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "证件号不能为空时,请指定证件类型") + if (!StringUtil.isEmpty(mobile) && !StringUtil.isMobile(mobile)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "手机号格式错误") + if (!StringUtil.isEmpty(email) && !StringUtil.isEmail(email)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "邮箱格式错误") + + param_map.plus(mapOf("syscode" to syscode, "shopUniqueId" to shopUniqueId, "shoptype" to shoptype, "fshopid" to fshopid, "shopname" to shopname, "contactman" to contactman, "idtype" to idtype, "idno" to idno, "mobile" to mobile, "email" to email, "address" to address, "zipcode" to zipcode, "sign" to sign)) + return true + } +} + +class QueryShopParam : APIRequestParam() { + var syscode: String = "" //必传 + var shopid: Int? = null //注册时返回的shopid + var shopaccno: String? = null //注册时返回的shopaccno + var shopUniqueId: String? = null //注册传的商户唯一号 + var sign: String = "" //必传 + + fun checkParam(): Boolean { + if (StringUtil.isEmpty(syscode)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "子系统注册代码不能为空") + if (StringUtil.isEmpty(shopUniqueId) && null == shopid && StringUtil.isEmpty(shopaccno)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "商户唯一标志不能为空") + + param_map.plus(mapOf("syscode" to syscode, "shopUniqueId" to shopUniqueId, "shopid" to shopid, "shopaccno" to shopaccno, "sign" to sign)) + return true + } } \ No newline at end of file diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/controller/shop_api_controller.kt b/src/main/kotlin/com/supwisdom/dlpay/api/controller/shop_api_controller.kt new file mode 100644 index 00000000..a8f4bfc5 --- /dev/null +++ b/src/main/kotlin/com/supwisdom/dlpay/api/controller/shop_api_controller.kt @@ -0,0 +1,81 @@ +package com.supwisdom.dlpay.api.controller + +import com.supwisdom.dlpay.api.bean.OpenShopParam +import com.supwisdom.dlpay.api.bean.QueryShopParam +import com.supwisdom.dlpay.framework.ResponseBodyBuilder +import com.supwisdom.dlpay.api.service.ShopService +import com.supwisdom.dlpay.exception.RequestParamCheckException +import com.supwisdom.dlpay.exception.TransactionException +import com.supwisdom.dlpay.framework.service.SystemUtilService +import com.supwisdom.dlpay.framework.util.TradeErrorCode +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.http.ResponseEntity +import org.springframework.web.bind.annotation.* +import java.net.URLDecoder + +@RestController +@RequestMapping("/api/shop") +class ShopAPIController { + @Autowired + private lateinit var shopService: ShopService + @Autowired + private lateinit var systemUtilService: SystemUtilService + + @PostMapping("/open") + fun openAccount(@RequestBody request: OpenShopParam): ResponseEntity { + return try { + if (request.checkParam() && request.checkSign(systemUtilService.getSubsystemSignKey(request.syscode))) { + ResponseEntity.ok(ResponseBodyBuilder.create() + .fail(TradeErrorCode.REQUEST_SIGN_ERROR, "参数签名错误")) + } + shopService.findByThirdUniqueId(request.shopUniqueId)?.let { + ResponseEntity.ok(ResponseBodyBuilder.create() + .fail(TradeErrorCode.BUSINESS_SHOP_EXISTS, "该商户唯一号[${request.shopUniqueId}]已经存在")) + } + + request.shopname = request.shopname?.let { URLDecoder.decode(request.shopname, Charsets.UTF_8.toString()) } //解码 + request.contactman = request.contactman?.let { URLDecoder.decode(request.contactman, Charsets.UTF_8.toString()) } //解码 + request.address = request.address?.let { URLDecoder.decode(request.address, Charsets.UTF_8.toString()) } //解码 + shopService.registerShop(request)?.let { + ResponseEntity.ok(ResponseBodyBuilder.create() + .data("shopid", it.shopid) + .data("shopaccno",it.shopaccno?:"") + .success("注册成功")) + } + + ResponseEntity.ok(ResponseBodyBuilder.create() + .fail(TradeErrorCode.BUSINESS_DEAL_ERROR, "商户注册失败")) + } catch (ex: RequestParamCheckException) { + ResponseEntity.ok(ResponseBodyBuilder.create() + .requestException(ex, "请求参数错误")) + } catch (et: TransactionException) { + ResponseEntity.ok(ResponseBodyBuilder.create() + .transException(et, "业务处理错误")) + } + } + + @GetMapping("/query") + fun queryShop(@RequestBody request: QueryShopParam): ResponseEntity { + return try { + if (request.checkParam() && request.checkSign(systemUtilService.getSubsystemSignKey(request.syscode))) { + ResponseEntity.ok(ResponseBodyBuilder.create() + .fail(TradeErrorCode.REQUEST_SIGN_ERROR, "参数签名错误")) + } + + shopService.findByShopBySearch(request.shopid,request.shopaccno,request.shopUniqueId)?.let { + ResponseEntity.ok(ResponseBodyBuilder.create() + .data("shopid", it) + .success()) + } + + ResponseEntity.ok(ResponseBodyBuilder.create() + .fail(TradeErrorCode.SHOP_NOT_EXISTS, "商户不存在")) + } catch (ex: RequestParamCheckException) { + ResponseEntity.ok(ResponseBodyBuilder.create() + .requestException(ex, "请求参数错误")) + } catch (et: TransactionException) { + ResponseEntity.ok(ResponseBodyBuilder.create() + .transException(et, "业务处理错误")) + } + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/shop_service_impl.kt b/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/shop_service_impl.kt new file mode 100644 index 00000000..07c6c402 --- /dev/null +++ b/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/shop_service_impl.kt @@ -0,0 +1,94 @@ +package com.supwisdom.dlpay.api.service.impl + +import com.supwisdom.dlpay.api.bean.OpenShopParam +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.framework.util.Subject +import com.supwisdom.dlpay.api.service.ShopService +import com.supwisdom.dlpay.exception.TransactionProcessException +import com.supwisdom.dlpay.framework.util.StringUtil +import com.supwisdom.dlpay.framework.util.TradeDict +import com.supwisdom.dlpay.framework.util.TradeErrorCode +import com.supwisdom.dlpay.util.ConstantUtil +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 registerShop(param: OpenShopParam): TShop { + val systemdatetime = systemUtilService.sysdatetime + var shop = shopDao.getByThirdUniqueIdentyForUpdate(param.shopUniqueId) + if (null != shop) { + throw TransactionProcessException(TradeErrorCode.BUSINESS_SHOP_EXISTS, "该商户唯一号[${param.shopUniqueId}]已经存在") + } + if (null != param.fshopid) { + shopDao.getTShopByShopid(param.fshopid).let { + if (null == it) { + throw TransactionProcessException(TradeErrorCode.SHOP_NOT_EXISTS, "上级商户不存在已经存在") + } + } + } + shop = shopDao.save(TShop().apply { + fshopid = param.fshopid + shopname = param.shopname + shoptype = param.shoptype + status = TradeDict.STATUS_NORMAL + contactman = param.contactman + idtype = param.idtype + idno = param.idno + mobile = param.mobile + email = param.email + addr = param.address + zipcode = param.zipcode + opendate = systemdatetime.hostdate + thirdUniqueIdenty = param.shopUniqueId + }) + if (ConstantUtil.SHOPTYPE_GROUP != shop.shoptype) { + //非商户组要创建账号 + val shopaccno = String.format("2%09d", shop.shopid) + shopaccDao.save(TShopacc().apply { + this.shopaccno = shopaccno + this.shopid = shop.shopid + this.shopname = shop.shopname + this.subjno = Subject.SUBJNO_MACHANT_INCOME + this.status = TradeDict.STATUS_NORMAL + this.opendate = shop.opendate + }) + shop.shopaccno = shopaccno + shopDao.save(shop) //更新账号 + } + return shop + } + + override fun findByShopId(shopid: Int): TShop { + return shopDao.getTShopByShopid(shopid) + ?: throw TransactionProcessException(TradeErrorCode.SHOP_NOT_EXISTS, "商户[ID=$shopid]不存在") + } + + override fun findByShopBySearch(shopid: Int?, shopaccno: String?, shopUniqueId: String?): TShop? { + return if (null != shopid) { + shopDao.getTShopByShopid(shopid) + } else if (!StringUtil.isEmpty(shopaccno)) { + shopDao.getTShopByShopaccno(shopaccno) + } else { + shopDao.getByThirdUniqueIdenty(shopUniqueId) + } + } +} \ 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/api/service/shop_service.kt similarity index 61% rename from src/main/kotlin/com/supwisdom/dlpay/shop/service/shop_service.kt rename to src/main/kotlin/com/supwisdom/dlpay/api/service/shop_service.kt index a42b86bd..697bc11f 100644 --- a/src/main/kotlin/com/supwisdom/dlpay/shop/service/shop_service.kt +++ b/src/main/kotlin/com/supwisdom/dlpay/api/service/shop_service.kt @@ -1,5 +1,6 @@ -package com.supwisdom.dlpay.shop.service +package com.supwisdom.dlpay.api.service +import com.supwisdom.dlpay.api.bean.OpenShopParam import com.supwisdom.dlpay.framework.domain.TShop import org.springframework.transaction.annotation.Propagation import org.springframework.transaction.annotation.Transactional @@ -9,11 +10,14 @@ import org.springframework.transaction.annotation.Transactional */ interface ShopService { @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class)) - fun save(shop: TShop): TShop + fun registerShop(param: OpenShopParam): 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? + fun findByShopId(shopid: Int): TShop + + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = arrayOf(Exception::class), readOnly = true) + fun findByShopBySearch(shopid: Int?, shopaccno: String?, shopUniqueId: String?): TShop? } \ 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 deleted file mode 100644 index 749dd3a7..00000000 --- a/src/main/kotlin/com/supwisdom/dlpay/shop/bean/shop_param.kt +++ /dev/null @@ -1,13 +0,0 @@ -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? = "" -} \ 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 deleted file mode 100644 index 7103b4df..00000000 --- a/src/main/kotlin/com/supwisdom/dlpay/shop/controller/shop_controller.kt +++ /dev/null @@ -1,66 +0,0 @@ -package com.supwisdom.dlpay.shop.controller - -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.* - -/** - * 接口签名值等 - */ -@RestController -@RequestMapping("/api/shop") -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() - .fail(1, "[uniqueId]该值已存在")) - } - } - 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() - .data("shopid", shop.shopid) - .success()) - } - - @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() - .data("shop", shop) - .success()) - } - } else if (request.shopid != null && request.shopid != 0) { - var shop = shopService.findByShopId(request.shopid!!) - if (shop != null) { - return ResponseEntity.ok(ResponseBodyBuilder.create() - .data("shop", shop) - .success()) - } - } - return ResponseEntity.ok(ResponseBodyBuilder.create() - .fail(1, "数据不存在")) - } - - -} \ 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 deleted file mode 100644 index 411182d1..00000000 --- a/src/main/kotlin/com/supwisdom/dlpay/shop/service/impl/shop_service_impl.kt +++ /dev/null @@ -1,50 +0,0 @@ -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.framework.util.Subject -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 = Subject.SUBJNO_MACHANT_INCOME - 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