Merge branch 'develop' into develop_client_config

master
wangning 7 years ago
commit 246c6eddd5

@ -345,6 +345,12 @@
* @apiSuccess {String} create_time 订单创建时间最新订单为准yyyy-MM-dd HH:mm:ssGMT+10
* @apiSuccess {String} currency 币种通常为AUD
* @apiSuccess {String} channel 支付渠道 Alipay|支付宝Wechat|微信Bestpay|翼支付
* @apiSuccess {Json} customer_info
* <ul>
* <li>alipay_user_id:用户id</li>
* <li>alipay_account:用户账号</li>
* </ul>
* 仅支付宝返回该参数其他渠道为空对象
*
* @apiUse GlobalError
* @apiError (ERROR_CODE) ORDER_NOT_EXIST 订单不存在

@ -74,8 +74,8 @@ public class PartnerCardDashboardController {
}
@RequestMapping("/{client_id}/settlement_logs/{detailId}")
public JSONObject listClearingTransactions(@PathVariable int client_id, @PathVariable String detailId) {
return cleanService.getCleanLogTransactions(client_id, detailId);
public JSONObject listClearingTransactions(@PathVariable int client_id, @PathVariable int detailId,@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) {
return cleanService.getCleanLogTransactions(detailId, manager);
}

@ -20,7 +20,7 @@ import au.com.royalpay.payment.manage.mappers.system.ClientAccountMapper;
import au.com.royalpay.payment.manage.mappers.system.ClientDeviceTokenMapper;
import au.com.royalpay.payment.manage.mappers.system.ClientSettleDelayConfMapper;
import au.com.royalpay.payment.manage.mappers.system.CustomerMapper;
import au.com.royalpay.payment.manage.mappers.system.CustomerRelationAlipayMapper;
import au.com.royalpay.payment.manage.mappers.system.ManagerCustomerRelationAlipayMapper;
import au.com.royalpay.payment.manage.merchants.core.ClientManager;
import au.com.royalpay.payment.manage.notice.beans.NoticeInfo;
import au.com.royalpay.payment.manage.notice.core.NoticeManage;
@ -129,7 +129,7 @@ public class RetailAppServiceImp implements RetailAppService {
@Resource
private DeviceSupport deviceSupport;
@Resource
private CustomerRelationAlipayMapper customerRelationAlipayMapper;
private ManagerCustomerRelationAlipayMapper managerCustomerRelationAlipayMapper;
@Resource
private CustomerMapper customerMapper;
@Resource
@ -444,7 +444,7 @@ public class RetailAppServiceImp implements RetailAppService {
}
switch (order.getString("channel")) {
case "Alipay":
JSONObject alipayUser = customerRelationAlipayMapper.findCustomerByUserId(customer_id);
JSONObject alipayUser = managerCustomerRelationAlipayMapper.findCustomerByUserId(customer_id);
if (alipayUser != null) {
order.put("nickname", alipayUser.getString("nickname"));
order.put("headimg", alipayUser.getString("headimg"));
@ -526,7 +526,7 @@ public class RetailAppServiceImp implements RetailAppService {
}
switch (order.getString("channel")) {
case "Alipay":
JSONObject alipayUser = customerRelationAlipayMapper.findCustomerByUserId(customer_id);
JSONObject alipayUser = managerCustomerRelationAlipayMapper.findCustomerByUserId(customer_id);
order.put("nickname", alipayUser.getString("nickname"));
order.put("headimg", alipayUser.getString("headimg"));
break;

@ -5,7 +5,7 @@ import au.com.royalpay.payment.manage.apps.core.CustomerImpressionService;
import au.com.royalpay.payment.manage.mappers.client.ClientCustomersMapper;
import au.com.royalpay.payment.manage.mappers.payment.OrderMapper;
import au.com.royalpay.payment.manage.mappers.system.CustomerMapper;
import au.com.royalpay.payment.manage.mappers.system.CustomerRelationAlipayMapper;
import au.com.royalpay.payment.manage.mappers.system.ManagerCustomerRelationAlipayMapper;
import au.com.royalpay.payment.tools.exceptions.BadRequestException;
import au.com.royalpay.payment.tools.exceptions.NotFoundException;
import au.com.royalpay.payment.tools.lock.Locker;
@ -46,7 +46,7 @@ public class CustomerImpressionServiceImpl implements CustomerImpressionService
@Resource
private LookupService lookupService;
@Resource
private CustomerRelationAlipayMapper customerRelationAlipayMapper;
private ManagerCustomerRelationAlipayMapper managerCustomerRelationAlipayMapper;
@Resource
private CustomerMapper customerMapper;
@Resource
@ -146,7 +146,7 @@ public class CustomerImpressionServiceImpl implements CustomerImpressionService
String customer_id = order.getString("customer_id");
JSONObject userInfo = customerMapper.findCustomerByOpenId(customer_id);
if (userInfo == null) {
userInfo = customerRelationAlipayMapper.findCustomerByUserId(customer_id);
userInfo = managerCustomerRelationAlipayMapper.findCustomerByUserId(customer_id);
}
locker.lock(CUSTOMER_IMPRESSION_PREFIX + customer_id, 30_000, 30_000);
try {

@ -14,7 +14,7 @@ import au.com.royalpay.payment.manage.bill.bean.QueryBillOrderBean;
import au.com.royalpay.payment.manage.bill.core.BillOrderService;
import au.com.royalpay.payment.manage.mappers.bill.BillMapper;
import au.com.royalpay.payment.manage.mappers.bill.BillOrderMapper;
import au.com.royalpay.payment.manage.mappers.system.CustomerRelationAlipayMapper;
import au.com.royalpay.payment.manage.mappers.system.ManagerCustomerRelationAlipayMapper;
import au.com.royalpay.payment.tools.exceptions.BadRequestException;
import au.com.royalpay.payment.tools.utils.PageListUtils;
@ -28,7 +28,7 @@ public class BillOrderServiceImpl implements BillOrderService {
@Resource
private BillMapper billMapper;
@Resource
private CustomerRelationAlipayMapper customerRelationAlipayMapper;
private ManagerCustomerRelationAlipayMapper managerCustomerRelationAlipayMapper;
@Override
public List<JSONObject> getByBillId(String bill_id, int client_id) {
@ -39,7 +39,7 @@ public class BillOrderServiceImpl implements BillOrderService {
List<JSONObject> wechatBillOrders = billOrderMapper.findByBillIdWithWechatInfo(bill_id);
for (JSONObject order : wechatBillOrders) {
if ("Alipay".equals(order.getString("channel"))) {
JSONObject alipayInfo = customerRelationAlipayMapper.findCustomerByUserId(order.getString("customer_id"));
JSONObject alipayInfo = managerCustomerRelationAlipayMapper.findCustomerByUserId(order.getString("customer_id"));
if (alipayInfo != null) {
order.put("nickname", alipayInfo.getString("nickname"));
order.put("headimg", alipayInfo.getString("headimg"));

@ -257,6 +257,7 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider
channelsObj.put(channel.getString("channel"), channel);
}
cleanLog.put("channels", channelsObj);
cleanLog.put("client_moniker", client.getString("client_moniker"));
return cleanLog;
}

@ -10,7 +10,7 @@ import org.apache.ibatis.annotations.Param;
* Created by wangning on 2017/9/19.
*/
@AutoMapper(tablename = "sys_customer_relation_alipay", pkName = "relation_id")
public interface CustomerRelationAlipayMapper {
public interface ManagerCustomerRelationAlipayMapper {
@AutoSql(type = SqlType.INSERT)
void save(JSONObject customer);

@ -12,10 +12,14 @@ import au.com.royalpay.payment.core.exceptions.ParamInvalidException;
import au.com.royalpay.payment.manage.mappers.client.ClientCustomersMapper;
import au.com.royalpay.payment.manage.mappers.log.ClearingDetailAnalysisMapper;
import au.com.royalpay.payment.manage.mappers.log.ClearingDetailMapper;
import au.com.royalpay.payment.manage.mappers.payment.*;
import au.com.royalpay.payment.manage.mappers.payment.AustracDataMapper;
import au.com.royalpay.payment.manage.mappers.payment.OrderMapper;
import au.com.royalpay.payment.manage.mappers.payment.RefundAuditionMapper;
import au.com.royalpay.payment.manage.mappers.payment.RefundMapper;
import au.com.royalpay.payment.manage.mappers.payment.TransactionMapper;
import au.com.royalpay.payment.manage.mappers.system.ClientAccountMapper;
import au.com.royalpay.payment.manage.mappers.system.CustomerMapper;
import au.com.royalpay.payment.manage.mappers.system.CustomerRelationAlipayMapper;
import au.com.royalpay.payment.manage.mappers.system.ManagerCustomerRelationAlipayMapper;
import au.com.royalpay.payment.manage.merchants.core.ClientManager;
import au.com.royalpay.payment.manage.organizations.core.OrgManager;
import au.com.royalpay.payment.manage.tradelog.beans.PreRefundQueryBean;
@ -28,11 +32,13 @@ import au.com.royalpay.payment.tools.permission.enums.PartnerRole;
import au.com.royalpay.payment.tools.utils.CurrencyAmountUtils;
import au.com.royalpay.payment.tools.utils.PageListUtils;
import au.com.royalpay.payment.tools.utils.TimeZoneUtils;
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 com.github.miemiedev.mybatis.paginator.domain.Paginator;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
@ -40,13 +46,24 @@ import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.export.JRXlsExporter;
import net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter;
import net.sf.jasperreports.export.*;
import net.sf.jasperreports.export.ExporterInput;
import net.sf.jasperreports.export.OutputStreamExporterOutput;
import net.sf.jasperreports.export.SimpleExporterInput;
import net.sf.jasperreports.export.SimpleOutputStreamExporterOutput;
import net.sf.jasperreports.export.SimpleXlsxReportConfiguration;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -54,8 +71,6 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.ui.Model;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
@ -72,6 +87,9 @@ import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import static au.com.royalpay.payment.manage.permission.utils.OrgCheckUtils.checkOrgPermission;
@ -108,7 +126,7 @@ public class TradeLogServiceImpl implements TradeLogService {
@Resource
private CustomerMapper customerMapper;
@Resource
private CustomerRelationAlipayMapper customerRelationAlipayMapper;
private ManagerCustomerRelationAlipayMapper managerCustomerRelationAlipayMapper;
@Resource
private ClientCustomersMapper clientCustomersMapper;
@ -298,7 +316,7 @@ public class TradeLogServiceImpl implements TradeLogService {
order.put("nickname", customer.getString("nickname"));
}
JSONObject customerAlipay = customerRelationAlipayMapper.findCustomerByUserId(order.getString("customer_id"));
JSONObject customerAlipay = managerCustomerRelationAlipayMapper.findCustomerByUserId(order.getString("customer_id"));
if (customerAlipay != null) {
order.put("headimg", customerAlipay.getString("headimg"));
order.put("nickname", customerAlipay.getString("nickname"));
@ -371,7 +389,7 @@ public class TradeLogServiceImpl implements TradeLogService {
order.put("nickname", customer.getString("nickname"));
}
JSONObject customerAlipay = customerRelationAlipayMapper.findCustomerByUserId(order.getString("customer_id"));
JSONObject customerAlipay = managerCustomerRelationAlipayMapper.findCustomerByUserId(order.getString("customer_id"));
if (customerAlipay != null) {
order.put("headimg", customerAlipay.getString("headimg"));
order.put("nickname", customerAlipay.getString("nickname"));
@ -448,6 +466,13 @@ public class TradeLogServiceImpl implements TradeLogService {
clientManager.validateClients(client_id, params);
params.put("client_id", client_id);
List<JSONObject> logs = transactionMapper.listTransFlow(params);
logs.stream().forEach(p->{
String login_id = p.getString("login_id");
if(StringUtils.isNotEmpty(login_id)) {
p.put("order_detail", StringUtils.isEmpty(p.getString("order_detail"))?"":p.getString("order_detail") +"(alipay_id:"+login_id+")");
}
});
TimeZoneUtils.switchTimeZoneToString(logs, timezone, "dd/MM/yyyy HH:mm:ss", Arrays.asList("transaction_time"));
final JSONObject analysis = analysisTransLogs(logs);
@ -515,7 +540,7 @@ public class TradeLogServiceImpl implements TradeLogService {
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
analysis.put("total_surcharge", logs.parallelStream()
.filter(log -> log.getBigDecimal("settle_amount") != null)
.map(log -> getSymbol(log).multiply(log.getBigDecimal("total_surcharge")))
.map(log -> getSymbol(log).multiply(log.getBigDecimal("total_surcharge").add(log.getBigDecimal("tax_amount"))))
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
analysis.put("wechat_fee", logs.parallelStream()
.filter(log -> log.getBigDecimal("settle_amount") != null)

@ -3,11 +3,11 @@
<mapper namespace="au.com.royalpay.payment.manage.mappers.payment.TaskManualSettleMapper">
<select id="getEveryLatestRecord" resultType="com.alibaba.fastjson.JSONObject">
SELECT
s.request_time,s.client_id,c.client_moniker
s.request_time,c.client_id,c.client_moniker
FROM
task_client_manual_settle s
left join sys_clients c on s.client_id = c.client_id
where s.request_time=(select max(B.request_time) from task_client_manual_settle B where s.client_id =B.client_id)
right join sys_clients c on s.client_id = c.client_id
where (s.request_time=(select max(B.request_time) from task_client_manual_settle B where s.client_id =B.client_id) or s.request_time is null)
and c.manual_settle = 1
</select>
</mapper>

@ -52,9 +52,14 @@
WHEN 1 THEN 'Cleared'
WHEN 2 THEN 'Preauthorised'
END) clear_status,
o.order_detail,o.display_amount,o.channel,o.currency,o.pre_authorization
o.order_detail,o.display_amount,o.channel,o.currency,o.pre_authorization,
CASE o.channel
WHEN 'Alipay' THEN ra.login_id
WHEN 'AlipayOnline' THEN ra.login_email
END login_id
FROM pmt_transactions t
LEFT JOIN pmt_orders o ON o.order_id=t.order_id
left join sys_customer_relation_alipay ra on ra.alipay_uid = o.customer_id
<where>
<if test="client_ids!=null">
AND t.client_id IN
@ -493,7 +498,7 @@
FROM pmt_transactions t
INNER JOIN pmt_orders o ON o.order_id = t.order_id
INNER JOIN sys_clients c ON c.client_id = o.client_id AND c.org_id = 1
WHERE year(o.create_time) = #{year} AND month(o.create_time) = #{month} AND
WHERE year(o.create_time) = #{year} AND month(o.create_time) = #{month}
AND(
t.transaction_type = 'Credit'
OR t.refund_id IS NOT NULL

@ -784,6 +784,10 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
if (!$scope.partner) {
return;
}
if(!$state.is('partners.detail')){
$scope.init.wechat_compliance = false;
return;
}
if (!$scope.init.wechat_compliance) {
$scope.init.wechat_compliance = true;
return;
@ -802,6 +806,10 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
if (!$scope.partner) {
return;
}
if(!$state.is('partners.detail')){
$scope.init.local_merchant = false;
return;
}
if (!$scope.init.local_merchant) {
$scope.init.local_merchant = true;
return;

@ -26,7 +26,7 @@
<tbody>
<tr ng-repeat="contract in manual_settle_analysis">
<td ng-bind="contract.client_moniker"></td>
<td ng-bind="contract.unsettle"></td>
<td ng-bind="contract.unsettle?contract.unsettle:0"></td>
<td ng-bind="contract.request_time|date:'dd/MMM/yyyy'"></td>
</tr>
</tbody>

Loading…
Cancel
Save