Commit b7fb9d30 authored by 刘帅's avatar 刘帅

1.银联调整

parent 03d5462b
...@@ -184,9 +184,9 @@ sms: ...@@ -184,9 +184,9 @@ sms:
#地域信息默认为 ap-guangzhou 如无特殊改变可不用设置 #地域信息默认为 ap-guangzhou 如无特殊改变可不用设置
territory: ap-guangzhou territory: ap-guangzhou
pay: pay:
appid: 10037e6f72b586db0172b6ea24ec0000 appid: 8a81c1bd96cf23aa0199cc0a8dcb187c
appkey: 6f7a00170935445fbe25e67a5ce1be48 appkey: 02c4bc73faaf46c89e0c620345a11aec
url: https://test-api-open.chinaums.com/v6/poslink/transaction/pay url: https://api-mop.chinaums.com/v6/poslink/transaction/pay
merchantCode: 123456789111115 merchantCode: 123456789111115
terminalCode: gxrb0001 terminalCode: gxrb0001
deviceType: 11 deviceType: 11
......
...@@ -19,6 +19,7 @@ import com.maintain.business.mapper.ErpSettlementMaintainMapper; ...@@ -19,6 +19,7 @@ import com.maintain.business.mapper.ErpSettlementMaintainMapper;
import com.maintain.business.mapper.ErpSettlementMaintainRepairFormMapper; import com.maintain.business.mapper.ErpSettlementMaintainRepairFormMapper;
import com.maintain.business.service.IErpSettlementMaintainService; import com.maintain.business.service.IErpSettlementMaintainService;
import com.maintain.common.core.domain.PageQuery; import com.maintain.common.core.domain.PageQuery;
import com.maintain.common.core.domain.entity.SysDept;
import com.maintain.common.core.page.TableDataInfo; import com.maintain.common.core.page.TableDataInfo;
import com.maintain.common.enums.RepairFormSettlementState; import com.maintain.common.enums.RepairFormSettlementState;
import com.maintain.common.enums.SettlementState; import com.maintain.common.enums.SettlementState;
...@@ -28,6 +29,7 @@ import com.maintain.common.pay.PayResponse; ...@@ -28,6 +29,7 @@ import com.maintain.common.pay.PayResponse;
import com.maintain.common.pay.YinLianPayApi; import com.maintain.common.pay.YinLianPayApi;
import com.maintain.common.utils.StringUtils; import com.maintain.common.utils.StringUtils;
import com.maintain.common.utils.redis.RedisUtils; import com.maintain.common.utils.redis.RedisUtils;
import com.maintain.system.mapper.SysDeptMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -54,6 +56,7 @@ public class ErpSettlementMaintainServiceImpl implements IErpSettlementMaintainS ...@@ -54,6 +56,7 @@ public class ErpSettlementMaintainServiceImpl implements IErpSettlementMaintainS
private final ErpRepairFormMapper repairFormMapper; private final ErpRepairFormMapper repairFormMapper;
private final ErpClientMapper clientMapper; private final ErpClientMapper clientMapper;
private final YinLianPayApi yinLianPayApi; private final YinLianPayApi yinLianPayApi;
private final SysDeptMapper sysDeptMapper;
@Value("${pay.merchantCode}") @Value("${pay.merchantCode}")
private String merchantCode; private String merchantCode;
...@@ -222,7 +225,25 @@ public class ErpSettlementMaintainServiceImpl implements IErpSettlementMaintainS ...@@ -222,7 +225,25 @@ public class ErpSettlementMaintainServiceImpl implements IErpSettlementMaintainS
@Override @Override
public Boolean pay(ErpSettlementMaintainPayBo bo) { public Boolean pay(ErpSettlementMaintainPayBo bo) {
ErpSettlementMaintain maintain = baseMapper.selectById(bo.getId()); ErpSettlementMaintain maintain = baseMapper.selectById(bo.getId());
List<ErpSettlementMaintainRepairForm> maintainRepairForms = settlementMaintainRepairFormMapper.selectList(
new LambdaQueryWrapper<ErpSettlementMaintainRepairForm>()
.eq(ErpSettlementMaintainRepairForm::getSettlementMaintainId, maintain.getId())
);
if (ObjectUtil.isEmpty(maintainRepairForms)) {
throw new ServiceException("当前结算单未绑定维修单,请检查后重试!");
}
ErpSettlementMaintainRepairForm settlementMaintainRepairForm = maintainRepairForms.get(0);
ErpRepairForm repairForm = repairFormMapper.selectById(settlementMaintainRepairForm.getRepairFormId());
if (ObjectUtil.isEmpty(repairForm)) {
throw new ServiceException("报修单不存在,请联系管理员!");
}
SysDept sysDept = sysDeptMapper.selectById(repairForm.getRepairerDeptId());
if (ObjectUtil.isEmpty(sysDept)) {
throw new ServiceException("维修车间不存在,请联系管理员!");
}
if (ObjectUtil.isEmpty(sysDept.getTerminalCode())) {
throw new ServiceException("当前车间未填写终端号,请联系管理员添加!");
}
if (ObjectUtil.isEmpty(maintain)) { if (ObjectUtil.isEmpty(maintain)) {
throw new ServiceException("当前支付订单不存在,请刷新后重试!"); throw new ServiceException("当前支付订单不存在,请刷新后重试!");
} }
...@@ -232,7 +253,7 @@ public class ErpSettlementMaintainServiceImpl implements IErpSettlementMaintainS ...@@ -232,7 +253,7 @@ public class ErpSettlementMaintainServiceImpl implements IErpSettlementMaintainS
// 生成一个时间戳单号 // 生成一个时间戳单号
String orderNo = String.valueOf(System.currentTimeMillis()); String orderNo = String.valueOf(System.currentTimeMillis());
int money = maintain.getPracticalMoney().movePointRight(2).intValue(); int money = maintain.getPracticalMoney().movePointRight(2).intValue();
PayResponse response = yinLianPayApi.pay(orderNo, money, bo.getPaymentAccount()); PayResponse response = yinLianPayApi.pay(orderNo, money, bo.getPaymentAccount(), sysDept.getTerminalCode());
if (!response.getErrCode().equals("00")) { if (!response.getErrCode().equals("00")) {
throw new ServiceException("结算单支付失败:"+ response.getErrInfo()); throw new ServiceException("结算单支付失败:"+ response.getErrInfo());
} }
......
...@@ -85,5 +85,9 @@ public class SysDept extends TreeEntity<SysDept> { ...@@ -85,5 +85,9 @@ public class SysDept extends TreeEntity<SysDept> {
* 类型(1总公司 2分公司 3车队 4车间 5总公司管理部门 6分公司管理部门 7维修点) * 类型(1总公司 2分公司 3车队 4车间 5总公司管理部门 6分公司管理部门 7维修点)
*/ */
private String type; private String type;
/**
* 终端号
*/
private String terminalCode;
} }
...@@ -29,8 +29,6 @@ public class YinLianPayApi { ...@@ -29,8 +29,6 @@ public class YinLianPayApi {
private String url; private String url;
@Value("${pay.merchantCode}") @Value("${pay.merchantCode}")
private String merchantCode; private String merchantCode;
@Value("${pay.terminalCode}")
private String terminalCode;
@Value("${pay.deviceType}") @Value("${pay.deviceType}")
private String deviceType; private String deviceType;
@Value("${pay.payMode}") @Value("${pay.payMode}")
...@@ -70,9 +68,10 @@ public class YinLianPayApi { ...@@ -70,9 +68,10 @@ public class YinLianPayApi {
* @param merchantOrderId 订单号 * @param merchantOrderId 订单号
* @param transactionAmount 交易金额 * @param transactionAmount 交易金额
* @param payCode 支付码 * @param payCode 支付码
* @param terminalCode 终端号
* @return 支付结果 * @return 支付结果
*/ */
public PayResponse pay(String merchantOrderId,int transactionAmount, String payCode) { public PayResponse pay(String merchantOrderId,int transactionAmount, String payCode, String terminalCode) {
// 组建请求报文 // 组建请求报文
PayBody reqBody = new PayBody(); PayBody reqBody = new PayBody();
reqBody.merchantCode = merchantCode; reqBody.merchantCode = merchantCode;
......
...@@ -172,6 +172,11 @@ ...@@ -172,6 +172,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" v-if="form.type == 4">
<el-form-item label="终端号" prop="terminalCode">
<el-input v-model="form.terminalCode" placeholder="请输入终端号" />
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -284,7 +289,8 @@ export default { ...@@ -284,7 +289,8 @@ export default {
phone: undefined, phone: undefined,
email: undefined, email: undefined,
status: "0", status: "0",
type: undefined type: undefined,
terminalCode: undefined,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment