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

57 lines
2.5 KiB

  1. package com.example.demo.mapper;
  2. import com.example.demo.domain.entity.Recharge;
  3. import com.example.demo.domain.vo.RechargeVo;
  4. import org.apache.ibatis.annotations.*;
  5. import java.util.List;
  6. @Mapper
  7. public interface RechargeMapper {
  8. @Insert({
  9. "INSERT INTO recharge",
  10. "(jwcode,activity_id,paid_gold,free_gold,recharge_gold,pay_way,recharge_way,recharge_time,recharge_voucher,admin_id,remark,flag)",
  11. "values ",
  12. "(#{jwcode},#{activityId},#{paidGold},#{freeGold},#{rechargeGold},#{payWay},#{rechargeWay},#{rechargeTime},#{rechargeVoucher},#{adminId},#{remark},1)"
  13. })
  14. @Options(useGeneratedKeys = true,keyColumn = "recharge_id",keyProperty = "rechargeId")
  15. int insert(Recharge recharge);
  16. @Update({
  17. "<script>",
  18. "UPDATE recharge",
  19. "<set>",
  20. "<if test= 'flag!=null '>flag=#{flag},</if>",
  21. "</set>",
  22. "where recharge_id=#{rechargeId}",
  23. "</script>"
  24. })
  25. int update(Recharge recharge);
  26. @Select({
  27. "<script>",
  28. "SELECT DISTINCT user.`name` as user_name , recharge.*,activity.activity_name,audit.`status`,audit.audit_id,audit.reson, admin.name,admin.area FROM recharge",
  29. "INNER JOIN audit ON recharge.recharge_id = audit.recharge_id",
  30. "INNER JOIN `user` ON recharge.jwcode = `user`.jwcode",
  31. "INNER JOIN activity on recharge.activity_id = activity.activity_id",
  32. "INNER JOIN `admin` on recharge.admin_id = `admin`.admin_id",
  33. "<where>",
  34. "flag='1'",
  35. "<if test='activityId!=null'>and recharge.activity_id=#{activityId}</if>",
  36. "<if test='adminId!=null'>and recharge.admin_id=#{adminId}</if>",
  37. "<if test='startDate != null and endDate != null'>AND recharge.create_time BETWEEN #{startDate} AND #{endDate}</if>",
  38. "<if test='payWay!=null and payWay.length>0 '>and pay_way like concat('%',#{payWay},'%')</if>",
  39. "<if test='area!=null and area.length>0'>and area like concat('%',#{area},'%')</if>",
  40. "<if test='status!=null'>and audit.status=#{status}</if>",
  41. "</where>",
  42. "ORDER BY recharge.create_time DESC",
  43. "</script>"
  44. })
  45. List<RechargeVo> select(RechargeVo rechargeVo);
  46. //根据jwcode和充值类型判断有没有,有首充标识设为0,否者设为1
  47. @Select({"select count(*) from detail",
  48. "where jwcode=#{jwcode} and update_type='充值'"})
  49. int getAllByjwAndup(String jwcode);
  50. }