package com.taoke.autopay.factory;
|
|
import com.google.gson.Gson;
|
import com.taoke.autopay.entity.OrderChannelEnum;
|
import com.taoke.autopay.entity.agent.ChannelAgent;
|
import com.taoke.autopay.entity.agent.ChannelAgentSettings;
|
import com.taoke.autopay.utils.AgentUtil;
|
import com.taoke.autopay.vo.admin.AdminChannelAgentVO;
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
|
import java.math.BigDecimal;
|
import java.util.Map;
|
|
public class AgentFactory {
|
|
public static AdminChannelAgentVO create(ChannelAgent agent, ChannelAgentSettings agentSettings, Map<OrderChannelEnum, BigDecimal> shareRatio, String baseSubmitKeyUrl){
|
|
AdminChannelAgentVO vo= AdminChannelAgentVO.builder()
|
.id(agent.getId())
|
.alias(agent.getAlias())
|
.name(agent.getName())
|
.alipayAccount(agent.getAlipayAccount())
|
.alipayName(agent.getAlipayName())
|
.account(agent.getAccount())
|
.createTime(agent.getCreateTime())
|
.status(agent.getStatus())
|
.statusDesc(agent.getStatusDesc())
|
.shieldedAreas(agent.getShieldedAreas())
|
.build();
|
if(agentSettings!=null){
|
vo.setMaxKeyCountPerDay(agentSettings.getMaxKeyCountPerDay()==null?null:agentSettings.getMaxKeyCountPerDay()+"");
|
if(agentSettings.getMaxPayMoneyPerDay()!=null) {
|
vo.setMaxPayMoneyPerDay(agentSettings.getMaxPayMoneyPerDay().toString());
|
}
|
vo.setStartSubmitTime(agentSettings.getStartSubmitTime());
|
vo.setEndSubmitTime(agentSettings.getEndSubmitTime());
|
vo.setCreditEnable(agentSettings.getCreditEnable()!=null&&agentSettings.getCreditEnable()?1:0);
|
}
|
if(baseSubmitKeyUrl!=null) {
|
vo.setSubmitKeyLink(AgentUtil.getSubmitKeyUrl(baseSubmitKeyUrl, agent.getAlias()));
|
}
|
if(shareRatio!=null){
|
JSONArray array=new JSONArray();
|
for(OrderChannelEnum key:shareRatio.keySet()){
|
JSONObject data=new JSONObject();
|
data.put("label",key.getName());
|
data.put("name",key.name());
|
if(shareRatio.get(key)==null){
|
data.put("money", "0.00");
|
}else {
|
data.put("money", shareRatio.get(key).toString());
|
}
|
array.add(data);
|
}
|
vo.setShareRatioInfos(new Gson().toJson(array));
|
}
|
return vo;
|
}
|
|
}
|