交班相关代码

This commit is contained in:
Tankaikai
2025-02-27 19:01:31 +08:00
parent 166634e3f0
commit 8cbfbe265f
22 changed files with 888 additions and 17 deletions

View File

@@ -1,7 +1,11 @@
package com.czg.service.order.mapper;
import com.mybatisflex.core.BaseMapper;
import com.czg.account.vo.HandoverProductListVo;
import com.czg.order.entity.OrderInfo;
import com.mybatisflex.core.BaseMapper;
import java.math.BigDecimal;
import java.util.List;
/**
* 订单表 映射层。
@@ -11,4 +15,54 @@ import com.czg.order.entity.OrderInfo;
*/
public interface OrderInfoMapper extends BaseMapper<OrderInfo> {
/**
* 交班现金支付统计
*
* @param shopId 店铺id
* @param loginTime 上岗时间
* @param handoverTime 交班时间
* @return 现金支付总额
*/
BigDecimal getHandoverCashAmount(Long shopId, String loginTime, String handoverTime);
/**
* 交班退款统计
*
* @param shopId 店铺id
* @param loginTime 上岗时间
* @param handoverTime 交班时间
* @return 退款总额
*/
BigDecimal getHandoverRefundAmount(Long shopId, String loginTime, String handoverTime);
/**
* 交班营业额统计
*
* @param shopId 店铺id
* @param loginTime 上岗时间
* @param handoverTime 交班时间
* @return 营业额
*/
BigDecimal getHandoverTotalAmount(Long shopId, String loginTime, String handoverTime);
/**
* 交班订单数统计
*
* @param shopId 店铺id
* @param loginTime 上岗时间
* @param handoverTime 交班时间
* @return 交班订单数
*/
int getHandoverOrderNum(Long shopId, String loginTime, String handoverTime);
/**
* 交班售出商品明细
*
* @param shopId 店铺id
* @param loginTime 上岗时间
* @param handoverTime 交班时间
* @return 交班售出商品明细
*/
List<HandoverProductListVo> getHandoverDetailList(Long shopId, String loginTime, String handoverTime);
}

View File

@@ -10,6 +10,7 @@ import com.alibaba.fastjson2.JSONObject;
import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO;
import com.czg.account.entity.*;
import com.czg.account.service.*;
import com.czg.account.vo.HandoverProductListVo;
import com.czg.config.RabbitPublisher;
import com.czg.config.RedisCst;
import com.czg.entity.notify.CzgPayNotifyDTO;
@@ -566,6 +567,31 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
}
}
@Override
public BigDecimal getHandoverCashAmount(Long shopId, String loginTime, String handoverTime) {
return super.mapper.getHandoverCashAmount(shopId, loginTime, handoverTime);
}
@Override
public BigDecimal getHandoverRefundAmount(Long shopId, String loginTime, String handoverTime) {
return super.mapper.getHandoverRefundAmount(shopId, loginTime, handoverTime);
}
@Override
public BigDecimal getHandoverTotalAmount(Long shopId, String loginTime, String handoverTime) {
return super.mapper.getHandoverTotalAmount(shopId, loginTime, handoverTime);
}
@Override
public int getHandoverOrderNum(Long shopId, String loginTime, String handoverTime) {
return super.mapper.getHandoverOrderNum(shopId, loginTime, handoverTime);
}
@Override
public List<HandoverProductListVo> getHandoverDetailList(Long shopId, String loginTime, String handoverTime) {
return super.mapper.getHandoverDetailList(shopId, loginTime, handoverTime);
}
/**
* 初始化订单信息
*/

View File

@@ -4,4 +4,82 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czg.service.order.mapper.OrderInfoMapper">
<sql id="handoverCommonWhere">
AND t1.shop_id =
#{shopId}
<![CDATA[
AND
t1
.
paid_time
>=
str_to_date
(
#{loginTime},
'%Y-%m-%d %H:%i:%s'
)
AND
t1
.
paid_time
<=
str_to_date
(
#{handoverTime},
'%Y-%m-%d %H:%i:%s'
)
]]>
</sql>
<select id="getHandoverCashAmount" resultType="java.math.BigDecimal">
SELECT
ifnull(sum(pay_amount),0)
FROM tb_order_info t1
<where>
<include refid="handoverCommonWhere"/>
and t1.pay_type = 'cash-pay'
</where>
</select>
<select id="getHandoverRefundAmount" resultType="java.math.BigDecimal">
SELECT
ifnull(sum(refund_amount),0)
FROM tb_order_info t1
<where>
<include refid="handoverCommonWhere"/>
</where>
</select>
<select id="getHandoverTotalAmount" resultType="java.math.BigDecimal">
SELECT
ifnull(sum(pay_amount),0)
FROM tb_order_info t1
<where>
<include refid="handoverCommonWhere"/>
</where>
</select>
<select id="getHandoverOrderNum" resultType="java.lang.Integer">
SELECT
count(*)
FROM tb_order_info t1
<where>
<include refid="handoverCommonWhere"/>
</where>
</select>
<select id="getHandoverDetailList" resultType="com.czg.account.vo.HandoverProductListVo">
SELECT
t2.product_id,
t2.sku_id,
GROUP_CONCAT( DISTINCT t2.product_name ) AS product_name,
GROUP_CONCAT( DISTINCT t2.sku_name ) AS sku_name,
sum( ifnull(t2.num,0) ) AS num,
sum( ifnull(t2.pay_amount,0) ) amount
FROM
tb_order_detail t2
LEFT JOIN tb_order_info t1 ON t1.id = t2.order_id
<where>
<include refid="handoverCommonWhere"/>
</where>
GROUP BY
t2.product_id,
t2.sku_id
</select>
</mapper>