parent
148dfb1d1d
commit
487c7fb4f4
|
|
@ -16,17 +16,13 @@
|
|||
package com.jeequan.jeepay.core.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.core.MybatisConfiguration;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
|
||||
import com.jeequan.jeepay.core.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.ibatis.builder.MapperBuilderAssistant;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
|
@ -47,7 +43,6 @@ public class IsvInfo extends BaseModel implements Serializable {
|
|||
|
||||
//gw
|
||||
public static final LambdaQueryWrapper<IsvInfo> gw(){
|
||||
TableInfoHelper.initTableInfo(new MapperBuilderAssistant(new MybatisConfiguration(), ""), IsvInfo.class);
|
||||
return new LambdaQueryWrapper<>();
|
||||
}
|
||||
|
||||
|
|
@ -114,8 +109,5 @@ public class IsvInfo extends BaseModel implements Serializable {
|
|||
*/
|
||||
private Date updatedAt;
|
||||
|
||||
// 用于标记前端传递排序字段
|
||||
@TableField(exist = false)
|
||||
private String orderItem;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ public class IsvInfoController extends CommonCtrl {
|
|||
@RequestMapping(value="", method = RequestMethod.GET)
|
||||
public ApiRes list() {
|
||||
IsvInfo isvInfo = getObject(IsvInfo.class);
|
||||
|
||||
LambdaQueryWrapper<IsvInfo> wrapper = IsvInfo.gw();
|
||||
if (StringUtils.isNotEmpty(isvInfo.getIsvNo())) {
|
||||
wrapper.eq(IsvInfo::getIsvNo, isvInfo.getIsvNo());
|
||||
|
|
@ -71,12 +72,12 @@ public class IsvInfoController extends CommonCtrl {
|
|||
if (isvInfo.getState() != null) {
|
||||
wrapper.eq(IsvInfo::getState, isvInfo.getState());
|
||||
}
|
||||
if(StringUtils.isNotEmpty(isvInfo.getOrderItem())){
|
||||
setOrderBy(wrapper,true,isvInfo.getOrderItem());
|
||||
if(StringUtils.isNotEmpty((String)isvInfo.getExt().get("orderItem"))){
|
||||
setOrderBy(wrapper,true,(String)isvInfo.getExt().get("orderItem"));
|
||||
}else{
|
||||
wrapper.orderByDesc(IsvInfo::getCreatedAt);
|
||||
}
|
||||
IPage<IsvInfoService.IsvInfoResp> pages = isvInfoService.pageForIsv(getIPage(true), wrapper);
|
||||
IPage<IsvInfo> pages = isvInfoService.pageForIsv(getIPage(true), wrapper);
|
||||
return ApiRes.page(pages);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -87,43 +87,23 @@ public class IsvInfoService extends ServiceImpl<IsvInfoMapper, IsvInfo> {
|
|||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
public IPage<IsvInfoResp> pageForIsv(IPage page,Wrapper queryWrapper) {
|
||||
public IPage<IsvInfo> pageForIsv(IPage page,Wrapper queryWrapper) {
|
||||
IPage<IsvInfo> pages = isvInfoService.page(page, queryWrapper);
|
||||
IPage<IsvInfoResp> resultPages = new Page<>();
|
||||
BeanUtils.copyProperties(pages,resultPages);
|
||||
List<IsvInfoResp> isvInfoResps = new ArrayList<>();
|
||||
List<String> isvNos = pages.getRecords().stream().map(isvInfo -> isvInfo.getIsvNo()).collect(Collectors.toList());
|
||||
List<Map<String, Object>> computMchList = mchInfoService.computeMchNum(isvNos);
|
||||
Map<String, Map<String, Object>> isvNoKeyMap = computMchList.stream().collect(Collectors.toMap(map -> (String) map.get("isv_no"), map1 -> map1));
|
||||
Map<String, Object[]> isvNoKeyArray = computMchList.stream().collect(Collectors.toMap(map -> (String) map.get("isv_no"), map1 -> new Object[]{map1.get("normal_num"), map1.get("stop_num")}));
|
||||
pages.getRecords().stream().forEach(isvInfo -> {
|
||||
IsvInfoResp isvInfoResp = new IsvInfoResp();
|
||||
BeanUtils.copyProperties(isvInfo,isvInfoResp);
|
||||
isvInfoResp.setNormalMchNum(Optional.ofNullable(isvNoKeyMap)
|
||||
.map(map->(Map)map.get(isvInfo.getIsvNo()))
|
||||
.map(map->(Long)map.get("normal_num"))
|
||||
// 有效商户数量
|
||||
isvInfo.addExt("normalMchNum",Optional.ofNullable(isvNoKeyArray)
|
||||
.map(map->map.get(isvInfo.getIsvNo()))
|
||||
.map(obj->(Long)obj[0])
|
||||
.orElse(0L));
|
||||
isvInfoResp.setStopMchNum(Optional.ofNullable(isvNoKeyMap)
|
||||
.map(map->(Map)map.get(isvInfo.getIsvNo()))
|
||||
.map(map->(Long)map.get("stop_num"))
|
||||
// 无效商户数量
|
||||
isvInfo.addExt("stopMchNum",Optional.ofNullable(isvNoKeyArray)
|
||||
.map(map->map.get(isvInfo.getIsvNo()))
|
||||
.map(obj->(Long)obj[1])
|
||||
.orElse(0L));
|
||||
isvInfoResps.add(isvInfoResp);
|
||||
});
|
||||
|
||||
resultPages.setRecords(isvInfoResps);
|
||||
return resultPages;
|
||||
}
|
||||
|
||||
/**
|
||||
* 服务商响应对象
|
||||
* TODO 提取公共响应dto包内
|
||||
*/
|
||||
@Data
|
||||
public static class IsvInfoResp extends IsvInfo{
|
||||
|
||||
// 有效商户数量
|
||||
private Long normalMchNum;
|
||||
// 无效商户数量
|
||||
private Long stopMchNum;
|
||||
|
||||
return pages;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue