This commit is contained in:
moxiangrong
2024-02-20 19:33:50 +08:00
parent 9c85524e14
commit 477d29d69f
31 changed files with 246 additions and 83 deletions

View File

@ -87,8 +87,7 @@ public class RechargeOrderController {
@Operation(summary = "获得充值订单分页")
@PreAuthorize("@ss.hasPermission('order:recharge-order:query')")
public CommonResult<PageResult<RechargeOrderRespVO>> getRechargeOrderPage(@Valid RechargeOrderPageReqVO pageVO) {
PageResult<RechargeOrderDO> pageResult = rechargeOrderService.getRechargeOrderPage(pageVO);
return success(RechargeOrderConvert.INSTANCE.convertPage(pageResult));
return success(rechargeOrderService.getRechargeOrderPage(pageVO));
}
@GetMapping("/export-excel")

View File

@ -1,11 +1,10 @@
package co.yixiang.yshop.module.order.controller.admin.rechargeorder.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import co.yixiang.yshop.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@ -18,6 +17,9 @@ import static co.yixiang.yshop.framework.common.util.date.DateUtils.FORMAT_YEAR_
@ToString(callSuper = true)
public class RechargeOrderPageReqVO extends PageParam {
@Schema(description = "充值订单id", example = "15798")
private String id;
@Schema(description = "用户id", example = "15798")
private Long userId;
@ -37,4 +39,7 @@ public class RechargeOrderPageReqVO extends PageParam {
@Schema(description = "充值套餐ID", example = "8014")
private Long packageId;
@Schema(description = "昵称")
private String nickname;
}

View File

@ -14,6 +14,9 @@ public class RechargeOrderRespVO extends RechargeOrderBaseVO {
@Schema(description = "订单ID", required = true, example = "12534")
private String id;
@Schema(description = "昵称", required = true, example = "12534")
private String nickname;
@Schema(description = "创建时间", required = true)
private LocalDateTime createTime;

View File

@ -2,6 +2,7 @@ package co.yixiang.yshop.module.order.controller.admin.storeorder;
import co.yixiang.yshop.framework.common.pojo.CommonResult;
import co.yixiang.yshop.framework.common.pojo.PageResult;
import co.yixiang.yshop.framework.desensitize.core.util.DesensitizeUtil;
import co.yixiang.yshop.framework.excel.core.util.ExcelUtils;
import co.yixiang.yshop.framework.operatelog.core.annotations.OperateLog;
import co.yixiang.yshop.framework.security.core.annotations.PreAuthenticated;
@ -140,9 +141,14 @@ public class StoreOrderController {
List<StoreOrderDO> list = storeOrderService.getStoreOrderList(exportReqVO);
// 导出 Excel
List<StoreOrderExcelVO> datas = StoreOrderConvert.INSTANCE.convertList02(list);
desensitize(datas);
ExcelUtils.write(response, "订单.xls", "数据", StoreOrderExcelVO.class, datas);
}
private void desensitize(List<StoreOrderExcelVO> datas) {
DesensitizeUtil.mobileDesensitize(datas, "userPhone");
}
@GetMapping("/printOrder")
@Operation(summary = "打印电子面单")
@Parameters({

View File

@ -1,13 +1,17 @@
package co.yixiang.yshop.module.order.dal.mysql.rechargeorder;
import java.util.*;
import co.yixiang.yshop.framework.common.pojo.PageResult;
import co.yixiang.yshop.framework.mybatis.core.query.LambdaQueryWrapperX;
import co.yixiang.yshop.framework.mybatis.core.mapper.BaseMapperX;
import co.yixiang.yshop.framework.mybatis.core.query.LambdaQueryWrapperX;
import co.yixiang.yshop.module.order.controller.admin.rechargeorder.vo.RechargeOrderExportReqVO;
import co.yixiang.yshop.module.order.controller.admin.rechargeorder.vo.RechargeOrderPageReqVO;
import co.yixiang.yshop.module.order.controller.admin.rechargeorder.vo.RechargeOrderRespVO;
import co.yixiang.yshop.module.order.dal.dataobject.rechargeorder.RechargeOrderDO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import co.yixiang.yshop.module.order.controller.admin.rechargeorder.vo.*;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 充值订单 Mapper
@ -20,6 +24,7 @@ public interface RechargeOrderMapper extends BaseMapperX<RechargeOrderDO> {
default PageResult<RechargeOrderDO> selectPage(RechargeOrderPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<RechargeOrderDO>()
.eqIfPresent(RechargeOrderDO::getUserId, reqVO.getUserId())
.likeIfPresent(RechargeOrderDO::getId, reqVO.getId())
.eqIfPresent(RechargeOrderDO::getStatus, reqVO.getStatus())
.betweenIfPresent(RechargeOrderDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(RechargeOrderDO::getRechargeAmount, reqVO.getRechargeAmount())
@ -39,4 +44,5 @@ public interface RechargeOrderMapper extends BaseMapperX<RechargeOrderDO> {
.orderByDesc(RechargeOrderDO::getId));
}
IPage<RechargeOrderRespVO> selectPageVO(IPage<RechargeOrderRespVO> mpPage, @Param("param") RechargeOrderPageReqVO pageReqVO);
}

View File

@ -58,7 +58,7 @@ public interface RechargeOrderService {
* @param pageReqVO 分页查询
* @return 充值订单分页
*/
PageResult<RechargeOrderDO> getRechargeOrderPage(RechargeOrderPageReqVO pageReqVO);
PageResult<RechargeOrderRespVO> getRechargeOrderPage(RechargeOrderPageReqVO pageReqVO);
/**
* 获得充值订单列表, 用于 Excel 导出

View File

@ -1,27 +1,29 @@
package co.yixiang.yshop.module.order.service.rechargeorder;
import co.yixiang.yshop.framework.common.pojo.PageResult;
import co.yixiang.yshop.framework.mybatis.core.util.MyBatisUtils;
import co.yixiang.yshop.module.member.api.user.MemberUserApi;
import co.yixiang.yshop.module.order.controller.admin.rechargeorder.vo.*;
import co.yixiang.yshop.module.order.convert.rechargeorder.RechargeOrderConvert;
import co.yixiang.yshop.module.order.dal.dataobject.rechargeorder.RechargeOrderDO;
import co.yixiang.yshop.module.order.dal.mysql.rechargeorder.RechargeOrderMapper;
import co.yixiang.yshop.module.pay.strategy.weixin.skd.PaymentKit;
import co.yixiang.yshop.module.pay.strategy.weixin.skd.WXPayUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import co.yixiang.yshop.module.order.controller.admin.rechargeorder.vo.*;
import co.yixiang.yshop.module.order.dal.dataobject.rechargeorder.RechargeOrderDO;
import co.yixiang.yshop.framework.common.pojo.PageResult;
import co.yixiang.yshop.module.order.convert.rechargeorder.RechargeOrderConvert;
import co.yixiang.yshop.module.order.dal.mysql.rechargeorder.RechargeOrderMapper;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static co.yixiang.yshop.framework.common.exception.util.ServiceExceptionUtil.exception;
import static co.yixiang.yshop.module.order.enums.ErrorCodeConstants.*;
import static co.yixiang.yshop.module.order.enums.ErrorCodeConstants.RECHARGE_ORDER_NOT_EXISTS;
/**
* 充值订单 Service 实现类
@ -36,6 +38,9 @@ public class RechargeOrderServiceImpl implements RechargeOrderService {
@Resource
private RechargeOrderMapper rechargeOrderMapper;
@Resource
private MemberUserApi memberUserApi;
@Value("${weixin.certurl}")
private String cert_url;
@ -82,8 +87,23 @@ public class RechargeOrderServiceImpl implements RechargeOrderService {
}
@Override
public PageResult<RechargeOrderDO> getRechargeOrderPage(RechargeOrderPageReqVO pageReqVO) {
return rechargeOrderMapper.selectPage(pageReqVO);
public PageResult<RechargeOrderRespVO> getRechargeOrderPage(RechargeOrderPageReqVO pageReqVO) {
// PageResult<RechargeOrderRespVO> pageResult =
// RechargeOrderConvert.INSTANCE.convertPage(rechargeOrderMapper.selectPage(pageReqVO));
// if(CollectionUtils.isNotEmpty(pageResult.getList())){
// List<Long> ids =
// pageResult.getList().stream().map(RechargeOrderRespVO::getUserId).collect(Collectors.toList());
// List<MemberUserRespDTO> users = memberUserApi.getUsers(ids);
// Map<Long, String> userMap =
// users.stream().collect(Collectors.toMap(MemberUserRespDTO::getId, MemberUserRespDTO::getNickname));
// for (RechargeOrderRespVO vo :pageResult.getList()){
// vo.setNickname(userMap.get(vo.getUserId()));
// }
// }
// MyBatis Plus 查询
IPage<RechargeOrderRespVO> mpPage = MyBatisUtils.buildPage(pageReqVO);
rechargeOrderMapper.selectPageVO(mpPage,pageReqVO);
return new PageResult<>(mpPage.getRecords(), mpPage.getTotal());
}
@Override

View File

@ -9,4 +9,32 @@
文档可见https://www.yixiang.co/MyBatis/x-plugins/
-->
<select id="selectPageVO" resultType="co.yixiang.yshop.module.order.controller.admin.rechargeorder.vo.RechargeOrderRespVO">
select t1.* ,
t2.nickname as nickname
from yshop_recharge_order t1
left join yshop_user t2
on t1.user_id = t2.id
where 1 = 1
<if test="param.id != null and param.id != ''">
and t1.id = #{param.id}
</if>
<if test="param.userId != null">
and t1.user_id = #{param.userId}
</if>
<if test="param.status != null">
and t1.status = #{param.status}
</if>
<if test="param.createTime != null and param.createTime.length == 2">
and t1.create_time between #{param.createTime[0]} and #{param.createTime[1]}
</if>
<if test="param.packageId != null">
and t1.package_id = #{param.packageId}
</if>
<if test="param.nickname != null and param.nickname != ''">
and t2.nickname like concat('%',#{param.nickname},'%')
</if>
and t1.deleted = 0 and t2.deleted = 0
order by t1.create_time desc
</select>
</mapper>

View File

@ -18,7 +18,7 @@
<select id="getTrendChart" resultMap="trendChartResultMap">
SELECT DATE(create_time) AS 'key', SUM(total_price) AS 'value'
FROM yshop_store_order
WHERE create_time >= CURDATE() - INTERVAL 7 DAY
WHERE paid = 1 and refund_status != 2 and create_time >= CURDATE() - INTERVAL 7 DAY
GROUP BY DATE(create_time)
</select>