parent
448aa422f0
commit
18fc6be9a4
@ -0,0 +1,59 @@
|
|||||||
|
package au.com.royalpay.payment.manage.custom.beans;
|
||||||
|
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kira
|
||||||
|
* @date 2018/7/27
|
||||||
|
*/
|
||||||
|
public class AddCustomVO {
|
||||||
|
private String order_id;
|
||||||
|
private String custom;
|
||||||
|
private String mch_custom_no;
|
||||||
|
private boolean has_sub;
|
||||||
|
private List<JSONObject> subOrders;
|
||||||
|
|
||||||
|
|
||||||
|
public String getOrder_id() {
|
||||||
|
return order_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrder_id(String order_id) {
|
||||||
|
this.order_id = order_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustom() {
|
||||||
|
return custom;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustom(String custom) {
|
||||||
|
this.custom = custom;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMch_custom_no() {
|
||||||
|
return mch_custom_no;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMch_custom_no(String mch_custom_no) {
|
||||||
|
this.mch_custom_no = mch_custom_no;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isHas_sub() {
|
||||||
|
return has_sub;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHas_sub(boolean has_sub) {
|
||||||
|
this.has_sub = has_sub;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<JSONObject> getSubOrders() {
|
||||||
|
return subOrders;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSubOrders(List<JSONObject> subOrders) {
|
||||||
|
this.subOrders = subOrders;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
package au.com.royalpay.payment.manage.custom.beans;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kira
|
||||||
|
* @date 2018/7/27
|
||||||
|
*/
|
||||||
|
public class QueryCustomVo {
|
||||||
|
|
||||||
|
private String date;
|
||||||
|
private String channel;
|
||||||
|
private int page = 1;
|
||||||
|
private int limit = 10;
|
||||||
|
|
||||||
|
public JSONObject toParam() {
|
||||||
|
JSONObject result = new JSONObject();
|
||||||
|
if (StringUtils.isNotEmpty(date)) {
|
||||||
|
result.put("data", date);
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(channel)) {
|
||||||
|
result.put("channel", channel);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getPage() {
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPage(int page) {
|
||||||
|
this.page = page;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getLimit() {
|
||||||
|
return limit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLimit(int limit) {
|
||||||
|
this.limit = limit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDate() {
|
||||||
|
return date;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDate(String date) {
|
||||||
|
this.date = date;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getChannel() {
|
||||||
|
return channel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setChannel(String channel) {
|
||||||
|
this.channel = channel;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,8 +1,21 @@
|
|||||||
package au.com.royalpay.payment.manage.custom.core;
|
package au.com.royalpay.payment.manage.custom.core;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kira
|
* @author kira
|
||||||
* @date 2018/7/27
|
* @date 2018/7/27
|
||||||
*/
|
*/
|
||||||
public interface CustomService {
|
public interface CustomService {
|
||||||
|
|
||||||
|
JSONObject findOneWithDetail(String report_id);
|
||||||
|
|
||||||
|
void add(String orderId, String mchCustomId, String custom, List<JSONObject> subOrders);
|
||||||
|
|
||||||
|
boolean check(int client_id, String channel);
|
||||||
|
|
||||||
|
JSONObject query(JSONObject param, int page, int limit);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,70 @@
|
|||||||
package au.com.royalpay.payment.manage.custom.core.impl;
|
package au.com.royalpay.payment.manage.custom.core.impl;
|
||||||
|
|
||||||
|
import au.com.royalpay.payment.core.CustomSupport;
|
||||||
|
import au.com.royalpay.payment.core.beans.CustomReport;
|
||||||
import au.com.royalpay.payment.manage.custom.core.CustomService;
|
import au.com.royalpay.payment.manage.custom.core.CustomService;
|
||||||
|
import au.com.royalpay.payment.manage.mappers.custom.CustomReportDetailsMapper;
|
||||||
|
import au.com.royalpay.payment.manage.mappers.custom.CustomReportsMapper;
|
||||||
|
import au.com.royalpay.payment.tools.utils.PageListUtils;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kira
|
* @author kira
|
||||||
* @date 2018/7/27
|
* @date 2018/7/27
|
||||||
*/
|
*/
|
||||||
|
@Service
|
||||||
public class CustomServiceImpl implements CustomService {
|
public class CustomServiceImpl implements CustomService {
|
||||||
|
@Resource
|
||||||
|
private CustomSupport customSupport;
|
||||||
|
@Resource
|
||||||
|
private CustomReportsMapper customReportsMapper;
|
||||||
|
@Resource
|
||||||
|
private CustomReportDetailsMapper customReportDetailsMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JSONObject findOneWithDetail(String report_id) {
|
||||||
|
JSONObject result = customReportsMapper.findOne(report_id);
|
||||||
|
result.put("sub_orders", customReportDetailsMapper.findByReportId(report_id));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void add(String orderId, String mchCustomId, String custom, List<JSONObject> subOrders) {
|
||||||
|
CustomReport customReport = new CustomReport(orderId, mchCustomId, custom);
|
||||||
|
if (!CollectionUtils.isEmpty(subOrders)) {
|
||||||
|
subOrders.forEach(p -> {
|
||||||
|
customReport.addSubOrder(p.getBigDecimal("order_fee"), p.getBigDecimal("product_fee"));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
JSONObject result = customSupport.saveCustom(customReport);
|
||||||
|
customSupport.sendCustom(result.getString("report_id"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean check(int client_id, String channel) {
|
||||||
|
List<String> supportChannel = customSupport.customSupportedChannels(client_id);
|
||||||
|
boolean result = false;
|
||||||
|
for (String p : supportChannel) {
|
||||||
|
if (p.equals(channel)) {
|
||||||
|
result = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JSONObject query(JSONObject param, int page, int limit) {
|
||||||
|
return PageListUtils.buildPageListResult(customReportsMapper.queryWithTrans(param, new PageBounds(page, limit)));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,39 @@
|
|||||||
|
package au.com.royalpay.payment.manage.custom.web;
|
||||||
|
|
||||||
|
import au.com.royalpay.payment.manage.custom.beans.AddCustomVO;
|
||||||
|
import au.com.royalpay.payment.manage.custom.beans.QueryCustomVo;
|
||||||
|
import au.com.royalpay.payment.manage.custom.core.CustomService;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping(value = "/custom")
|
||||||
|
public class CustomController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CustomService customService;
|
||||||
|
|
||||||
|
@RequestMapping(value = "/{report_id}",method = RequestMethod.GET)
|
||||||
|
public JSONObject findOne(@PathVariable String report_id) {
|
||||||
|
return customService.findOneWithDetail(report_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/query",method = RequestMethod.GET)
|
||||||
|
public JSONObject queryWithTran( QueryCustomVo queryCustomVo) {
|
||||||
|
return customService.query(queryCustomVo.toParam(),queryCustomVo.getPage(),queryCustomVo.getLimit());
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "",method = RequestMethod.POST)
|
||||||
|
@ResponseBody
|
||||||
|
public void add(AddCustomVO addCustomVO) {
|
||||||
|
customService.add(addCustomVO.getOrder_id(),addCustomVO.getMch_custom_no(),addCustomVO.getCustom(),addCustomVO.getSubOrders());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
package au.com.royalpay.payment.manage.mappers.custom;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
|
||||||
|
import com.github.miemiedev.mybatis.paginator.domain.PageList;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper;
|
||||||
|
import cn.yixblog.support.mybatis.autosql.annotations.AutoSql;
|
||||||
|
import cn.yixblog.support.mybatis.autosql.annotations.SqlType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by yishuqian on 9/1/16.
|
||||||
|
*/
|
||||||
|
@AutoMapper(tablename = "pmt_custom_report_details", pkName = "sub_order_no")
|
||||||
|
public interface CustomReportDetailsMapper {
|
||||||
|
@AutoSql(type = SqlType.SELECT)
|
||||||
|
JSONObject findByReportId(@Param("report_id") String report_id);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
package au.com.royalpay.payment.manage.mappers.custom;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
|
||||||
|
import com.github.miemiedev.mybatis.paginator.domain.PageList;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper;
|
||||||
|
import cn.yixblog.support.mybatis.autosql.annotations.AutoSql;
|
||||||
|
import cn.yixblog.support.mybatis.autosql.annotations.SqlType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by yishuqian on 9/1/16.
|
||||||
|
*/
|
||||||
|
@AutoMapper(tablename = "pmt_custom_reports", pkName = "report_id")
|
||||||
|
public interface CustomReportsMapper {
|
||||||
|
@AutoSql(type = SqlType.SELECT)
|
||||||
|
JSONObject findOne(@Param("report_id") String report_id);
|
||||||
|
|
||||||
|
PageList<JSONObject> queryWithTrans(JSONObject param,PageBounds pagination);
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||||
|
<mapper namespace="au.com.royalpay.payment.manage.mappers.custom.CustomReportDetailsMapper">
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||||
|
<mapper namespace="au.com.royalpay.payment.manage.mappers.custom.CustomReportsMapper">
|
||||||
|
|
||||||
|
<select id="queryWithTrans" resultType="com.alibaba.fastjson.JSONObject">
|
||||||
|
select * from
|
||||||
|
pmt_custom_reports r
|
||||||
|
left join
|
||||||
|
pmt_transactions t
|
||||||
|
on r.order_id = t.order_id
|
||||||
|
<where>
|
||||||
|
|
||||||
|
</where>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
Loading…
Reference in new issue