嗨森逛服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hai-server/hai-service/src/main/java/com/hai/dao/HighOilCardMapperExt.java

127 lines
5.0 KiB

package com.hai.dao;
import com.hai.entity.HighOilCard;
3 years ago
import com.hai.model.OilCardOrderModel;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
3 years ago
import org.apache.ibatis.annotations.Select;
import java.util.List;
3 years ago
import java.util.Map;
/**
* mapper扩展类
*/
public interface HighOilCardMapperExt {
@Insert({
"<script>" +
"insert into high_oil_card (" +
"company_id, " +
"company_name, " +
"org_id," +
"org_name, " +
"card_no, " +
"amount," +
3 years ago
"amount_consume," +
"contact_name, " +
"contact_phone," +
"status," +
"bind_status, " +
"create_time," +
"update_time, " +
"op_user_id, " +
"op_user_name, " +
"ext_1, " +
"ext_2, " +
"ext_3) " +
"values " +
"<foreach collection='list' item='item' index='index' separator=','>",
"(#{item.companyId,jdbcType=BIGINT}, " +
" #{item.companyName,jdbcType=VARCHAR}, " +
" #{item.orgId,jdbcType=BIGINT}, " +
" #{item.orgName,jdbcType=VARCHAR}," +
" #{item.cardNo,jdbcType=VARCHAR}," +
" #{item.amount,jdbcType=DECIMAL}, " +
3 years ago
" #{item.amountConsume,jdbcType=DECIMAL}, " +
" #{item.contactName,jdbcType=VARCHAR}," +
" #{item.contactPhone,jdbcType=VARCHAR}, " +
" #{item.status,jdbcType=INTEGER}," +
" #{item.bindStatus,jdbcType=INTEGER}," +
" #{item.createTime,jdbcType=TIMESTAMP}," +
" #{item.updateTime,jdbcType=TIMESTAMP}, " +
" #{item.opUserId,jdbcType=BIGINT}," +
" #{item.opUserName,jdbcType=VARCHAR}, " +
" #{item.ext1,jdbcType=VARCHAR}," +
" #{item.ext2,jdbcType=VARCHAR}, " +
" #{item.ext3,jdbcType=VARCHAR})",
"</foreach>",
"</script>"
})
void insertList(@Param(value = "list") List<HighOilCard> oilCardList);
3 years ago
@Select("<script>" +
" SELECT" +
" (select org_name from high_oil_card oc where oc.card_no = b.mem_card_no) orgName," +
" b.mem_phone merPhone," +
" b.order_no orderNo," +
" a.gas_order_no gasOrderNo," +
" b.pay_type payType," +
" CASE" +
" b.pay_type " +
" WHEN 1 THEN '支付' " +
" WHEN 2 THEN '微信'" +
" WHEN 3 THEN '金币'" +
" WHEN 4 THEN '汇联通'" +
" WHEN 5 THEN '银联'" +
" WHEN 6 THEN '银联分期'" +
" WHEN 7 THEN '嗨森逛油卡'" +
" ELSE '未知' " +
" END payTypeName," +
" b.mem_card_no memCardNo," +
" b.total_price totalPrice," +
" b.deduction_price deductionPrice," +
" b.pay_real_price payRealPrice," +
" a.goods_name goodsName," +
" a.gas_oil_no gasOilNo," +
" a.gas_gun_no gasGunNo," +
" a.gas_price_gun gasPriceGun," +
" a.ext_1 platformPriceGun," +
" b.order_status status," +
" CASE" +
" b.order_status " +
" WHEN 1 THEN '待支付' " +
" WHEN 2 THEN '已支付'" +
" WHEN 3 THEN '已完成'" +
" WHEN 4 THEN '已退款'" +
" WHEN 5 THEN '已取消'" +
" WHEN 6 THEN '退款中'" +
" WHEN 6 THEN '退款失败'" +
" ELSE '未知' " +
" END statusName," +
" b.create_time createTime," +
" b.pay_time payTime," +
" b.refund_time refundTime" +
" FROM" +
" high_child_order a," +
" high_order b" +
" WHERE" +
" a.order_id = b.id " +
" AND a.goods_type = 3 " +
" AND b.order_status in (2,3,4,6,7) " +
" <if test='param.memPhone != null'> AND b.mem_phone like concat('%',#{param.memPhone},'%') </if>" +
" <if test='param.cardNo != null'> AND b.mem_card_no like concat('%',#{param.cardNo},'%') </if>" +
" <if test='param.goodsName != null'> AND b.goods_name like concat('%',#{param.goodsName},'%') </if>" +
" <if test='param.payTimeS != null'> <![CDATA[ AND b.pay_time >= #{param.payTimeS} ]]> </if> " +
" <if test='param.payTimeE != null'> <![CDATA[ AND b.pay_time <= #{param.payTimeE} ]]> </if> " +
" <if test='param.status != null'> and b.order_status = #{param.status} </if> " +
" AND EXISTS (select 1 from high_oil_card c where c.company_id = #{param.companyId} " +
" <if test='param.orgId != null'> and c.org_id = #{param.orgId} </if> " +
" and b.mem_card_no = c.card_no)" +
" ORDER BY" +
" b.pay_time DESC" +
"</script>")
List<OilCardOrderModel> selectOilCardOrderList(@Param(value = "param") Map<String, Object> param);
}