mirror of
https://github.com/201206030/novel-plus.git
synced 2025-04-27 01:30:51 +00:00
perf: 后台订单管理
This commit is contained in:
parent
3ffa75dc10
commit
c71eadef82
@ -1,17 +1,11 @@
|
|||||||
package com.java2nb.novel.domain;
|
package com.java2nb.novel.domain;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.java2nb.common.jsonserializer.LongToStringSerializer;
|
import com.java2nb.common.jsonserializer.LongToStringSerializer;
|
||||||
|
|
||||||
|
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -22,145 +16,173 @@ import java.util.Date;
|
|||||||
* @date 2020-12-01 03:49:57
|
* @date 2020-12-01 03:49:57
|
||||||
*/
|
*/
|
||||||
public class PayDO implements Serializable {
|
public class PayDO implements Serializable {
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
||||||
//主键
|
//主键
|
||||||
//java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值)
|
//java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值)
|
||||||
//所以通过序列化成字符串来解决
|
//所以通过序列化成字符串来解决
|
||||||
@JsonSerialize(using = LongToStringSerializer.class)
|
@JsonSerialize(using = LongToStringSerializer.class)
|
||||||
private Long id;
|
private Long id;
|
||||||
//保留
|
//保留
|
||||||
//java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值)
|
//java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值)
|
||||||
//所以通过序列化成字符串来解决
|
//所以通过序列化成字符串来解决
|
||||||
@JsonSerialize(using = LongToStringSerializer.class)
|
@JsonSerialize(using = LongToStringSerializer.class)
|
||||||
private Long outTradeNo;
|
private Long outTradeNo;
|
||||||
//订单号
|
//订单号
|
||||||
private String tradeNo;
|
private String tradeNo;
|
||||||
//保留
|
//保留
|
||||||
private Integer payChannel;
|
private Integer payChannel;
|
||||||
//交易香蕉币
|
//交易香蕉币
|
||||||
private Integer totalAmount;
|
private Integer totalAmount;
|
||||||
//支付用户ID
|
//支付用户ID
|
||||||
//java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值)
|
//java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值)
|
||||||
//所以通过序列化成字符串来解决
|
//所以通过序列化成字符串来解决
|
||||||
@JsonSerialize(using = LongToStringSerializer.class)
|
@JsonSerialize(using = LongToStringSerializer.class)
|
||||||
private Long userId;
|
private Long userId;
|
||||||
//支付状态:0:支付失败,1:支付成功,2:待支付
|
//支付状态:0:支付失败,1:支付成功,2:待支付
|
||||||
private Integer payStatus;
|
private Integer payStatus;
|
||||||
//创建时间
|
//创建时间
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
//更新时间
|
//更新时间
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date updateTime;
|
private Date updateTime;
|
||||||
|
|
||||||
/**
|
private String userName;
|
||||||
* 设置:主键
|
|
||||||
*/
|
public String getUserName() {
|
||||||
public void setId(Long id) {
|
return userName;
|
||||||
this.id = id;
|
}
|
||||||
}
|
|
||||||
/**
|
public void setUserName(String userName) {
|
||||||
* 获取:主键
|
this.userName = userName;
|
||||||
*/
|
}
|
||||||
public Long getId() {
|
|
||||||
return id;
|
/**
|
||||||
}
|
* 设置:主键
|
||||||
/**
|
*/
|
||||||
* 设置:保留
|
public void setId(Long id) {
|
||||||
*/
|
this.id = id;
|
||||||
public void setOutTradeNo(Long outTradeNo) {
|
}
|
||||||
this.outTradeNo = outTradeNo;
|
|
||||||
}
|
/**
|
||||||
/**
|
* 获取:主键
|
||||||
* 获取:保留
|
*/
|
||||||
*/
|
public Long getId() {
|
||||||
public Long getOutTradeNo() {
|
return id;
|
||||||
return outTradeNo;
|
}
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* 设置:订单号
|
* 设置:保留
|
||||||
*/
|
*/
|
||||||
public void setTradeNo(String tradeNo) {
|
public void setOutTradeNo(Long outTradeNo) {
|
||||||
this.tradeNo = tradeNo;
|
this.outTradeNo = outTradeNo;
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* 获取:订单号
|
/**
|
||||||
*/
|
* 获取:保留
|
||||||
public String getTradeNo() {
|
*/
|
||||||
return tradeNo;
|
public Long getOutTradeNo() {
|
||||||
}
|
return outTradeNo;
|
||||||
/**
|
}
|
||||||
* 设置:保留
|
|
||||||
*/
|
/**
|
||||||
public void setPayChannel(Integer payChannel) {
|
* 设置:订单号
|
||||||
this.payChannel = payChannel;
|
*/
|
||||||
}
|
public void setTradeNo(String tradeNo) {
|
||||||
/**
|
this.tradeNo = tradeNo;
|
||||||
* 获取:保留
|
}
|
||||||
*/
|
|
||||||
public Integer getPayChannel() {
|
/**
|
||||||
return payChannel;
|
* 获取:订单号
|
||||||
}
|
*/
|
||||||
/**
|
public String getTradeNo() {
|
||||||
* 设置:交易香蕉币
|
return tradeNo;
|
||||||
*/
|
}
|
||||||
public void setTotalAmount(Integer totalAmount) {
|
|
||||||
this.totalAmount = totalAmount;
|
/**
|
||||||
}
|
* 设置:保留
|
||||||
/**
|
*/
|
||||||
* 获取:交易香蕉币
|
public void setPayChannel(Integer payChannel) {
|
||||||
*/
|
this.payChannel = payChannel;
|
||||||
public Integer getTotalAmount() {
|
}
|
||||||
return totalAmount;
|
|
||||||
}
|
/**
|
||||||
/**
|
* 获取:保留
|
||||||
* 设置:支付用户ID
|
*/
|
||||||
*/
|
public Integer getPayChannel() {
|
||||||
public void setUserId(Long userId) {
|
return payChannel;
|
||||||
this.userId = userId;
|
}
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* 获取:支付用户ID
|
* 设置:交易香蕉币
|
||||||
*/
|
*/
|
||||||
public Long getUserId() {
|
public void setTotalAmount(Integer totalAmount) {
|
||||||
return userId;
|
this.totalAmount = totalAmount;
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* 设置:支付状态:0:支付失败,1:支付成功,2:待支付
|
/**
|
||||||
*/
|
* 获取:交易香蕉币
|
||||||
public void setPayStatus(Integer payStatus) {
|
*/
|
||||||
this.payStatus = payStatus;
|
public Integer getTotalAmount() {
|
||||||
}
|
return totalAmount;
|
||||||
/**
|
}
|
||||||
* 获取:支付状态:0:支付失败,1:支付成功,2:待支付
|
|
||||||
*/
|
/**
|
||||||
public Integer getPayStatus() {
|
* 设置:支付用户ID
|
||||||
return payStatus;
|
*/
|
||||||
}
|
public void setUserId(Long userId) {
|
||||||
/**
|
this.userId = userId;
|
||||||
* 设置:创建时间
|
}
|
||||||
*/
|
|
||||||
public void setCreateTime(Date createTime) {
|
/**
|
||||||
this.createTime = createTime;
|
* 获取:支付用户ID
|
||||||
}
|
*/
|
||||||
/**
|
public Long getUserId() {
|
||||||
* 获取:创建时间
|
return userId;
|
||||||
*/
|
}
|
||||||
public Date getCreateTime() {
|
|
||||||
return createTime;
|
/**
|
||||||
}
|
* 设置:支付状态:0:支付失败,1:支付成功,2:待支付
|
||||||
/**
|
*/
|
||||||
* 设置:更新时间
|
public void setPayStatus(Integer payStatus) {
|
||||||
*/
|
this.payStatus = payStatus;
|
||||||
public void setUpdateTime(Date updateTime) {
|
}
|
||||||
this.updateTime = updateTime;
|
|
||||||
}
|
/**
|
||||||
/**
|
* 获取:支付状态:0:支付失败,1:支付成功,2:待支付
|
||||||
* 获取:更新时间
|
*/
|
||||||
*/
|
public Integer getPayStatus() {
|
||||||
public Date getUpdateTime() {
|
return payStatus;
|
||||||
return updateTime;
|
}
|
||||||
}
|
|
||||||
|
/**
|
||||||
|
* 设置:创建时间
|
||||||
|
*/
|
||||||
|
public void setCreateTime(Date createTime) {
|
||||||
|
this.createTime = createTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取:创建时间
|
||||||
|
*/
|
||||||
|
public Date getCreateTime() {
|
||||||
|
return createTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置:更新时间
|
||||||
|
*/
|
||||||
|
public void setUpdateTime(Date updateTime) {
|
||||||
|
this.updateTime = updateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取:更新时间
|
||||||
|
*/
|
||||||
|
public Date getUpdateTime() {
|
||||||
|
return updateTime;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,66 +1,77 @@
|
|||||||
package com.java2nb.novel.service.impl;
|
package com.java2nb.novel.service.impl;
|
||||||
|
|
||||||
|
import com.java2nb.novel.dao.PayDao;
|
||||||
|
import com.java2nb.novel.dao.UserDao;
|
||||||
|
import com.java2nb.novel.domain.PayDO;
|
||||||
|
import com.java2nb.novel.domain.UserDO;
|
||||||
|
import com.java2nb.novel.service.PayService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.java2nb.novel.dao.PayDao;
|
|
||||||
import com.java2nb.novel.domain.PayDO;
|
|
||||||
import com.java2nb.novel.service.PayService;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class PayServiceImpl implements PayService {
|
public class PayServiceImpl implements PayService {
|
||||||
@Autowired
|
|
||||||
private PayDao payDao;
|
|
||||||
|
|
||||||
@Override
|
@Autowired
|
||||||
public PayDO get(Long id){
|
private PayDao payDao;
|
||||||
return payDao.get(id);
|
@Autowired
|
||||||
}
|
private UserDao userDao;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<PayDO> list(Map<String, Object> map){
|
public PayDO get(Long id) {
|
||||||
return payDao.list(map);
|
return payDao.get(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int count(Map<String, Object> map){
|
public List<PayDO> list(Map<String, Object> map) {
|
||||||
return payDao.count(map);
|
List<PayDO> list = payDao.list(map);
|
||||||
}
|
if (!CollectionUtils.isEmpty(list)) {
|
||||||
|
List<Long> userIds = list.stream().map(PayDO::getUserId).collect(Collectors.toList());
|
||||||
|
Map<Long, String> userNameMap = userDao.batchGet(userIds).stream()
|
||||||
|
.collect(Collectors.toMap(UserDO::getId, UserDO::getUsername));
|
||||||
|
list.forEach(v -> v.setUserName(userNameMap.get(v.getUserId())));
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int save(PayDO pay){
|
public int count(Map<String, Object> map) {
|
||||||
return payDao.save(pay);
|
return payDao.count(map);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int update(PayDO pay){
|
public int save(PayDO pay) {
|
||||||
return payDao.update(pay);
|
return payDao.save(pay);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int remove(Long id){
|
public int update(PayDO pay) {
|
||||||
return payDao.remove(id);
|
return payDao.update(pay);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int batchRemove(Long[] ids){
|
public int remove(Long id) {
|
||||||
return payDao.batchRemove(ids);
|
return payDao.remove(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Object, Object> tableSta(Date minDate) {
|
public int batchRemove(Long[] ids) {
|
||||||
List<Map<Object, Object>> maps = payDao.tableSta(minDate);
|
return payDao.batchRemove(ids);
|
||||||
|
}
|
||||||
|
|
||||||
return maps.stream().collect(Collectors.toMap(x -> x.get("staDate"), x -> x.get("orderCount")));
|
@Override
|
||||||
|
public Map<Object, Object> tableSta(Date minDate) {
|
||||||
|
List<Map<Object, Object>> maps = payDao.tableSta(minDate);
|
||||||
|
|
||||||
|
return maps.stream().collect(Collectors.toMap(x -> x.get("staDate"), x -> x.get("orderCount")));
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -76,8 +76,8 @@ function load() {
|
|||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
field: 'userId',
|
field: 'userName',
|
||||||
title: '充值用户ID'
|
title: '充值用户'
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user