From 5d7b65670282a4fad015e37d567cfa171b162052 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期二, 20 五月 2025 12:25:19 +0800 Subject: [PATCH] 基础代码 --- pt-errand/target/classes/mapper/OrderMapper.xml | 426 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 426 insertions(+), 0 deletions(-) diff --git a/pt-errand/target/classes/mapper/OrderMapper.xml b/pt-errand/target/classes/mapper/OrderMapper.xml new file mode 100644 index 0000000..1bca70e --- /dev/null +++ b/pt-errand/target/classes/mapper/OrderMapper.xml @@ -0,0 +1,426 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.errand.mapper.OrderMapper"> + + + <select id="getAppUserOrderList" resultType="com.ruoyi.errand.object.vo.app.AppUserOrderListVO"> + select + o.id, + o.address_detail, + o.recipient_name, + o.recipient_phone, + o.order_status, + o.order_time, + o.rating, + o.courier_id, + c.name, + c.phone + from t_order o + left join t_courier c on o.courier_id = c.id + where + o.del_flag=0 + and o.pay_status=2 + and o.app_user_id = #{appUserId} + <if test="orderStatus!=null and orderStatus!=0"> + and o.order_status = #{orderStatus} + </if> + </select> + <select id="getOrderDetail" resultType="com.ruoyi.errand.object.vo.app.OrderDetailVO"> + select + o.id as id, + o.community_id as communityId, + o.community_name as communityName, + o.address_detail as addressDetail, + o.recipient_name as recipientName, + o.recipient_phone as recipientPhone, + o.agency_matters as agencyMatters, + o.num as num, + o.remark as remark, + o.pics as pics, + o.courier_pics as courierPics, + o.order_status as orderStatus, + o.order_number as orderNumber, + o.order_time as orderTime, + o.pay_method as payMethod, + o.payment_amount as paymentAmount, + c.courier_name as courierName, + c.courier_phone as courierPhone, + e.rating as rating, + e.content as content + from t_order o + left join t_courier c on o.courier_id = c.id + left join t_evaluation e on o.id = e.order_id + where + o.id=#{id} + and o.del_flag=0 + and e.type = 0 + </select> + + <select id="getOrderTopInfoByDate" resultType="java.util.Map"> + select + count(*) as num, + COALESCE(SUM(payment_amount), 0.00) AS amount + from + t_order + where + del_flag=0 + and + order_status in (4,5) + <if test="communityId!=null and communityId!=0"> + and communityId =#{communityId} + </if> + <if test="start!=null and end!=null"> + and order_time BETWEEN #{start} AND #{end} + </if> + + + </select> + <select id="countGroupByDate" resultType="java.util.Map"> + SELECT + CASE #{datePattern} + WHEN 'HH时' THEN DATE_FORMAT(order_time, '%H时') + WHEN 'EEEE' THEN ELT(DAYOFWEEK(order_time), '星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六') + WHEN 'dd日' THEN DATE_FORMAT(order_time, '%d日') + WHEN 'MM月' THEN DATE_FORMAT(order_time, '%m月') + WHEN 'yyyy-MM-dd' THEN DATE_FORMAT(order_time, '%Y-%m-%d') + ELSE DATE_FORMAT(order_time, '%Y-%m-%d') + END AS `date`, + COUNT(*) AS `num`, + COALESCE(SUM(payment_amount), 0.00) AS amount + FROM t_order + WHERE order_time BETWEEN #{start} AND #{end} + and del_flag=0 and order_status in (4,5) + GROUP BY + CASE #{datePattern} + WHEN 'HH时' THEN DATE_FORMAT(order_time, '%H时') + WHEN 'EEEE' THEN ELT(DAYOFWEEK(order_time), '星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六') + WHEN 'dd日' THEN DATE_FORMAT(order_time, '%d日') + WHEN 'MM月' THEN DATE_FORMAT(order_time, '%m月') + WHEN 'yyyy-MM-dd' THEN DATE_FORMAT(order_time, '%Y-%m-%d') + ELSE DATE_FORMAT(order_time, '%Y-%m-%d') + END + ORDER BY order_time + </select> + + <select id="selectPageTotal" resultType="java.lang.Long"> + SELECT COUNT(*) FROM ( + SELECT tau.id, 1 as type, t.order_status, t.order_time + FROM t_order t + INNER JOIN t_app_user tau ON t.app_user_id = tau.id + WHERE + t.del_flag=0 + and t.pay_status=2 + <if test="dto.appUserName!=null and ''!=dto.appUserName"> + and tau.name like concat('%',#{dto.appUserName},'%') + </if> + + <if test="dto.phone!=null and ''!=dto.phone"> + and tau.phone like concat('%',#{dto.phone},'%') + </if> + <if test="dto.orderStatus!=null and 0!=dto.orderStatus and dto.orderStatus !=4"> + and t.order_status = #{dto.orderStatus} + </if> + <if test="dto.orderStatus ==4"> + and t.order_status in(4,5) + </if> + <if test="dto.startTime!=null and dto.endTime != null"> + and t.order_time between #{dto.startTime} and #{dto.endTime} + </if> + UNION ALL + SELECT tau.id, 2 as type, t.order_status, t.order_time + FROM t_vip_order t + INNER JOIN t_app_user tau ON t.app_user_id = tau.id + WHERE t.del_flag=0 + and t.pay_status=2 + <if test="dto.appUserName!=null and ''!=dto.appUserName"> + and tau.name like concat('%',#{dto.appUserName},'%') + </if> + + <if test="dto.phone!=null and ''!=dto.phone"> + and tau.phone like concat('%',#{dto.phone},'%') + </if> + + <if test="dto.orderStatus!=null and 0!=dto.orderStatus and dto.orderStatus !=4"> + and t.order_status = #{dto.orderStatus} + </if> + <if test="dto.orderStatus ==4"> + and t.order_status in(4,5) + </if> + <if test="dto.startTime!=null and dto.endTime != null"> + and t.order_time between #{dto.startTime} and #{dto.endTime} + </if> + ) t + where + 1=1 + <if test="dto.type!=null and 0!=dto.type"> + and t.type = #{dto.type} + </if> + </select> + + + <select id="financeStatistics" resultType="com.ruoyi.errand.object.vo.sys.FinanceStatisticsVO"> + select * from ( + SELECT t.id as id, + t.order_time as orderTime, + 1 as type, + t.order_number as orderNumber, + tau.name as appUserName, + tau.phone as phone, + t.order_status as orderStatus + FROM t_order t + INNER JOIN t_app_user tau ON t.app_user_id = tau.id + WHERE t.del_flag=0 + and t.pay_status=2 + <if test="dto.appUserName!=null and ''!=dto.appUserName"> + and tau.name like concat('%',#{dto.appUserName},'%') + </if> + <if test="dto.phone!=null and ''!=dto.phone"> + and tau.phone like concat('%',#{dto.phone},'%') + </if> + <if test="dto.orderStatus!=null and 0!=dto.orderStatus and dto.orderStatus !=4"> + and t.order_status = #{dto.orderStatus} + </if> + <if test="dto.orderStatus ==4"> + and t.order_status in(4,5) + </if> + <if test="dto.startTime!=null and dto.endTime != null"> + and t.order_time between #{dto.startTime} and #{dto.endTime} + </if> + UNION ALL + SELECT t.id as id, + t.order_time as orderTime, + 2 as type, + t.order_number as orderNumber, + tau.name as appUserName, + tau.phone as phone, + t.order_status as orderStatus + FROM t_vip_order t + INNER JOIN t_app_user tau ON t.app_user_id = tau.id + WHERE t.del_flag=0 + and t.pay_status=2 + <if test="dto.appUserName!=null and ''!=dto.appUserName"> + and tau.name like concat('%',#{dto.appUserName},'%') + </if> + + <if test="dto.phone!=null and ''!=dto.phone"> + and tau.phone like concat('%',#{dto.phone},'%') + </if> + + <if test="dto.orderStatus!=null and 0!=dto.orderStatus and dto.orderStatus !=4"> + and t.order_status = #{dto.orderStatus} + </if> + <if test="dto.orderStatus ==4"> + and t.order_status in(4,5) + </if> + + <if test="dto.startTime!=null and dto.endTime != null"> + and t.order_time between #{dto.startTime} and #{dto.endTime} + </if> + ) t + where + 1=1 + <if test="dto.type!=null and 0!=dto.type"> + and t.type = #{dto.type} + </if> + ORDER BY t.orderTime DESC + LIMIT #{dto.pageNum}, #{dto.pageSize} + </select> + <select id="getOrderPageList" resultType="com.ruoyi.errand.object.vo.sys.OrderPageListVO"> + select + o.id as id, + o.order_number as orderNumber, + o.order_time as orderTime, + o.payment_amount as paymentAmount, + o.finish_time as finishTime, + o.order_status as orderStatus, + o.community_name as communityName, + tau.name as appUserName, + tau.phone as appUserPhone, + tc.name as courierName, + tc.phone as courierPhone + from t_order o + inner join t_app_user tau on o.app_user_id = tau.id + left join t_courier tc on o.courier_id = tc.id + where + o.del_flag=0 + and o.pay_status=2 + <if test="dto.orderNumber!=null and ''!=dto.orderNumber"> + and o.order_number like concat('%',#{dto.orderNumber},'%') + </if> + <if test="dto.communityName!=null and ''!=dto.communityName"> + and o.community_name like concat('%',#{dto.communityName},'%') + </if> + <if test="dto.appUserName!=null and ''!=dto.appUserName"> + and tau.name like concat('%',#{dto.appUserName},'%') + </if> + <if test="dto.appUserPhone!=null and ''!=dto.appUserPhone"> + and tau.phone like concat('%',#{dto.appUserPhone},'%') + </if> + <if test="dto.courierName!=null and ''!=dto.courierName"> + and tc.name like concat('%',#{dto.courierName},'%') + </if> + <if test="dto.courierPhone!=null and ''!=dto.courierPhone"> + and tc.phone like concat('%',#{dto.courierPhone},'%') + </if> + <if test="dto.orderStartTime!=null and dto.orderEndTime != null"> + and o.order_time between #{dto.orderStartTime} and #{dto.orderEndTime} + </if> + <if test="dto.finishStartTime!=null and dto.finishEndTime != null"> + and o.finishTime between #{dto.finishStartTime} and #{dto.finishEndTime} + </if> + <if test="dto.orderStatus!=null and 0!=dto.orderStatus and dto.orderStatus !=4"> + and o.order_status = #{dto.orderStatus} + </if> + <if test="dto.orderStatus ==4"> + and o.order_status in(4,5) + </if> + </select> + <select id="detail" resultType="com.ruoyi.errand.object.vo.sys.OrderSysDetailVO"> + select + o.order_status as orderStatus, + tau.name as appUserName, + tau.phone as appUserPhone, + o.community_name as communityName, + o.recipient_name as recipientName, + o.recipient_phone as recipientPhone, + o.address_detail as addressDetail, + o.agency_matters as agencyMatters, + o.num as num, + o.remark as remark, + o.pics as pics, + tc.name as courierName, + tc.phone as courierPhone, + o.courier_pics as courierPics, + o.order_number as orderNumber, + o.order_time as orderTime, + o.finish_time as finishTime, + o.payment_amount as paymentAmount, + teu.rating as userRating, + teu.content as userContent, + tec.rating as courierRating, + tec.content as courierContent + from t_order o + inner join t_app_user tau on o.app_user_id = tau.id + left join t_courier tc on o.courier_id = tc.id + left join t_evaluation teu on o.id = teu.order_id and teu.type=0 + left join t_evaluation tec on o.id = teu.order_id and teu.type=1 + where + o.id=#{id} + </select> + <select id="export" resultType="com.ruoyi.errand.object.vo.sys.FinanceStatisticsVO"> + select * from ( + SELECT t.id as id, + t.order_time as orderTime, + 1 as type, + t.order_number as orderNumber, + tau.name as appUserName, + tau.phone as phone, + t.order_status as orderStatus + FROM t_order t + INNER JOIN t_app_user tau ON t.app_user_id = tau.id + WHERE t.del_flag=0 + and t.pay_status=2 + <if test="dto.appUserName!=null and ''!=dto.appUserName"> + and tau.name like concat('%',#{dto.appUserName},'%') + </if> + <if test="dto.phone!=null and ''!=dto.phone"> + and tau.phone like concat('%',#{dto.phone},'%') + </if> + <if test="dto.orderStatus!=null and 0!=dto.orderStatus and dto.orderStatus !=4"> + and t.order_status = #{dto.orderStatus} + </if> + <if test="dto.orderStatus ==4"> + and t.order_status in(4,5) + </if> + <if test="dto.startTime!=null and dto.endTime != null"> + and t.order_time between #{dto.startTime} and #{dto.endTime} + </if> + UNION ALL + SELECT t.id as id, + t.order_time as orderTime, + 2 as type, + t.order_number as orderNumber, + tau.name as appUserName, + tau.phone as phone, + t.order_status as orderStatus + FROM t_vip_order t + INNER JOIN t_app_user tau ON t.app_user_id = tau.id + WHERE t.del_flag=0 + and t.pay_status=2 + <if test="dto.appUserName!=null and ''!=dto.appUserName"> + and tau.name like concat('%',#{dto.appUserName},'%') + </if> + + <if test="dto.phone!=null and ''!=dto.phone"> + and tau.phone like concat('%',#{dto.phone},'%') + </if> + + <if test="dto.orderStatus!=null and 0!=dto.orderStatus and dto.orderStatus !=4"> + and t.order_status = #{dto.orderStatus} + </if> + <if test="dto.orderStatus ==4"> + and t.order_status in(4,5) + </if> + + <if test="dto.startTime!=null and dto.endTime != null"> + and t.order_time between #{dto.startTime} and #{dto.endTime} + </if> + ) t + where + 1=1 + <if test="dto.type!=null and 0!=dto.type"> + and t.type = #{dto.type} + </if> + ORDER BY t.orderTime DESC + </select> + <select id="orderExport" resultType="com.ruoyi.errand.object.vo.sys.OrderPageListVO"> + select + o.id as id, + o.order_number as orderNumber, + o.order_time as orderTime, + o.payment_amount as paymentAmount, + o.finish_time as finishTime, + o.order_status as orderStatus, + o.community_name as communityName, + tau.name as appUserName, + tau.phone as appUserPhone, + tc.name as courierName, + tc.phone as courierPhone + from t_order o + inner join t_app_user tau on o.app_user_id = tau.id + left join t_courier tc on o.courier_id = tc.id + where + o.del_flag=0 + and o.pay_status=2 + <if test="dto.orderNumber!=null and ''!=dto.orderNumber"> + and o.order_number like concat('%',#{dto.orderNumber},'%') + </if> + <if test="dto.communityName!=null and ''!=dto.communityName"> + and o.community_name like concat('%',#{dto.communityName},'%') + </if> + <if test="dto.appUserName!=null and ''!=dto.appUserName"> + and tau.name like concat('%',#{dto.appUserName},'%') + </if> + <if test="dto.appUserPhone!=null and ''!=dto.appUserPhone"> + and tau.phone like concat('%',#{dto.appUserPhone},'%') + </if> + <if test="dto.courierName!=null and ''!=dto.courierName"> + and tc.name like concat('%',#{dto.courierName},'%') + </if> + <if test="dto.courierPhone!=null and ''!=dto.courierPhone"> + and tc.phone like concat('%',#{dto.courierPhone},'%') + </if> + <if test="dto.orderStartTime!=null and dto.orderEndTime != null"> + and o.order_time between #{dto.orderStartTime} and #{dto.orderEndTime} + </if> + <if test="dto.finishStartTime!=null and dto.finishEndTime != null"> + and o.finishTime between #{dto.finishStartTime} and #{dto.finishEndTime} + </if> + <if test="dto.orderStatus!=null and 0!=dto.orderStatus and dto.orderStatus !=4"> + and o.order_status = #{dto.orderStatus} + </if> + <if test="dto.orderStatus ==4"> + and o.order_status in(4,5) + </if> + </select> +</mapper> \ No newline at end of file -- Gitblit v1.7.1