金币系统后端
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.

90 lines
4.3 KiB

package com.example.demo.mapper;
import com.example.demo.domain.entity.Recharge;
import com.example.demo.domain.vo.RechargeA;
import com.example.demo.domain.vo.RechargeVo;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface RechargeMapper {
List<RechargeA> getRechargeA(@Param("flags") List<Integer> flags);
@Insert({
"INSERT INTO recharge",
"(jwcode,order_code,activity_id,paid_gold,free_gold,recharge_gold,pay_way,recharge_way,recharge_time,recharge_voucher,admin_id,remark,flag,admin_name)",
"values ",
"(#{jwcode},#{orderCode},#{activityId},#{paidGold},#{freeGold},#{rechargeGold},#{payWay},#{rechargeWay},#{rechargeTime},#{rechargeVoucher},#{adminId},#{remark},1,#{adminName})"
})
@Options(useGeneratedKeys = true,keyColumn = "recharge_id",keyProperty = "rechargeId")
int insert(Recharge recharge);
@Insert({
"<script>",
"INSERT INTO recharge (",
"jwcode, order_code, activity_id, paid_gold, free_gold, recharge_gold, pay_way, recharge_way, recharge_time, recharge_voucher, admin_id, remark, flag)",
"VALUES ",
"<foreach collection='list' item='item' separator=','>",
"(#{item.jwcode}, #{item.orderCode}, #{item.activityId}, #{item.paidGold}, #{item.freeGold}, #{item.rechargeGold}, #{item.payWay}, #{item.rechargeWay}, #{item.rechargeTime}, #{item.rechargeVoucher}, #{item.adminId}, #{item.remark}, 1)",
"</foreach>",
"</script>"
})
@Options(useGeneratedKeys = false)
int insertBatch(@Param("list") List<Recharge> list);
@Update({
"<script>",
"UPDATE recharge",
"<set>",
"<if test= 'flag!=null '>flag=#{flag},</if>",
"</set>",
"where recharge_id=#{rechargeId}",
"</script>"
})
int update(Recharge recharge);
@Select({
"<script>",
"SELECT user.`name` as user_name,recharge.jwcode,recharge.create_time,recharge.recharge_time," +
"recharge.recharge_way,recharge.remark,recharge.paid_gold,recharge.free_gold,recharge.recharge_gold,recharge.pay_way,recharge.recharge_voucher," +
"recharge.recharge_id,recharge.activity_id,recharge.admin_id,activity.activity_name,audit.`status`,audit.audit_id,audit.reson, admin.name,user.area,audit.detail_id FROM recharge",
"LEFT JOIN audit ON recharge.recharge_id = audit.recharge_id",
"LEFT JOIN `user` ON recharge.jwcode = `user`.jwcode",
"LEFT JOIN activity on recharge.activity_id = activity.activity_id",
"LEFT JOIN `admin` on recharge.admin_id = `admin`.admin_id",
"<where>",
"flag='1'",
"<if test='jwcode!=null and jwcode.length>0'>and recharge.jwcode=#{jwcode}</if>",
"<if test='activityId!=null'>and recharge.activity_id=#{activityId}</if>",
"<if test='adminId!=null'>and recharge.admin_id=#{adminId}</if>",
"<if test='startDate != null and endDate != null'>AND recharge.create_time BETWEEN #{startDate} AND #{endDate}</if>",
"<if test='payWay!=null and payWay.length>0 '>and pay_way like concat('%',#{payWay},'%')</if>",
"<if test='rechargeWay!=null and rechargeWay.length>0 '>and recharge_way like concat('%',#{rechargeWay},'%')</if>",
"<if test='area!=null and area.length>0'>and user.area=#{area}</if>",
"<if test='status!=null'>and audit.status=#{status}</if>",
"</where>",
"<choose>",
" <!-- 优先使用前端传入的排序参数 -->",
" <when test='sortField != null or sortOrder != null'>",
" ORDER BY ${sortField} ${sortOrder}",
" </when>",
" <!-- 默认排序 -->",
" <otherwise>",
"ORDER BY recharge.create_time DESC",
" </otherwise>",
"</choose>",
"</script>"
})
List<RechargeVo> select(RechargeVo rechargeVo);
//根据jwcode和充值类型判断有没有,有首充标识设为0,否者设为1
@Select({"select count(*) from detail",
"where jwcode=#{jwcode} and update_type='0'"})
int getAllByjwAndup(String jwcode);
}