添加拉卡拉修改通道
This commit is contained in:
@@ -3,6 +3,7 @@ package com.chaozhanggui.dao.system.dao;
|
|||||||
import com.chaozhanggui.dao.system.entity.TbPlussMerchantChannelFee;
|
import com.chaozhanggui.dao.system.entity.TbPlussMerchantChannelFee;
|
||||||
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
@@ -19,4 +20,6 @@ public interface TbPlussMerchantChannelFeeMapper {
|
|||||||
int updateByPrimaryKeySelective(TbPlussMerchantChannelFee record);
|
int updateByPrimaryKeySelective(TbPlussMerchantChannelFee record);
|
||||||
|
|
||||||
int updateByPrimaryKey(TbPlussMerchantChannelFee record);
|
int updateByPrimaryKey(TbPlussMerchantChannelFee record);
|
||||||
|
|
||||||
|
TbPlussMerchantChannelFee selectByChannelAndMerchantCode(@Param("channelId") Integer channelId,@Param("merchantCode") String merchantCode);
|
||||||
}
|
}
|
||||||
@@ -54,4 +54,7 @@ public interface TbPlussMerchantChannelStatusMapper {
|
|||||||
TbPlussMerchantChannelStatus getIncomingInfoAnother(@Param("merchantCode")String merchantCode);
|
TbPlussMerchantChannelStatus getIncomingInfoAnother(@Param("merchantCode")String merchantCode);
|
||||||
|
|
||||||
TbPlussMerchantChannelStatus reject(@Param("merchantCode") String merchantCode,@Param("ids") List<Integer> ids);
|
TbPlussMerchantChannelStatus reject(@Param("merchantCode") String merchantCode,@Param("ids") List<Integer> ids);
|
||||||
|
|
||||||
|
|
||||||
|
TbPlussMerchantChannelStatus selectByChannelAndmerchantCodeAndStatus(@Param("channel") String channel,@Param("merchantCode") String merchantCode);
|
||||||
}
|
}
|
||||||
@@ -103,4 +103,9 @@
|
|||||||
update_time = #{updateTime,jdbcType=TIMESTAMP}
|
update_time = #{updateTime,jdbcType=TIMESTAMP}
|
||||||
where id = #{id,jdbcType=INTEGER}
|
where id = #{id,jdbcType=INTEGER}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<select id="selectByChannelAndMerchantCode" resultMap="BaseResultMap">
|
||||||
|
|
||||||
|
SELECT * FROM tb_pluss_merchant_channel_fee WHERE merchant_code=#{merchantCode} AND channel=#{channelId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -473,4 +473,11 @@
|
|||||||
WHERE merchantCode=#{merchantCode}
|
WHERE merchantCode=#{merchantCode}
|
||||||
AND status In (3,6)
|
AND status In (3,6)
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectByChannelAndmerchantCodeAndStatus" resultMap="BaseResultMap">
|
||||||
|
SELECT * FROM tb_pluss_merchant_channel_status
|
||||||
|
WHERE merchantCode=#{merchantCode}
|
||||||
|
AND status In (1,3,6)
|
||||||
|
and channel=#{channel}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -31,10 +31,9 @@ import java.io.IOException;
|
|||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
import java.util.HashMap;
|
import java.util.*;
|
||||||
import java.util.HashSet;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.Map;
|
import java.util.concurrent.ConcurrentMap;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -86,8 +85,18 @@ public class LklAuditService {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
TbPlussBankRegionLklMapper tbPlussBankRegionLklMapper;
|
TbPlussBankRegionLklMapper tbPlussBankRegionLklMapper;
|
||||||
|
@Autowired
|
||||||
|
TbPlussMerchantLklMapper tbPlussMerchantLklMapper;
|
||||||
|
@Autowired
|
||||||
|
TbPlussMerchantChannelFeeMapper tbPlussMerchantChannelFeeMapper;
|
||||||
|
|
||||||
public Map merchantAudit(TbPlussMerchantBaseInfo baseInfo, TbPlussMerchantChannelStatus channelStatus) {
|
@Autowired
|
||||||
|
TbPlussMerchantChannelStatusMapper tbPlussMerchantChannelStatusMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
TbPlussMerchantAuditRecordMapper tbPlussMerchantAuditRecordMapper;
|
||||||
|
|
||||||
|
public void merchantAudit(TbPlussMerchantBaseInfo baseInfo, TbPlussMerchantChannelStatus channelStatus) {
|
||||||
|
|
||||||
JSONObject object1 = new JSONObject();
|
JSONObject object1 = new JSONObject();
|
||||||
JSONObject object2 = new JSONObject();
|
JSONObject object2 = new JSONObject();
|
||||||
@@ -334,7 +343,166 @@ public class LklAuditService {
|
|||||||
.body(object1.toString()).execute().body();
|
.body(object1.toString()).execute().body();
|
||||||
System.out.println("返回结果:" + result);
|
System.out.println("返回结果:" + result);
|
||||||
Map arry = (Map) JSONArray.parse(result);
|
Map arry = (Map) JSONArray.parse(result);
|
||||||
return arry;
|
if (String.valueOf(arry.get("status")).equals("WAIT_AUDI")) {
|
||||||
|
log.info("进件成功,等待三方审核");
|
||||||
|
TbPlussMerchantLkl plussMerchantLklEntity=new TbPlussMerchantLkl();
|
||||||
|
plussMerchantLklEntity.setMerchantid(baseInfo.getMerchantcode());
|
||||||
|
plussMerchantLklEntity.setMerchantlkl(String.valueOf(arry.get("merchantNo")));
|
||||||
|
plussMerchantLklEntity.setType("0");
|
||||||
|
tbPlussMerchantLklMapper.insert(plussMerchantLklEntity);
|
||||||
|
|
||||||
|
|
||||||
|
TbPlussMerchantChannelFee channelFee=tbPlussMerchantChannelFeeMapper.selectByChannelAndMerchantCode(5,baseInfo.getMerchantcode());
|
||||||
|
if(ObjectUtil.isEmpty(channelFee)){
|
||||||
|
channelFee=new TbPlussMerchantChannelFee();
|
||||||
|
channelFee.setChannel("5");
|
||||||
|
channelFee.setMerchantCode(baseInfo.getMerchantcode());
|
||||||
|
JSONObject object = new JSONObject();
|
||||||
|
object.put("D0", array);
|
||||||
|
object.put("D1", array);
|
||||||
|
|
||||||
|
channelFee.setFeeStr(new JSONObject(object).toJSONString());
|
||||||
|
channelFee.setCreateTime(new Date());
|
||||||
|
tbPlussMerchantChannelFeeMapper.insert(channelFee);
|
||||||
|
}else {
|
||||||
|
JSONObject object = new JSONObject();
|
||||||
|
object.put("D0", array);
|
||||||
|
object.put("D1", array);
|
||||||
|
|
||||||
|
channelFee.setFeeStr(new JSONObject(object).toJSONString());
|
||||||
|
channelFee.setCreateTime(new Date());
|
||||||
|
tbPlussMerchantChannelFeeMapper.updateByPrimaryKey(channelFee);
|
||||||
|
}
|
||||||
|
channelStatus.setChannel(5);
|
||||||
|
channelStatus.setUpdatetime(new Date());
|
||||||
|
channelStatus.setMerchantcode(baseInfo.getMerchantcode());
|
||||||
|
channelStatus.setStatus("1");
|
||||||
|
channelStatus.setThirdstatus("-100");
|
||||||
|
channelStatus.setCallbackstatus("0");
|
||||||
|
channelStatus.setRemark("拉卡拉审核中");
|
||||||
|
channelStatus.setMerchantid(String.valueOf(arry.get("merchantNo")));
|
||||||
|
|
||||||
|
if(ObjectUtil.isEmpty(channelStatus.getId())){
|
||||||
|
channelStatus.setCreatetime(new Date());
|
||||||
|
tbPlussMerchantChannelStatusMapper.insert(channelStatus);
|
||||||
|
}else {
|
||||||
|
channelStatus.setUpdatetime(new Date());
|
||||||
|
tbPlussMerchantChannelStatusMapper.updateByPrimaryKey(channelStatus);
|
||||||
|
}
|
||||||
|
|
||||||
|
TbPlussMerchantAuditRecord merchantAuditRecord = new TbPlussMerchantAuditRecord();
|
||||||
|
merchantAuditRecord.setStatus("1");
|
||||||
|
merchantAuditRecord.setMerchantcode(baseInfo.getMerchantcode());
|
||||||
|
merchantAuditRecord.setChannel(5);
|
||||||
|
merchantAuditRecord.setThirdstatus("-100");
|
||||||
|
merchantAuditRecord.setMerchantid(String.valueOf(arry.get("merchantNo")));
|
||||||
|
merchantAuditRecord.setCreatetime(new Date());
|
||||||
|
|
||||||
|
|
||||||
|
tbPlussMerchantAuditRecordMapper.insert(merchantAuditRecord);
|
||||||
|
|
||||||
|
}else {
|
||||||
|
JSONObject object = JSONObject.parseObject(result);
|
||||||
|
log.error("进件失败{}", object.getString("message"));
|
||||||
|
|
||||||
|
channelStatus.setChannel(5);
|
||||||
|
channelStatus.setUpdatetime(new Date());
|
||||||
|
channelStatus.setMerchantcode(baseInfo.getMerchantcode());
|
||||||
|
channelStatus.setStatus("1");
|
||||||
|
channelStatus.setThirdstatus("-100");
|
||||||
|
channelStatus.setCallbackstatus("0");
|
||||||
|
channelStatus.setRemark(object.getString("message"));
|
||||||
|
channelStatus.setMerchantid(object.getString("customerNo"));
|
||||||
|
|
||||||
|
if(ObjectUtil.isEmpty(channelStatus.getId())){
|
||||||
|
channelStatus.setCreatetime(new Date());
|
||||||
|
tbPlussMerchantChannelStatusMapper.insert(channelStatus);
|
||||||
|
}else {
|
||||||
|
channelStatus.setUpdatetime(new Date());
|
||||||
|
tbPlussMerchantChannelStatusMapper.updateByPrimaryKey(channelStatus);
|
||||||
|
}
|
||||||
|
|
||||||
|
TbPlussMerchantAuditRecord merchantAuditRecord = new TbPlussMerchantAuditRecord();
|
||||||
|
merchantAuditRecord.setStatus("1");
|
||||||
|
merchantAuditRecord.setMerchantcode(baseInfo.getMerchantcode());
|
||||||
|
merchantAuditRecord.setChannel(5);
|
||||||
|
merchantAuditRecord.setThirdstatus("-100");
|
||||||
|
merchantAuditRecord.setMerchantid(String.valueOf(arry.get("merchantNo")));
|
||||||
|
merchantAuditRecord.setCreatetime(new Date());
|
||||||
|
|
||||||
|
|
||||||
|
tbPlussMerchantAuditRecordMapper.insert(merchantAuditRecord);
|
||||||
|
|
||||||
|
MsgException.throwException(object.getString("message"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void merchantAudit(TbPlussMerchantBaseInfo merchantBaseInfo,TbPlussBankCard bankCard, TbPlussIdCard accountIdCard) {
|
||||||
|
MsgException.checkNull(merchantBaseInfo, "商户进件信息不存在");
|
||||||
|
|
||||||
|
TbPlussMerchantChannelStatus mcs=tbPlussMerchantChannelStatusMapper.selectByChannelAndmerchantCodeAndStatus("5",merchantBaseInfo.getMerchantcode());
|
||||||
|
MsgException.checkNull(mcs, "对应的商户信息不存在");
|
||||||
|
|
||||||
|
JSONObject object = new JSONObject();
|
||||||
|
object.put("accountKind", bankCard.getAccounttype().equals("01") ? "58" : "57");
|
||||||
|
object.put("accountNo", bankCard.getBankcardno()); //结算人银行卡号
|
||||||
|
object.put("accountName", bankCard.getBankholder()); //结算人账户名称
|
||||||
|
|
||||||
|
|
||||||
|
Set<ConcurrentMap<String, String>> attchmentsVoSet = new HashSet<>();
|
||||||
|
ConcurrentMap<String, String> frontLegalPersonMap = new ConcurrentHashMap<>();
|
||||||
|
frontLegalPersonMap.put("imgPath", laKaLaFileUpload(accountIdCard.getImgpositive(), "ID_CARD_FRONT"));
|
||||||
|
frontLegalPersonMap.put("imgType", "ID_CARD_FRONT");
|
||||||
|
attchmentsVoSet.add(frontLegalPersonMap);
|
||||||
|
|
||||||
|
ConcurrentMap<String, String> reverseLegalPersonMap = new ConcurrentHashMap<>();
|
||||||
|
reverseLegalPersonMap.put("imgPath", laKaLaFileUpload(accountIdCard.getImgnegative(), "ID_CARD_BEHIND"));
|
||||||
|
reverseLegalPersonMap.put("imgType", "ID_CARD_BEHIND");
|
||||||
|
attchmentsVoSet.add(reverseLegalPersonMap);
|
||||||
|
object.put("attachments", attchmentsVoSet);
|
||||||
|
|
||||||
|
TbPlussBankBranchLkl lakalaBranchInfo = tbPlussBankBranchLklMapper.selectByBankNo(bankCard.getContactline());
|
||||||
|
MsgException.checkNull(lakalaBranchInfo, "结算卡对应的分行支行信息不存在");
|
||||||
|
|
||||||
|
object.put("bankNo", lakalaBranchInfo.getBranchBankNo()); //结算账户开户⾏号 通过【银行列表查询】接口获取 对应 branchBankNo字段
|
||||||
|
object.put("bankName", lakalaBranchInfo.getBranchBankName()); //结算账户开户⾏名称 通过【银行列表查询】接口获取 对应 branchBankName字段
|
||||||
|
object.put("clearingBankNo", lakalaBranchInfo.getClearNo()); //结算账户清算⾏号 通过【银行列表查询】接口获取 对应 clearNo字段
|
||||||
|
object.put("customerNo", Integer.valueOf(mcs.getMerchantid()));
|
||||||
|
|
||||||
|
Map map = getModifyToken("19191703856", "klb1qaz");
|
||||||
|
String result = "";
|
||||||
|
try {
|
||||||
|
log.info("修改信息:{}", object);
|
||||||
|
String url = "https://tkapi.lakala.com/htkmerchants/channel/customer/update/settle/";
|
||||||
|
result = cn.hutool.http.HttpRequest.post(url.concat(mcs.getMerchantid()))
|
||||||
|
.header("Authorization", "bearer " + map.get("access_token")).header("content-type", "application/json")
|
||||||
|
.body(object.toString()).execute().body();
|
||||||
|
System.out.println("返回结果:" + result);
|
||||||
|
Map arry = (Map) JSONArray.parse(result);
|
||||||
|
|
||||||
|
if (arry.containsKey("message") && "SUCCESS".equals(String.valueOf(arry.get("message")))) {
|
||||||
|
// 保存商户进件修改记录
|
||||||
|
TbPlussMerchantAuditRecord merchantAuditRecord = new TbPlussMerchantAuditRecord();
|
||||||
|
merchantAuditRecord.setStatus("1");
|
||||||
|
merchantAuditRecord.setMerchantcode(merchantBaseInfo.getMerchantcode());
|
||||||
|
merchantAuditRecord.setChannel(5);
|
||||||
|
merchantAuditRecord.setThirdstatus("-100");
|
||||||
|
merchantAuditRecord.setMerchantid(String.valueOf(arry.get("merchantNo")));
|
||||||
|
merchantAuditRecord.setCreatetime(new Date());
|
||||||
|
|
||||||
|
tbPlussMerchantAuditRecordMapper.insert(merchantAuditRecord);
|
||||||
|
|
||||||
|
// 修改商户状态
|
||||||
|
mcs.setStatus("6");
|
||||||
|
mcs.setApplicationid(String.valueOf(arry.get("reviewRelatedId")));
|
||||||
|
tbPlussMerchantChannelStatusMapper.updateByPrimaryKey(mcs);
|
||||||
|
} else {
|
||||||
|
MsgException.throwException("修改进件信息失败");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String birthdayDate(String date) {
|
public String birthdayDate(String date) {
|
||||||
@@ -345,6 +513,26 @@ public class LklAuditService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static Map getModifyToken(String userName, String password) {
|
||||||
|
RestTemplate client = new RestTemplate();
|
||||||
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
// 表单提交
|
||||||
|
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
|
||||||
|
headers.set("Authorization", "Basic " + getBase64());
|
||||||
|
// 封装参数
|
||||||
|
MultiValueMap<String, String> params = new LinkedMultiValueMap<String, String>();
|
||||||
|
params.add("grant_type", "password");
|
||||||
|
params.add("username", userName);
|
||||||
|
params.add("password", password);
|
||||||
|
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<MultiValueMap<String, String>>(params, headers);
|
||||||
|
// 执行HTTP请求
|
||||||
|
String url = "https://htkapi.lakala.com/auth/oauth/token";
|
||||||
|
ResponseEntity<String> response = client.exchange(url, HttpMethod.POST, requestEntity, String.class);
|
||||||
|
|
||||||
|
Map map = (Map) JSONArray.parse(response.getBody());
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
public static Map getToken() {
|
public static Map getToken() {
|
||||||
RestTemplate client = new RestTemplate();
|
RestTemplate client = new RestTemplate();
|
||||||
HttpHeaders headers = new HttpHeaders();
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
|||||||
@@ -100,12 +100,7 @@ public class MerchantService {
|
|||||||
ysAuditServiceV3.merchantAuditV3(userId,false, Integer.valueOf(channelId));
|
ysAuditServiceV3.merchantAuditV3(userId,false, Integer.valueOf(channelId));
|
||||||
break;
|
break;
|
||||||
case "5":
|
case "5":
|
||||||
|
lklAuditService.merchantAudit(baseInfo,channelStatus);
|
||||||
Map map= lklAuditService.merchantAudit(baseInfo,channelStatus);
|
|
||||||
if (ObjectUtil.isNotEmpty(map)&&String.valueOf(map.get("status")).equals("WAIT_AUDI")) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case "6":
|
case "6":
|
||||||
ysAuditServiceV3.merchantAuditV3(userId,false, Integer.valueOf(channelId));
|
ysAuditServiceV3.merchantAuditV3(userId,false, Integer.valueOf(channelId));
|
||||||
@@ -195,18 +190,18 @@ public class MerchantService {
|
|||||||
}
|
}
|
||||||
if (size == 1) {
|
if (size == 1) {
|
||||||
//一个通道
|
//一个通道
|
||||||
updateChannel(merchantCodes.get(0).getChannel(), merchantCodes.get(0).getMerchantid(), bankCard,idCard,userInfo);
|
updateChannel(merchantCodes.get(0).getChannel(), merchantCodes.get(0).getMerchantid(), baseInfo,bankCard,idCard,userInfo);
|
||||||
}
|
}
|
||||||
if (size == 2) {
|
if (size == 2) {
|
||||||
//两个通道
|
//两个通道
|
||||||
updateChannel(merchantCodes.get(0).getChannel(), merchantCodes.get(0).getMerchantid(), bankCard,idCard,userInfo);
|
updateChannel(merchantCodes.get(0).getChannel(), merchantCodes.get(0).getMerchantid(),baseInfo, bankCard,idCard,userInfo);
|
||||||
updateChannel(merchantCodes.get(1).getChannel(), merchantCodes.get(1).getMerchantid(), bankCard,idCard,userInfo);
|
updateChannel(merchantCodes.get(1).getChannel(), merchantCodes.get(1).getMerchantid(),baseInfo, bankCard,idCard,userInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void updateChannel(Integer channel,String MerchantId, TbPlussBankCard bankCard,
|
public void updateChannel(Integer channel,String MerchantId,TbPlussMerchantBaseInfo baseInfo, TbPlussBankCard bankCard,
|
||||||
TbPlussIdCard idCard, TbPlussUserInfo userInfo){
|
TbPlussIdCard idCard, TbPlussUserInfo userInfo){
|
||||||
switch (channel) {
|
switch (channel) {
|
||||||
case 1:
|
case 1:
|
||||||
@@ -217,6 +212,7 @@ public class MerchantService {
|
|||||||
ysAuditServiceV3.updateMerchantIdCard(MerchantId, idCard, channel, userInfo);
|
ysAuditServiceV3.updateMerchantIdCard(MerchantId, idCard, channel, userInfo);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
|
lklAuditService.merchantAudit(baseInfo,bankCard,idCard);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user