package com.supwisdom.dlpay.system.controller;
-import com.supwisdom.dlpay.api.annotation.ShopType;
import com.supwisdom.dlpay.api.bean.JsonResult;
-import com.supwisdom.dlpay.api.domain.TSourceType;
import com.supwisdom.dlpay.api.domain.TShopSourceType;
import com.supwisdom.dlpay.api.domain.TShopSourceTypeConfig;
+import com.supwisdom.dlpay.api.domain.TSourceType;
import com.supwisdom.dlpay.api.types.IDTypes;
import com.supwisdom.dlpay.api.types.ShopTypes;
import com.supwisdom.dlpay.framework.domain.*;
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import javax.validation.Valid
+import kotlin.math.roundToInt
@RestController
@RequestMapping("/api/deposit")
response.apply {
refno = transaction.refno
summary = transaction.shopDtl.transdesc
- depositAmount = Math.round(transaction.personDtl.amount * 100).toInt()
+ depositAmount = (transaction.personDtl.amount * 100).roundToInt()
extraAmount = 0
}
return ResponseBodyBuilder.successEntity(response, "充值成功")
}
if (request.totalAmount != 0) {
if (request.inOrOut == TradeDict.TRADE_FLAG_IN) {
+ builder.addDebitCreditRecord(capitalSubj.subjno, capitalSubj.subjno,
+ user.accno, Subject.SUBJNO_PERSONAL_DEPOSIT, request.totalAmount / 100.0, request.summary)
if (depositAmount != 0) {
- builder.addDebitCreditRecord(capitalSubj.subjno, capitalSubj.subjno,
- user.accno, Subject.SUBJNO_PERSONAL_DEPOSIT, request.totalAmount / 100.0, request.summary)
transDesc.add("充值 %.2f 元".format(depositAmount / 100.0))
}
if (request.cost != 0) {
transDesc.add("收%s %.2f 元".format(subject.subjname, request.charge / 100.0))
}
} else {
+ builder.addDebitCreditRecord(user.accno, Subject.SUBJNO_PERSONAL_DEPOSIT,
+ capitalSubj.subjno, capitalSubj.subjno, request.totalAmount / 100.0, request.summary)
if (depositAmount != 0) {
- builder.addDebitCreditRecord(user.accno, Subject.SUBJNO_PERSONAL_DEPOSIT,
- capitalSubj.subjno, capitalSubj.subjno, request.totalAmount / 100.0, request.summary)
transDesc.add("退余额 %.2f 元".format(depositAmount / 100.0))
}
if (request.cost != 0) {
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = [Exception::class], readOnly = true)
fun getDepositCapital(capital: String): TDepositCapitalType
+
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = [Exception::class], readOnly = true)
+ fun findDepositCapitals(): List<TDepositCapitalType>
+
}
\ No newline at end of file
override fun getDepositCapital(capital: String): TDepositCapitalType {
return depositCapitalTypeDao.findTDepositCapitalTypeByCodeAndTenantid(capital, TenantContext.getTenantSchema());
}
+
+ override fun findDepositCapitals(): List<TDepositCapitalType> {
+ return depositCapitalTypeDao.findTDepositCapitalTypesByTenantid(TenantContext.getTenantSchema())
+ }
}
\ No newline at end of file
--- /dev/null
+package com.supwisdom.dlpay.system.controller
+
+import com.supwisdom.dlpay.api.service.ChargeApiService
+import com.supwisdom.dlpay.system.service.DictionaryProxy
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.stereotype.Controller
+import org.springframework.ui.Model
+import org.springframework.web.bind.annotation.GetMapping
+
+@Controller("/shop/deposit")
+class MerchantDepositController() {
+
+ @Autowired
+ private lateinit var dictionaryProxy: DictionaryProxy
+
+ @Autowired
+ private lateinit var chargeApiService: ChargeApiService
+
+ @GetMapping("/index")
+ fun home(model: Model): String {
+ return "system/shop/deposit_capital"
+ }
+
+ @GetMapping("/capital")
+ fun getCapitalList(model: Model): String {
+ val capitals = chargeApiService.findDepositCapitals()
+ model.addAttribute("capitalList", capitals)
+ return "system/shop/deposit_capital"
+ }
+
+}
\ No newline at end of file
--- /dev/null
+<div class="layui-card">
+ <div class="layui-card-header">
+ <h2 class="header-title">充值资金类型管理</h2>
+ <span class="layui-breadcrumb pull-right">
+ <a href="#">商户中心</a>
+ <a><cite>充值资金类型管理</cite></a>
+ </span>
+ </div>
+ <div class="layui-card-body">
+ <div class="layui-row">
+ <table class="layui-table" id="depositCapitalTable"
+ lay-filter="depositCapitalTable-filter"></table>
+ </div>
+ </div>
+</div>
+
+
+<script>
+ layui.use(['form', 'table', 'layer', 'admin', 'element', 'tree'], function () {
+ // 渲染表格
+ table.render({
+ elem: '#depositCapitalTable',
+ url: '[[@{/shop/shopsourcetypelist}]]',
+ page: true,
+ width: 1010,
+ cols: [
+ [
+ {
+ field: 'shopaccno',
+ title: '商户编码',
+ width: 150,
+ align: 'center',
+ fixed: 'left',
+ sort: true
+ },
+ {field: 'shopname', title: '商户名称', align: 'center', fixed: 'left', sort: true},
+ {field: 'paydesc', title: '支付方式', align: 'center', sort: true},
+ {
+ field: 'consumeEnable',
+ title: '允许消费',
+ align: 'center',
+ width: 110,
+ templet: '#shop-consumeenable-tpl-state',
+ sort: true
+ },
+ {
+ field: 'anonymousEnable',
+ title: '匿名消费',
+ align: 'center',
+ width: 110,
+ templet: '#shop-anonymousenable-tpl-state',
+ sort: true
+ },
+ {
+ field: 'reverseEnable',
+ title: '允许撤销',
+ align: 'center',
+ width: 110,
+ templet: '#shop-reverseenable-tpl-state',
+ sort: true
+ },
+ {
+ align: 'center', title: '操作', width: 90, fixed: 'right', templet: function (item) {
+ if (item.sourceType !== 'balance') {
+ return '<a class="layui-btn layui-btn-xs" lay-event="config">配置</a>';
+ }
+ return '<span style="font-size: 12px;color: #D3D4D3;">无配置</span>';
+ }
+ }
+ ]
+ ]
+ });
+ });
+</script>
\ No newline at end of file