master
wangning 8 years ago
parent 391e254402
commit 498b30c519

@ -1,21 +1,29 @@
package au.com.royalpay.payment.manage.merchants.core.impls;
import au.com.royalpay.payment.manage.mappers.system.*;
import au.com.royalpay.payment.manage.mappers.system.ClientAccountMapper;
import au.com.royalpay.payment.manage.mappers.system.ClientApplyMapper;
import au.com.royalpay.payment.manage.mappers.system.ClientBDMapper;
import au.com.royalpay.payment.manage.mappers.system.ClientMapper;
import au.com.royalpay.payment.manage.mappers.system.OrgMapper;
import au.com.royalpay.payment.manage.merchants.beans.ClientApplyInfo;
import au.com.royalpay.payment.manage.merchants.beans.PartnerQuery;
import au.com.royalpay.payment.manage.merchants.core.ClientApply;
import au.com.royalpay.payment.manage.merchants.core.ClientModifySupport;
import au.com.royalpay.payment.manage.merchants.entity.impls.SourceModify;
import au.com.royalpay.payment.manage.merchants.events.ClientApplyEvent;
import au.com.royalpay.payment.manage.merchants.events.ClientApplyNotifyBDEvent;
import au.com.royalpay.payment.tools.permission.enums.ManagerRole;
import au.com.royalpay.payment.tools.exceptions.BadRequestException;
import au.com.royalpay.payment.tools.exceptions.ForbiddenException;
import au.com.royalpay.payment.tools.exceptions.NotFoundException;
import au.com.royalpay.payment.tools.permission.enums.ManagerRole;
import au.com.royalpay.payment.tools.utils.PageListUtils;
import com.alibaba.fastjson.JSONObject;
import com.github.miemiedev.mybatis.paginator.domain.Order;
import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
import com.github.miemiedev.mybatis.paginator.domain.PageList;
import org.apache.commons.lang3.RandomStringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationEventPublisher;
@ -26,11 +34,12 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;
import javax.annotation.Resource;
/**
* Created by yishuqian on 18/10/2016.
*/
@ -48,6 +57,8 @@ public class ClientApplyImpl implements ClientApply, ApplicationEventPublisherAw
private OrgMapper orgMapper;
@Resource
private StringRedisTemplate stringRedisTemplate;
@Resource
private ClientModifySupport clientModifySupport;
@Value("${app.redis.prefix}")
private String redisPrefix;
private ApplicationEventPublisher publisher;
@ -230,8 +241,7 @@ public class ClientApplyImpl implements ClientApply, ApplicationEventPublisherAw
}
JSONObject client = clientMapper.findClientByMoniker(info.getClientMoniker());
Assert.notNull(client);
client.put("source",2);//自主申请
clientMapper.update(client);
clientModifySupport.processClientModify(new SourceModify(manager,client.getString("client_moniker"),2));
apply.put("client_id", client.getIntValue("client_id"));
apply.put("client_moniker", info.getClientMoniker());
apply.put("apply_approve_result", 2);

@ -58,6 +58,7 @@ import au.com.royalpay.payment.manage.merchants.entity.impls.OrderExpiryModify;
import au.com.royalpay.payment.manage.merchants.entity.impls.ParentIdModify;
import au.com.royalpay.payment.manage.merchants.entity.impls.PaypadVersionModify;
import au.com.royalpay.payment.manage.merchants.entity.impls.RefundAuditModify;
import au.com.royalpay.payment.manage.merchants.entity.impls.AuditModify;
import au.com.royalpay.payment.manage.merchants.entity.impls.SettleHourModify;
import au.com.royalpay.payment.manage.merchants.entity.impls.SwitchPermissionModify;
import au.com.royalpay.payment.manage.merchants.entity.impls.TimeZoneModify;
@ -623,19 +624,15 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
client.putAll(clientConfigService.find(client.getIntValue("client_id")));
Integer open_status = client.getInteger("open_status");
boolean checkGreenChannel = client.getIntValue("approve_result") == 2 && (client.getIntValue("source") == 1 || client.getIntValue("source") == 2);
client.put("approve_result", pass);
client.put("approver", manager.getString("manager_id"));
client.put("approve_time", new Date());
client.put("open_status", 5);
AuditModify auditModify = new AuditModify(manager, clientMoniker, pass, manager.getString("manager_id"), new Date());
auditModify.setOpen_status(5);
if (client.getIntValue("source") == 5) {
client.put("source", 1);
auditModify.setSource(1);
}
clientMapper.update(client);
clientModifySupport.processClientModify(auditModify);
sendCommissionWechatMessage(client);// wxMessage
if (pass == 1) {
client.put("skip_clearing", 0);
clientMapper.update(client);
clientModifySupport.processClientConfigModify(new SwitchPermissionModify(manager, clientMoniker, "skip_clearing", false));
if (client.getIntValue("source") == 4) {
sendAuthInitEmail(manager, client);
} else if (checkGreenChannel && client.getIntValue("open_status") == 5) {
@ -1754,7 +1751,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
clientModifySupport.processClientConfigModify(new MaxOrderAmountModify(account, clientMoniker, limit));
}
@Override
public void setCustomerSurchargeRate(JSONObject account, String clientMoniker, BigDecimal customer_surcharge_rate) {
@ -2641,7 +2637,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
if (client == null) {
throw new InvalidShortIdException();
}
clientModifySupport.processClientConfigModify(new SwitchPermissionModify(account,client.getString("client_moniker"),"qrcode_surcharge",paySurcharge));
clientModifySupport
.processClientConfigModify(new SwitchPermissionModify(account, client.getString("client_moniker"), "qrcode_surcharge", paySurcharge));
}
@ -2652,7 +2649,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
if (client == null) {
throw new InvalidShortIdException();
}
clientModifySupport.processClientConfigModify(new SwitchPermissionModify(account,client.getString("client_moniker"),"api_surcharge",enableApiSurcharge));
clientModifySupport
.processClientConfigModify(new SwitchPermissionModify(account, client.getString("client_moniker"), "api_surcharge", enableApiSurcharge));
}
@ -2667,7 +2665,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
// cashier cannot change this config
throw new ForbiddenException("Cashier has no permission to switch retail surcharge");
}
clientModifySupport.processClientConfigModify(new SwitchPermissionModify(account,client.getString("client_moniker"),"retail_surcharge",paySurcharge));
clientModifySupport
.processClientConfigModify(new SwitchPermissionModify(account, client.getString("client_moniker"), "retail_surcharge", paySurcharge));
}
@Override
@ -2677,13 +2676,16 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
throw new NotFoundException("Client not found, please check");
}
if (updateSurchargeDTO.getApiSurcharge() != null) {
clientModifySupport.processClientConfigModify(new SwitchPermissionModify(account,client.getString("client_moniker"),"api_surcharge",updateSurchargeDTO.getApiSurcharge()));
clientModifySupport.processClientConfigModify(
new SwitchPermissionModify(account, client.getString("client_moniker"), "api_surcharge", updateSurchargeDTO.getApiSurcharge()));
}
if (updateSurchargeDTO.getQrcodeSurcharge() != null) {
clientModifySupport.processClientConfigModify(new SwitchPermissionModify(account,client.getString("client_moniker"),"qrcode_surcharge",updateSurchargeDTO.getQrcodeSurcharge()));
clientModifySupport.processClientConfigModify(
new SwitchPermissionModify(account, client.getString("client_moniker"), "qrcode_surcharge", updateSurchargeDTO.getQrcodeSurcharge()));
}
if (updateSurchargeDTO.getRetailSurcharge() != null) {
clientModifySupport.processClientConfigModify(new SwitchPermissionModify(account,client.getString("client_moniker"),"retail_surcharge",updateSurchargeDTO.getRetailSurcharge()));
clientModifySupport.processClientConfigModify(
new SwitchPermissionModify(account, client.getString("client_moniker"), "retail_surcharge", updateSurchargeDTO.getRetailSurcharge()));
}
}
@ -2697,26 +2699,23 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
throw new ForbiddenException();
}
int open_status = client.getIntValue("open_status");
AuditModify auditModify = new AuditModify(manager, clientMoniker, 5, manager.getString("manager_id"), new Date());
if (open_status == 1) {
client.put("open_status", null);
auditModify.setOpen_status(null);
} else {
client.put("open_status", open_status - 1);
auditModify.setOpen_status(-1);
}
client.put("approve_result", 5);
client.put("approver", manager.getString("manager_id"));
client.put("approve_time", new Date());
if (refuse_remark != null && !refuse_remark.isEmpty()) {
client.put("refuse_remark", refuse_remark);
auditModify.setRefuse_remark(refuse_remark);
}
saveClientAuditProcess(client.getIntValue("client_id"), open_status, client.getInteger("open_status"), "打回," + refuse_remark, manager);
clientMapper.update(client);
clientModifySupport.processClientModify(auditModify);
try {
sendMessageToBD(client, refuse_remark);
} catch (Exception e) {
logger.error("RefusePartnerError=======:" + clientMoniker + "," + e.getMessage());
}
clientInfoCacheSupport.clearClientCache(client.getIntValue("client_id"));
}
@Override

@ -0,0 +1,65 @@
package au.com.royalpay.payment.manage.merchants.entity.impls;
import au.com.royalpay.payment.manage.merchants.entity.ClientModify;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import java.util.Date;
/**
* Create by yixian at 2018-04-12 16:43
*/
public class AuditModify extends ClientModify {
private Integer source;
private Integer open_status;
private Integer approve_result;
private String approver;
private Date approve_time;
private String refuse_remark;
public AuditModify(JSONObject account, String clientMoniker, Integer approve_result, String approver, Date approve_time) {
super(account, clientMoniker);
this.approve_result = approve_result;
this.approver = approver;
this.approve_time = approve_time;
}
@Override
protected String business() {
return "修改商户source状态为:" + source;
}
@Override
protected JSONObject getModifyResult() {
JSONObject modify = new JSONObject();
modify.put("approve_result",approve_result);
modify.put("approver",approver);
modify.put("approve_time",approve_time);
if(source!=null){
modify.put("source",source);
}
if(open_status!=null){
modify.put("open_status",open_status);
}
if(StringUtils.isNotEmpty(refuse_remark)){
modify.put("refuse_remark",refuse_remark);
}
return modify;
}
public void setSource(Integer source) {
this.source = source;
}
public void setOpen_status(Integer open_status) {
this.open_status = open_status;
}
public void setRefuse_remark(String refuse_remark) {
this.refuse_remark = refuse_remark;
}
}

@ -0,0 +1,30 @@
package au.com.royalpay.payment.manage.merchants.entity.impls;
import au.com.royalpay.payment.manage.merchants.entity.ClientModify;
import com.alibaba.fastjson.JSONObject;
/**
* Create by yixian at 2018-04-12 16:43
*/
public class SourceModify extends ClientModify {
private int source;
public SourceModify(JSONObject account, String clientMoniker, int source) {
super(account, clientMoniker);
this.source = source;
}
@Override
protected String business() {
return "修改商户source状态为:" + source;
}
@Override
protected JSONObject getModifyResult() {
JSONObject modify = new JSONObject();
modify.put("source", source);
return modify;
}
}

@ -377,6 +377,6 @@ public class PartnerViewController {
@PartnerMapping(value = "/agree/confirm", method = RequestMethod.POST, roles = {PartnerRole.ADMIN, PartnerRole.MANAGER})
@ResponseBody
public void confirmSourceAgreeFile(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject account) {
clientContractService.confirmSourceAgreement(account,account.getIntValue("client_id"), account.getString("account_id"), "PC");
clientContractService.confirmSourceAgreement(account.getIntValue("client_id"), account.getString("account_id"), "PC");
}
}

@ -9,7 +9,7 @@ public interface ClientContractService {
JSONObject getOrGenerateSourceAgreement(int client_id, String channel);
void confirmSourceAgreement(JSONObject account,int client_id, String account_id, String channel);
void confirmSourceAgreement(int client_id, String account_id, String channel);
JSONObject getSourceAgreement(int client_id);

@ -74,7 +74,7 @@ public class ClientContractServiceImpl implements ClientContractService {
@Override
@Transactional
public void confirmSourceAgreement(JSONObject manager,int client_id, String account_id, String channel) {
public void confirmSourceAgreement(int client_id, String account_id, String channel) {
JSONObject client = clientManager.getClientInfo(client_id);
if (client == null) {
throw new NotFoundException("merchant not found");
@ -107,7 +107,7 @@ public class ClientContractServiceImpl implements ClientContractService {
contract.put("confirm_time", now);
contract.put("signatory", account.getString("display_name"));
clientsContractMapper.update(contract);
clientManager.setClientTaxInSurcharge(manager,client.getString("client_moniker"), false);
clientManager.setClientTaxInSurcharge(clientAccountMapper.findById(account_id),client.getString("client_moniker"), false);
}
@Override

Loading…
Cancel
Save