|
|
|
@ -1,23 +1,35 @@
|
|
|
|
|
package jnpf.service.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.json.JSONObject;
|
|
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
|
|
import jnpf.entity.*;
|
|
|
|
|
import jnpf.mapper.PaymentLogMapper;
|
|
|
|
|
import jnpf.service.*;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
import jnpf.model.paymentlog.*;
|
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import jnpf.permission.model.authorize.AuthorizeConditionModel;
|
|
|
|
|
import jnpf.util.GeneraterSwapUtil;
|
|
|
|
|
import jnpf.database.model.superQuery.SuperQueryJsonModel;
|
|
|
|
|
import jnpf.database.model.superQuery.ConditionJsonModel;
|
|
|
|
|
import jnpf.database.model.superQuery.SuperQueryConditionModel;
|
|
|
|
|
|
|
|
|
|
import java.lang.reflect.Field;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
|
|
|
|
|
|
|
|
import java.util.regex.Pattern;
|
|
|
|
|
|
|
|
|
|
import jnpf.model.QueryModel;
|
|
|
|
|
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import jnpf.base.model.ColumnDataModel;
|
|
|
|
|
import org.aspectj.weaver.ast.Var;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
import jnpf.database.model.superQuery.SuperJsonModel;
|
|
|
|
@ -25,13 +37,19 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
|
|
|
|
|
import jnpf.util.*;
|
|
|
|
|
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
import jnpf.base.UserInfo;
|
|
|
|
|
import jnpf.permission.entity.UserEntity;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* 微信支付日志
|
|
|
|
|
* 版本: V3.5
|
|
|
|
|
* 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
|
|
|
|
@ -39,7 +57,7 @@ import jnpf.permission.entity.UserEntity;
|
|
|
|
|
* 日期: 2024-07-24
|
|
|
|
|
*/
|
|
|
|
|
@Service
|
|
|
|
|
public class PaymentLogServiceImpl extends ServiceImpl<PaymentLogMapper, PaymentLogEntity> implements PaymentLogService{
|
|
|
|
|
public class PaymentLogServiceImpl extends ServiceImpl<PaymentLogMapper, PaymentLogEntity> implements PaymentLogService {
|
|
|
|
|
@Autowired
|
|
|
|
|
private GeneraterSwapUtil generaterSwapUtil;
|
|
|
|
|
|
|
|
|
@ -47,255 +65,336 @@ public class PaymentLogServiceImpl extends ServiceImpl<PaymentLogMapper, Payment
|
|
|
|
|
private UserProvider userProvider;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<PaymentLogEntity> getList(PaymentLogPagination paymentLogPagination){
|
|
|
|
|
return getTypeList(paymentLogPagination,paymentLogPagination.getDataType());
|
|
|
|
|
public List<PaymentLogEntity> getList(PaymentLogPagination paymentLogPagination) {
|
|
|
|
|
return getTypeList(paymentLogPagination, paymentLogPagination.getDataType());
|
|
|
|
|
}
|
|
|
|
|
/** 列表查询 */
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 列表查询
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public List<PaymentLogEntity> getTypeList(PaymentLogPagination paymentLogPagination,String dataType){
|
|
|
|
|
String userId=userProvider.get().getUserId();
|
|
|
|
|
List<String> AllIdList =new ArrayList();
|
|
|
|
|
List<List<String>> intersectionList =new ArrayList<>();
|
|
|
|
|
public List<PaymentLogEntity> getTypeList(PaymentLogPagination paymentLogPagination, String dataType) {
|
|
|
|
|
String userId = userProvider.get().getUserId();
|
|
|
|
|
List<String> AllIdList = new ArrayList();
|
|
|
|
|
List<List<String>> intersectionList = new ArrayList<>();
|
|
|
|
|
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
|
|
|
|
|
String columnData = !isPc ? PaymentLogConstant.getAppColumnData() : PaymentLogConstant.getColumnData();
|
|
|
|
|
ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(columnData, ColumnDataModel.class);
|
|
|
|
|
String ruleJson = !isPc ? JsonUtil.getObjectToString(columnDataModel.getRuleListApp()) : JsonUtil.getObjectToString(columnDataModel.getRuleList());
|
|
|
|
|
|
|
|
|
|
int total=0;
|
|
|
|
|
int paymentLogNum =0;
|
|
|
|
|
QueryWrapper<PaymentLogEntity> paymentLogQueryWrapper=new QueryWrapper<>();
|
|
|
|
|
int total = 0;
|
|
|
|
|
int paymentLogNum = 0;
|
|
|
|
|
QueryWrapper<PaymentLogEntity> paymentLogQueryWrapper = new QueryWrapper<>();
|
|
|
|
|
List<String> allSuperIDlist = new ArrayList<>();
|
|
|
|
|
String superOp ="";
|
|
|
|
|
if (ObjectUtil.isNotEmpty(paymentLogPagination.getSuperQueryJson())){
|
|
|
|
|
String superOp = "";
|
|
|
|
|
if (ObjectUtil.isNotEmpty(paymentLogPagination.getSuperQueryJson())) {
|
|
|
|
|
List<String> allSuperList = new ArrayList<>();
|
|
|
|
|
List<List<String>> intersectionSuperList = new ArrayList<>();
|
|
|
|
|
List<List<String>> intersectionSuperList = new ArrayList<>();
|
|
|
|
|
String queryJson = paymentLogPagination.getSuperQueryJson();
|
|
|
|
|
SuperJsonModel superJsonModel = JsonUtil.getJsonToBean(queryJson, SuperJsonModel.class);
|
|
|
|
|
int superNum = 0;
|
|
|
|
|
QueryWrapper<PaymentLogEntity> paymentLogSuperWrapper = new QueryWrapper<>();
|
|
|
|
|
paymentLogSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(paymentLogSuperWrapper,PaymentLogEntity.class,queryJson,"0"));
|
|
|
|
|
paymentLogSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(paymentLogSuperWrapper, PaymentLogEntity.class, queryJson, "0"));
|
|
|
|
|
int paymentLogNum1 = paymentLogSuperWrapper.getExpression().getNormal().size();
|
|
|
|
|
if (paymentLogNum1>0){
|
|
|
|
|
List<String> paymentLogList =this.list(paymentLogSuperWrapper).stream().map(PaymentLogEntity::getId).collect(Collectors.toList());
|
|
|
|
|
if (paymentLogNum1 > 0) {
|
|
|
|
|
List<String> paymentLogList = this.list(paymentLogSuperWrapper).stream().map(PaymentLogEntity::getId).collect(Collectors.toList());
|
|
|
|
|
allSuperList.addAll(paymentLogList);
|
|
|
|
|
intersectionSuperList.add(paymentLogList);
|
|
|
|
|
superNum++;
|
|
|
|
|
}
|
|
|
|
|
superOp = superNum > 0 ? superJsonModel.getMatchLogic() : "";
|
|
|
|
|
//and or
|
|
|
|
|
if(superOp.equalsIgnoreCase("and")){
|
|
|
|
|
if (superOp.equalsIgnoreCase("and")) {
|
|
|
|
|
allSuperIDlist = generaterSwapUtil.getIntersection(intersectionSuperList);
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
allSuperIDlist = allSuperList;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
List<String> allRuleIDlist = new ArrayList<>();
|
|
|
|
|
String ruleOp ="";
|
|
|
|
|
if (ObjectUtil.isNotEmpty(ruleJson)){
|
|
|
|
|
String ruleOp = "";
|
|
|
|
|
if (ObjectUtil.isNotEmpty(ruleJson)) {
|
|
|
|
|
List<String> allRuleList = new ArrayList<>();
|
|
|
|
|
List<List<String>> intersectionRuleList = new ArrayList<>();
|
|
|
|
|
List<List<String>> intersectionRuleList = new ArrayList<>();
|
|
|
|
|
SuperJsonModel ruleJsonModel = JsonUtil.getJsonToBean(ruleJson, SuperJsonModel.class);
|
|
|
|
|
int ruleNum = 0;
|
|
|
|
|
QueryWrapper<PaymentLogEntity> paymentLogSuperWrapper = new QueryWrapper<>();
|
|
|
|
|
paymentLogSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(paymentLogSuperWrapper,PaymentLogEntity.class,ruleJson,"0"));
|
|
|
|
|
paymentLogSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(paymentLogSuperWrapper, PaymentLogEntity.class, ruleJson, "0"));
|
|
|
|
|
int paymentLogNum1 = paymentLogSuperWrapper.getExpression().getNormal().size();
|
|
|
|
|
if (paymentLogNum1>0){
|
|
|
|
|
List<String> paymentLogList =this.list(paymentLogSuperWrapper).stream().map(PaymentLogEntity::getId).collect(Collectors.toList());
|
|
|
|
|
if (paymentLogNum1 > 0) {
|
|
|
|
|
List<String> paymentLogList = this.list(paymentLogSuperWrapper).stream().map(PaymentLogEntity::getId).collect(Collectors.toList());
|
|
|
|
|
allRuleList.addAll(paymentLogList);
|
|
|
|
|
intersectionRuleList.add(paymentLogList);
|
|
|
|
|
ruleNum++;
|
|
|
|
|
}
|
|
|
|
|
ruleOp = ruleNum > 0 ? ruleJsonModel.getMatchLogic() : "";
|
|
|
|
|
//and or
|
|
|
|
|
if(ruleOp.equalsIgnoreCase("and")){
|
|
|
|
|
if (ruleOp.equalsIgnoreCase("and")) {
|
|
|
|
|
allRuleIDlist = generaterSwapUtil.getIntersection(intersectionRuleList);
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
allRuleIDlist = allRuleList;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
boolean pcPermission = false;
|
|
|
|
|
boolean appPermission = false;
|
|
|
|
|
if(isPc && pcPermission){
|
|
|
|
|
if (!userProvider.get().getIsAdministrator()){
|
|
|
|
|
Object paymentLogObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(paymentLogQueryWrapper,PaymentLogEntity.class,paymentLogPagination.getMenuId(),"0"));
|
|
|
|
|
if (ObjectUtil.isEmpty(paymentLogObj)){
|
|
|
|
|
return new ArrayList<>();
|
|
|
|
|
} else {
|
|
|
|
|
paymentLogQueryWrapper = (QueryWrapper<PaymentLogEntity>)paymentLogObj;
|
|
|
|
|
if( paymentLogQueryWrapper.getExpression().getNormal().size()>0){
|
|
|
|
|
paymentLogNum++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(!isPc && appPermission){
|
|
|
|
|
if (!userProvider.get().getIsAdministrator()){
|
|
|
|
|
Object paymentLogObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(paymentLogQueryWrapper,PaymentLogEntity.class,paymentLogPagination.getMenuId(),"0"));
|
|
|
|
|
if (ObjectUtil.isEmpty(paymentLogObj)){
|
|
|
|
|
return new ArrayList<>();
|
|
|
|
|
} else {
|
|
|
|
|
paymentLogQueryWrapper = (QueryWrapper<PaymentLogEntity>)paymentLogObj;
|
|
|
|
|
if( paymentLogQueryWrapper.getExpression().getNormal().size()>0){
|
|
|
|
|
paymentLogNum++;
|
|
|
|
|
}
|
|
|
|
|
boolean pcPermission = false;
|
|
|
|
|
boolean appPermission = false;
|
|
|
|
|
if (isPc && pcPermission) {
|
|
|
|
|
if (!userProvider.get().getIsAdministrator()) {
|
|
|
|
|
Object paymentLogObj = generaterSwapUtil.getAuthorizeCondition(new QueryModel(paymentLogQueryWrapper, PaymentLogEntity.class, paymentLogPagination.getMenuId(), "0"));
|
|
|
|
|
if (ObjectUtil.isEmpty(paymentLogObj)) {
|
|
|
|
|
return new ArrayList<>();
|
|
|
|
|
} else {
|
|
|
|
|
paymentLogQueryWrapper = (QueryWrapper<PaymentLogEntity>) paymentLogObj;
|
|
|
|
|
if (paymentLogQueryWrapper.getExpression().getNormal().size() > 0) {
|
|
|
|
|
paymentLogNum++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (!isPc && appPermission) {
|
|
|
|
|
if (!userProvider.get().getIsAdministrator()) {
|
|
|
|
|
Object paymentLogObj = generaterSwapUtil.getAuthorizeCondition(new QueryModel(paymentLogQueryWrapper, PaymentLogEntity.class, paymentLogPagination.getMenuId(), "0"));
|
|
|
|
|
if (ObjectUtil.isEmpty(paymentLogObj)) {
|
|
|
|
|
return new ArrayList<>();
|
|
|
|
|
} else {
|
|
|
|
|
paymentLogQueryWrapper = (QueryWrapper<PaymentLogEntity>) paymentLogObj;
|
|
|
|
|
if (paymentLogQueryWrapper.getExpression().getNormal().size() > 0) {
|
|
|
|
|
paymentLogNum++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(isPc){
|
|
|
|
|
if(ObjectUtil.isNotEmpty(paymentLogPagination.getOrderNo())){
|
|
|
|
|
paymentLogNum++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (isPc) {
|
|
|
|
|
if (ObjectUtil.isNotEmpty(paymentLogPagination.getOrderNo())) {
|
|
|
|
|
paymentLogNum++;
|
|
|
|
|
|
|
|
|
|
String value = paymentLogPagination.getOrderNo() instanceof List ?
|
|
|
|
|
JsonUtil.getObjectToString(paymentLogPagination.getOrderNo()) :
|
|
|
|
|
String.valueOf(paymentLogPagination.getOrderNo());
|
|
|
|
|
paymentLogQueryWrapper.lambda().like(PaymentLogEntity::getOrderNo,value);
|
|
|
|
|
JsonUtil.getObjectToString(paymentLogPagination.getOrderNo()) :
|
|
|
|
|
String.valueOf(paymentLogPagination.getOrderNo());
|
|
|
|
|
paymentLogQueryWrapper.lambda().like(PaymentLogEntity::getOrderNo, value);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(ObjectUtil.isNotEmpty(paymentLogPagination.getTradeState())){
|
|
|
|
|
paymentLogNum++;
|
|
|
|
|
if (ObjectUtil.isNotEmpty(paymentLogPagination.getTradeState())) {
|
|
|
|
|
paymentLogNum++;
|
|
|
|
|
|
|
|
|
|
List<String> idList = new ArrayList<>();
|
|
|
|
|
try {
|
|
|
|
|
String[][] tradeState = JsonUtil.getJsonToBean(paymentLogPagination.getTradeState(),String[][].class);
|
|
|
|
|
for(int i=0;i<tradeState.length;i++){
|
|
|
|
|
if(tradeState[i].length>0){
|
|
|
|
|
idList.add(JsonUtil.getObjectToString(Arrays.asList(tradeState[i])));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}catch (Exception e1){
|
|
|
|
|
try {
|
|
|
|
|
List<String> tradeState = JsonUtil.getJsonToList(paymentLogPagination.getTradeState(),String.class);
|
|
|
|
|
if(tradeState.size()>0){
|
|
|
|
|
idList.addAll(tradeState);
|
|
|
|
|
}
|
|
|
|
|
}catch (Exception e2){
|
|
|
|
|
idList.add(String.valueOf(paymentLogPagination.getTradeState()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
paymentLogQueryWrapper.lambda().and(t->{
|
|
|
|
|
idList.forEach(tt->{
|
|
|
|
|
t.like(PaymentLogEntity::getTradeState, tt).or();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
List<String> idList = new ArrayList<>();
|
|
|
|
|
try {
|
|
|
|
|
String[][] tradeState = JsonUtil.getJsonToBean(paymentLogPagination.getTradeState(), String[][].class);
|
|
|
|
|
for (int i = 0; i < tradeState.length; i++) {
|
|
|
|
|
if (tradeState[i].length > 0) {
|
|
|
|
|
idList.add(JsonUtil.getObjectToString(Arrays.asList(tradeState[i])));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e1) {
|
|
|
|
|
try {
|
|
|
|
|
List<String> tradeState = JsonUtil.getJsonToList(paymentLogPagination.getTradeState(), String.class);
|
|
|
|
|
if (tradeState.size() > 0) {
|
|
|
|
|
idList.addAll(tradeState);
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e2) {
|
|
|
|
|
idList.add(String.valueOf(paymentLogPagination.getTradeState()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
paymentLogQueryWrapper.lambda().and(t -> {
|
|
|
|
|
idList.forEach(tt -> {
|
|
|
|
|
t.like(PaymentLogEntity::getTradeState, tt).or();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
List<String> intersection = generaterSwapUtil.getIntersection(intersectionList);
|
|
|
|
|
if (total>0){
|
|
|
|
|
if (intersection.size()==0){
|
|
|
|
|
if (total > 0) {
|
|
|
|
|
if (intersection.size() == 0) {
|
|
|
|
|
intersection.add("jnpfNullList");
|
|
|
|
|
}
|
|
|
|
|
paymentLogQueryWrapper.lambda().in(PaymentLogEntity::getId, intersection);
|
|
|
|
|
}
|
|
|
|
|
//是否有高级查询
|
|
|
|
|
if (StringUtil.isNotEmpty(superOp)){
|
|
|
|
|
if (allSuperIDlist.size()==0){
|
|
|
|
|
//是否有高级查询
|
|
|
|
|
if (StringUtil.isNotEmpty(superOp)) {
|
|
|
|
|
if (allSuperIDlist.size() == 0) {
|
|
|
|
|
allSuperIDlist.add("jnpfNullList");
|
|
|
|
|
}
|
|
|
|
|
List<String> finalAllSuperIDlist = allSuperIDlist;
|
|
|
|
|
paymentLogQueryWrapper.lambda().and(t->t.in(PaymentLogEntity::getId, finalAllSuperIDlist));
|
|
|
|
|
paymentLogQueryWrapper.lambda().and(t -> t.in(PaymentLogEntity::getId, finalAllSuperIDlist));
|
|
|
|
|
}
|
|
|
|
|
//是否有数据过滤查询
|
|
|
|
|
if (StringUtil.isNotEmpty(ruleOp)){
|
|
|
|
|
if (allRuleIDlist.size()==0){
|
|
|
|
|
//是否有数据过滤查询
|
|
|
|
|
if (StringUtil.isNotEmpty(ruleOp)) {
|
|
|
|
|
if (allRuleIDlist.size() == 0) {
|
|
|
|
|
allRuleIDlist.add("jnpfNullList");
|
|
|
|
|
}
|
|
|
|
|
List<String> finalAllRuleIDlist = allRuleIDlist;
|
|
|
|
|
paymentLogQueryWrapper.lambda().and(t->t.in(PaymentLogEntity::getId, finalAllRuleIDlist));
|
|
|
|
|
paymentLogQueryWrapper.lambda().and(t -> t.in(PaymentLogEntity::getId, finalAllRuleIDlist));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//排序
|
|
|
|
|
if(StringUtil.isEmpty(paymentLogPagination.getSidx())){
|
|
|
|
|
if (StringUtil.isEmpty(paymentLogPagination.getSidx())) {
|
|
|
|
|
paymentLogQueryWrapper.lambda().orderByDesc(PaymentLogEntity::getId);
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
try {
|
|
|
|
|
String sidx = paymentLogPagination.getSidx();
|
|
|
|
|
String[] strs= sidx.split("_name");
|
|
|
|
|
String[] strs = sidx.split("_name");
|
|
|
|
|
PaymentLogEntity paymentLogEntity = new PaymentLogEntity();
|
|
|
|
|
Field declaredField = paymentLogEntity.getClass().getDeclaredField(strs[0]);
|
|
|
|
|
declaredField.setAccessible(true);
|
|
|
|
|
String value = declaredField.getAnnotation(TableField.class).value();
|
|
|
|
|
paymentLogQueryWrapper="asc".equals(paymentLogPagination.getSort().toLowerCase())?paymentLogQueryWrapper.orderByAsc(value):paymentLogQueryWrapper.orderByDesc(value);
|
|
|
|
|
paymentLogQueryWrapper = "asc".equals(paymentLogPagination.getSort().toLowerCase()) ? paymentLogQueryWrapper.orderByAsc(value) : paymentLogQueryWrapper.orderByDesc(value);
|
|
|
|
|
} catch (NoSuchFieldException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if("0".equals(dataType)){
|
|
|
|
|
if((total>0 && AllIdList.size()>0) || total==0){
|
|
|
|
|
Page<PaymentLogEntity> page=new Page<>(paymentLogPagination.getCurrentPage(), paymentLogPagination.getPageSize());
|
|
|
|
|
IPage<PaymentLogEntity> userIPage=this.page(page, paymentLogQueryWrapper);
|
|
|
|
|
return paymentLogPagination.setData(userIPage.getRecords(),userIPage.getTotal());
|
|
|
|
|
}else{
|
|
|
|
|
if ("0".equals(dataType)) {
|
|
|
|
|
if ((total > 0 && AllIdList.size() > 0) || total == 0) {
|
|
|
|
|
Page<PaymentLogEntity> page = new Page<>(paymentLogPagination.getCurrentPage(), paymentLogPagination.getPageSize());
|
|
|
|
|
IPage<PaymentLogEntity> userIPage = this.page(page, paymentLogQueryWrapper);
|
|
|
|
|
return paymentLogPagination.setData(userIPage.getRecords(), userIPage.getTotal());
|
|
|
|
|
} else {
|
|
|
|
|
List<PaymentLogEntity> list = new ArrayList();
|
|
|
|
|
return paymentLogPagination.setData(list, list.size());
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
return this.list(paymentLogQueryWrapper);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public PaymentLogEntity getInfo(String id){
|
|
|
|
|
QueryWrapper<PaymentLogEntity> queryWrapper=new QueryWrapper<>();
|
|
|
|
|
queryWrapper.lambda().eq(PaymentLogEntity::getId,id);
|
|
|
|
|
public PaymentLogEntity getInfo(String id) {
|
|
|
|
|
QueryWrapper<PaymentLogEntity> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
queryWrapper.lambda().eq(PaymentLogEntity::getId, id);
|
|
|
|
|
return this.getOne(queryWrapper);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void create(PaymentLogEntity entity){
|
|
|
|
|
public void create(PaymentLogEntity entity) {
|
|
|
|
|
this.save(entity);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean update(String id, PaymentLogEntity entity){
|
|
|
|
|
public boolean update(String id, PaymentLogEntity entity) {
|
|
|
|
|
return this.updateById(entity);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void delete(PaymentLogEntity entity){
|
|
|
|
|
if(entity!=null){
|
|
|
|
|
public void delete(PaymentLogEntity entity) {
|
|
|
|
|
if (entity != null) {
|
|
|
|
|
this.removeById(entity.getId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/** 验证表单唯一字段,正则,非空 i-0新增-1修改*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 验证表单唯一字段,正则,非空 i-0新增-1修改
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public String checkForm(PaymentLogForm form,int i) {
|
|
|
|
|
boolean isUp =StringUtil.isNotEmpty(form.getId()) && !form.getId().equals("0");
|
|
|
|
|
String id="";
|
|
|
|
|
public String checkForm(PaymentLogForm form, int i) {
|
|
|
|
|
boolean isUp = StringUtil.isNotEmpty(form.getId()) && !form.getId().equals("0");
|
|
|
|
|
String id = "";
|
|
|
|
|
String countRecover = "";
|
|
|
|
|
if (isUp){
|
|
|
|
|
if (isUp) {
|
|
|
|
|
id = form.getId();
|
|
|
|
|
}
|
|
|
|
|
//主表字段验证
|
|
|
|
|
if(StringUtil.isNotEmpty(form.getPayerTotal())){
|
|
|
|
|
if(!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getPayerTotal())).matches()){
|
|
|
|
|
return "请输入正确的金额";
|
|
|
|
|
if (StringUtil.isNotEmpty(form.getPayerTotal())) {
|
|
|
|
|
if (!Pattern.compile("^([1-9][\\d]*|0)(\\.[\\d]+)?$").matcher(String.valueOf(form.getPayerTotal())).matches()) {
|
|
|
|
|
return "请输入正确的金额";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return countRecover;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 新增修改数据(事务回滚)
|
|
|
|
|
* @param id
|
|
|
|
|
* @param paymentLogForm
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
* 新增修改数据(事务回滚)
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* @param paymentLogForm
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional
|
|
|
|
|
public void saveOrUpdate(PaymentLogForm paymentLogForm,String id, boolean isSave) throws Exception{
|
|
|
|
|
UserInfo userInfo=userProvider.get();
|
|
|
|
|
public void saveOrUpdate(PaymentLogForm paymentLogForm, String id, boolean isSave) throws Exception {
|
|
|
|
|
UserInfo userInfo = userProvider.get();
|
|
|
|
|
UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId());
|
|
|
|
|
paymentLogForm = JsonUtil.getJsonToBean(
|
|
|
|
|
generaterSwapUtil.swapDatetime(PaymentLogConstant.getFormData(),paymentLogForm),PaymentLogForm.class);
|
|
|
|
|
generaterSwapUtil.swapDatetime(PaymentLogConstant.getFormData(), paymentLogForm), PaymentLogForm.class);
|
|
|
|
|
PaymentLogEntity entity = JsonUtil.getJsonToBean(paymentLogForm, PaymentLogEntity.class);
|
|
|
|
|
|
|
|
|
|
if(isSave){
|
|
|
|
|
String mainId = RandomUtil.uuId() ;
|
|
|
|
|
if (isSave) {
|
|
|
|
|
String mainId = RandomUtil.uuId();
|
|
|
|
|
entity.setId(mainId);
|
|
|
|
|
}else{
|
|
|
|
|
entity.setCreatorTime(DateUtil.getNowDate());
|
|
|
|
|
entity.setCreatorUserId(userInfo.getUserId());
|
|
|
|
|
entity.setOrganizeJsonId(userEntity.getOrganizeId());
|
|
|
|
|
} else {
|
|
|
|
|
entity.setLastModifyTime(DateUtil.getNowDate());
|
|
|
|
|
entity.setLastModifyUserId(userInfo.getUserId());
|
|
|
|
|
}
|
|
|
|
|
this.saveOrUpdate(entity);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String processQuery(String body) {
|
|
|
|
|
// 查询订单日志状态
|
|
|
|
|
JSONObject jsonObject = JSONUtil.parseObj(body);
|
|
|
|
|
String outTradeNo = jsonObject.getStr("out_trade_no");// 商户系统内部订单号
|
|
|
|
|
String transactionId = jsonObject.getStr("transaction_id");//微信支付系统生成的订单号。
|
|
|
|
|
String tradeType = jsonObject.getStr("trade_type");//交易类型
|
|
|
|
|
String tradeState = jsonObject.getStr("trade_state");// 交易状态
|
|
|
|
|
String tradeStateDesc = jsonObject.getStr("trade_state_desc");//交易状态描述
|
|
|
|
|
String successTime = jsonObject.getStr("success_time");//支付完成时间
|
|
|
|
|
String attach = jsonObject.getStr("attach");//此字段是商户id
|
|
|
|
|
JSONObject payer = jsonObject.getJSONObject("payer");
|
|
|
|
|
String openid = payer.getStr("openid");//用户标识
|
|
|
|
|
JSONObject amount = jsonObject.getJSONObject("amount");
|
|
|
|
|
Integer total = amount.getInt("total");// 订单总金额
|
|
|
|
|
Integer payerTotal = amount.getInt("payer_total");//用户支付金额,单位为分
|
|
|
|
|
|
|
|
|
|
// 查询订单日志
|
|
|
|
|
QueryWrapper<PaymentLogEntity> query = new QueryWrapper<>();
|
|
|
|
|
query.lambda()
|
|
|
|
|
.eq(PaymentLogEntity::getOrderNo, outTradeNo)
|
|
|
|
|
.eq(PaymentLogEntity::getTradeType, tradeType)
|
|
|
|
|
.isNull(PaymentLogEntity::getDeleteMark);
|
|
|
|
|
PaymentLogEntity entity = this.getOne(query);
|
|
|
|
|
|
|
|
|
|
UserInfo userInfo = userProvider.get();
|
|
|
|
|
UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId());
|
|
|
|
|
|
|
|
|
|
// 没有日志记录 先记录
|
|
|
|
|
if (null == entity) {
|
|
|
|
|
PaymentLogEntity log = new PaymentLogEntity();
|
|
|
|
|
log.setId(RandomUtil.uuId());
|
|
|
|
|
log.setTransactionId(transactionId);
|
|
|
|
|
log.setPaymentType("WXPAY");
|
|
|
|
|
log.setTradeType(tradeType);
|
|
|
|
|
log.setTradeState(tradeState);
|
|
|
|
|
log.setOpenId(openid);
|
|
|
|
|
log.setTotal(total);
|
|
|
|
|
log.setPayerTotal(payerTotal);
|
|
|
|
|
log.setContent(body);
|
|
|
|
|
log.setCompanyId(attach);
|
|
|
|
|
log.setCreatorTime(DateUtil.getNowDate());
|
|
|
|
|
log.setCreatorUserId(userInfo.getUserId());
|
|
|
|
|
log.setOrganizeJsonId(userEntity.getOrganizeId());
|
|
|
|
|
this.save(log);
|
|
|
|
|
// 状态不一致
|
|
|
|
|
} else if (!tradeState.equals(entity.getTradeState())) {
|
|
|
|
|
entity.setTradeState(tradeState);
|
|
|
|
|
entity.setLastModifyTime(DateUtil.getNowDate());
|
|
|
|
|
this.updateById(entity);
|
|
|
|
|
}
|
|
|
|
|
return tradeState;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 更新微信日志状态
|
|
|
|
|
@Override
|
|
|
|
|
public boolean updateStats(String orderNo, String status) {
|
|
|
|
|
UpdateWrapper<PaymentLogEntity> wrapper = new UpdateWrapper<>();
|
|
|
|
|
wrapper.lambda().set(PaymentLogEntity::getTradeState, status)
|
|
|
|
|
.set(PaymentLogEntity::getLastModifyTime, DateUtil.getNowDate())
|
|
|
|
|
.eq(PaymentLogEntity::getOrderNo, orderNo);
|
|
|
|
|
boolean update = this.update(wrapper);
|
|
|
|
|
return update;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|