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.

591 lines
27 KiB

6 months ago
6 months ago
6 months ago
6 months ago
5 months ago
5 months ago
5 months ago
5 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
2 months ago
6 months ago
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.example.demo.mapper.cash.CashCollectionMapper">
  4. <insert id="add" parameterType="com.example.demo.domain.entity.CashRecord"
  5. useGeneratedKeys="true" keyProperty="id">
  6. insert into
  7. cash_record_collection(order_type,jwcode,name,market,activity,performance_market,
  8. order_code,bank_code,goods_name,good_num,num_unit,permanent_gold,free_gold,
  9. payment_currency,payment_amount,received_market,
  10. pay_type,pay_time,status,submitter_id,submitter_market,payload,audit_time,
  11. voucher,remark,wallet_id)
  12. values(#{orderType},#{jwcode},#{name},#{market},#{activity},#{performanceMarket},
  13. #{orderCode},#{bankCode},#{goodsName},#{goodNum},#{numUnit},#{permanentGold},#{freeGold},#{paymentCurrency},
  14. #{paymentAmount},#{receivedMarket},#{payType},#{payTime},
  15. #{status},#{submitterId},#{submitterMarket},#{payload},#{auditTime},#{voucher},#{remark},#{walletId})
  16. </insert>
  17. <!-- <insert id="syncToCashRecord">
  18. insert into cash_record(order_type,jwcode,name,market,activity,
  19. order_code,goods_name,good_num,permanent_gold,free_gold,
  20. payment_currency,payment_amount,received_market,
  21. pay_type,pay_time,status,submitter_id,
  22. voucher,remark)
  23. values(1,#{jwcode},#{name},#{market},#{activity},
  24. #{order_code},#{goods_name},#{good_num},#{permanent}
  25. )
  26. </insert>-->
  27. <!--更新订单状态-->
  28. <update id="updateStatus">
  29. update cash_record_collection
  30. set status=#{status}
  31. where order_code=#{orderCode}
  32. </update>
  33. <!--更新订单-->
  34. <update id="updateByOrderCode">
  35. UPDATE cash_record_collection
  36. <set>
  37. jwcode = #{cashRecordCollection.jwcode},
  38. name = #{cashRecordCollection.name},
  39. market = #{cashRecordCollection.market},
  40. activity = #{cashRecordCollection.activity},
  41. goods_name = #{cashRecordCollection.goodsName},
  42. good_num = #{cashRecordCollection.goodNum},
  43. num_unit = #{cashRecordCollection.numUnit},
  44. permanent_gold = #{cashRecordCollection.permanentGold},
  45. free_gold = #{cashRecordCollection.freeGold},
  46. payment_currency = #{cashRecordCollection.paymentCurrency},
  47. payment_amount = #{cashRecordCollection.paymentAmount},
  48. received_market = #{cashRecordCollection.receivedMarket},
  49. pay_type = #{cashRecordCollection.payType},
  50. pay_time = #{cashRecordCollection.payTime},
  51. voucher = #{cashRecordCollection.voucher},
  52. remark = #{cashRecordCollection.remark},
  53. status = 0,
  54. wallet_id = #{cashRecordCollection.walletId},
  55. </set>
  56. WHERE order_code = #{cashRecordCollection.orderCode}
  57. AND status = 5
  58. </update>
  59. <!--补全手续费等字段-->
  60. <update id="complete">
  61. UPDATE cash_record_collection
  62. <set>
  63. handling_charge = #{cashRecordCollection.handlingCharge},
  64. received_currency = #{cashRecordCollection.receivedCurrency},
  65. <if test="cashRecordCollection.receivedAmount != 0">
  66. received_amount = #{cashRecordCollection.receivedAmount},
  67. </if>
  68. received_time = #{cashRecordCollection.receivedTime},
  69. payment_currency = #{cashRecordCollection.paymentCurrency},
  70. <if test="cashRecordCollection.paymentAmount != 0">
  71. payment_amount = #{cashRecordCollection.paymentAmount},
  72. </if>
  73. payment_currency_orig = #{cashRecordCollection.paymentCurrencyOrig},
  74. <if test="cashRecordCollection.paymentAmountOrig != 0">
  75. payment_amount_orig = #{cashRecordCollection.paymentAmountOrig},
  76. </if>
  77. <!-- 只有 这些字段全部非空才更新状态 -->
  78. status = CASE
  79. WHEN
  80. handling_charge IS NOT NULL
  81. AND received_currency IS NOT NULL AND received_currency != ''
  82. AND received_amount IS NOT NULL
  83. AND received_time IS NOT NULL
  84. AND payment_currency IS NOT NULL AND payment_currency != ''
  85. AND payment_amount IS NOT NULL
  86. THEN 4
  87. ELSE status
  88. END
  89. </set>
  90. WHERE order_code = #{cashRecordCollection.orderCode}
  91. AND status IN (1, 3)
  92. </update>
  93. <!--提交手续费时修改金币订单-->
  94. <update id="updateGoldOrder">
  95. UPDATE user_gold_record
  96. <set>
  97. rate_id=#{cashRecordCollection.paymentCurrency},
  98. <if test="cashRecordCollection.paymentAmount != 0">
  99. money = #{cashRecordCollection.paymentAmount}
  100. </if>
  101. </set>
  102. WHERE order_code = #{cashRecordCollection.orderCode}
  103. </update>
  104. <!--设置gOrder订单为已同步-->
  105. <update id="markSynced">
  106. update g_order
  107. set is_synced = 1
  108. where id = #{orderId}
  109. </update>
  110. <!-- 检查用户是否存在 -->
  111. <select id="checkUserExists" resultType="int">
  112. SELECT COUNT(*)
  113. FROM user
  114. WHERE jwcode = #{jwcode}
  115. </select>
  116. <!--根据jwcode获取所属地区-->
  117. <select id="getMarketByJwcode" resultType="java.lang.String">
  118. select market from user where jwcode=#{jwcode}
  119. </select>
  120. <!--根据订单号获取订单id、状态、钱包id、永久金币数量、精网号和备注-->
  121. <select id="selectByOrderCode" resultType="com.example.demo.domain.entity.CashRecord">
  122. select id ,status, wallet_id, permanent_gold, jwcode, remark
  123. from cash_record_collection
  124. where order_code=#{orderCode}
  125. </select>
  126. <!--多条件查询收款订单列表-->
  127. <select id="selectCollection1" resultType="com.example.demo.domain.vo.cash.CashCollection">
  128. select cr.order_type, cr.id,cr.jwcode,cr.name,cr.market,
  129. m1.name as marketName, ra.id as activityId,
  130. ra.activity_name as activity,cr.order_code,cr.bank_code,
  131. cr.goods_name,cr.good_num,
  132. cr.num_unit,
  133. cr.wallet_id,
  134. cr.permanent_gold/100 as permanentGold,cr.free_gold/100 as freeGold,cr.payment_amount/100 as paymentAmount,
  135. r1.rate_name as paymentCurrency,
  136. r2.rate_name as receivedCurrency,
  137. m2.name as receivedMarket,
  138. cr.received_amount/100 as receivedAmount,cr.handling_charge/100 as handlingCharge,
  139. cr.pay_type,cr.pay_time,cr.received_time,
  140. cr.status,cr.submitter_id,cr.submitter_market,cr.voucher,cr.remark,cr.reject_reason,
  141. cr.audit_id,cr.create_time,cr.update_time,cr.audit_time,
  142. a1.admin_name as submitterName,
  143. a2.admin_name as auditName
  144. from cash_record_collection cr
  145. left join admin a1 on cr.submitter_id = a1.id
  146. left join admin a2 on cr.audit_id = a2.id
  147. left join market m1 on m1.id = cr.market
  148. left join market m2 on m2.id = cr.received_market
  149. left join rate r1 on r1.id = cr.payment_currency
  150. left join rate r2 on r2.id = cr.received_currency
  151. left join recharge_activity ra on ra.id = cr.activity
  152. <where>
  153. 1 = 1
  154. <if test="cashCollection.market != null and cashCollection.market != ''">
  155. AND cr.market = #{cashCollection.market}
  156. </if>
  157. <if test="cashCollection.jwcode != null and cashCollection.jwcode!=''">
  158. AND cr.jwcode = #{cashCollection.jwcode}
  159. </if>
  160. <if test="cashCollection.name!=null and cashCollection.name !=''">
  161. AND cr.name like concat('%',#{cashCollection.name},'%')
  162. </if>
  163. <if test="cashCollection.submitterId!=null and cashCollection.submitterId !=''">
  164. AND cr.submitter_id = #{cashCollection.submitterId}
  165. </if>
  166. <!-- 其他原有条件不变 -->
  167. <choose>
  168. <when test="cashCollection.status != null and (cashCollection.status == 46||cashCollection.status == 13)">
  169. <if test="cashCollection.receivedMarket != null and cashCollection.receivedMarket != ''">
  170. AND (cr.received_market = #{cashCollection.receivedMarket}
  171. <if test="cashCollection.submitterMarket != null and cashCollection.submitterMarket != ''">
  172. OR cr.submitter_market = #{cashCollection.submitterMarket}
  173. </if>
  174. )
  175. </if>
  176. <if test="(cashCollection.receivedMarket == null or cashCollection.receivedMarket == '')
  177. and cashCollection.submitterMarket != null and cashCollection.submitterMarket != ''">
  178. AND cr.submitter_market = #{cashCollection.submitterMarket}
  179. </if>
  180. </when>
  181. <!-- 非 status=46 保持原逻辑:同时满足 -->
  182. <otherwise>
  183. <if test="cashCollection.receivedMarket != null and cashCollection.receivedMarket != ''">
  184. AND cr.received_market = #{cashCollection.receivedMarket}
  185. </if>
  186. <if test="cashCollection.submitterMarket != null and cashCollection.submitterMarket != ''">
  187. AND cr.submitter_market = #{cashCollection.submitterMarket}
  188. </if>
  189. </otherwise>
  190. </choose>
  191. <if test="cashCollection.activity!=null and cashCollection.activity!=''">
  192. AND cr.activity =#{cashCollection.activity}
  193. </if>
  194. <if test="cashCollection.paymentCurrency!=null and cashCollection.paymentCurrency!=''">
  195. AND cr.payment_currency like concat('%',#{cashCollection.paymentCurrency},'%')
  196. </if>
  197. <if test="cashCollection.goodsName!=null and cashCollection.goodsName!=''">
  198. AND cr.goods_name like concat('%',#{cashCollection.goodsName},'%')
  199. </if>
  200. <if test="cashCollection.payType!=null and cashCollection.payType!=''">
  201. AND cr.pay_type = #{cashCollection.payType}
  202. </if>
  203. <if test="cashCollection.status != null">
  204. AND cr.status IN
  205. <foreach collection="cashCollection.status.toString().toCharArray()" item="digit" open="(" separator="," close=")">
  206. #{digit}
  207. </foreach>
  208. </if>
  209. <if test="cashCollection.startTime!=null and cashCollection.endTime!=null">
  210. AND cr.pay_time between #{cashCollection.startTime} and #{cashCollection.endTime}
  211. </if>
  212. and cr.order_type=1
  213. </where>
  214. <choose>
  215. <when test="cashCollection.sortField != null and cashCollection.sortField.length > 0 or cashCollection.sortOrder != null and cashCollection.sortOrder.length > 0">
  216. ORDER BY ${cashCollection.sortField} ${cashCollection.sortOrder}
  217. </when>
  218. <otherwise>
  219. ORDER BY pay_time DESC
  220. </otherwise>
  221. </choose>
  222. </select>
  223. <select id="selectAuditByOrderCode" resultType="com.example.demo.domain.entity.CashRecord">
  224. select crc.id,jwcode,name,market,ra.activity_name as activity,
  225. order_code,bank_code,goods_name,good_num,num_unit,permanent_gold,free_gold,
  226. payment_currency,payment_amount,pay_type,pay_time,crc.status,submitter_id,
  227. voucher,remark,version,received_market
  228. from cash_record_collection crc
  229. left join recharge_activity ra on ra.id = crc.activity
  230. where order_code=#{orderCode}
  231. </select>
  232. <!--根据精网号获取姓名-->
  233. <select id="getNameByJwcode" resultType="java.lang.String">
  234. select name from user where jwcode=#{jwcode}
  235. </select>
  236. <select id="getMarketNameByJwcode" resultType="java.lang.String">
  237. select m.name from user u left join market m on u.market=m.id
  238. where u.jwcode=#{jwcode}</select>
  239. <select id="getActivityList" resultType="com.example.demo.domain.entity.RechargeActivity">
  240. select ra.id,ra.activity_name,ra.business_belong,m.name as area,ra.status
  241. from recharge_activity ra
  242. left join market m on m.id=ra.area
  243. where ra.flag=1 and ra.status=1 and #{now} between start_time and end_time
  244. </select>
  245. <!--查找未同步的订单-->
  246. <select id="getUnSync" resultType="com.example.demo.domain.entity.GOrder">
  247. select id,jwcode,order_no,type,price,count,pay_style,state,
  248. success_time,ios_environment,ios_transaction_id,ios_receipt_data,firstdata_ipgTransactionId,
  249. add_time,is_synced
  250. from g_order
  251. where is_synced=0 and state=1 and pay_style in(3,5,6,7,9,10,15)
  252. and success_time>=1767196800
  253. limit #{size}
  254. </select>
  255. <select id="selectById" resultType="com.example.demo.domain.vo.cash.CashCollection">
  256. select cr.id,cr.jwcode,cr.name,cr.market,
  257. cr.order_code,cr.bank_code,cr.goods_name,cr.good_num,cr.num_unit,cr.permanent_gold,cr.free_gold,
  258. cr.payment_currency,cr.payment_amount,cr.received_currency,cr.received_amount,cr.handling_charge,
  259. cr.pay_type,cr.received_market,cr.pay_time,cr.received_time,cr.audit_id,cr.status,cr.submitter_id,
  260. cr.submitter_market,cr.voucher,cr.remark,cr.audit_time,a1.admin_name as submitterName,
  261. a2.admin_name as auditName,ra.activity_name as activity
  262. from cash_record_collection cr
  263. left join admin a1 on cr.submitter_id = a1.id
  264. left join admin a2 on cr.audit_id = a2.id
  265. left join recharge_activity ra on ra.id = cr.activity
  266. where cr.id=#{id}
  267. </select>
  268. <!--根据id查询收款订单-->
  269. <select id="selectBatchIds" resultType="com.example.demo.domain.vo.cash.CashCollection">
  270. select
  271. cr.id, cr.jwcode, cr.name, cr.market,
  272. cr.order_code, cr.bank_code, cr.goods_name, cr.good_num, cr.num_unit, cr.permanent_gold, cr.free_gold,
  273. cr.payment_amount, cr.received_amount, cr.handling_charge,
  274. cr.pay_type, cr.received_market, cr.pay_time, cr.received_time, cr.audit_id, cr.status, cr.submitter_id,
  275. cr.submitter_market, cr.voucher, cr.remark, cr.audit_time,
  276. a1.admin_name as submitterName,
  277. a2.admin_name as auditName,
  278. ra.activity_name as activity,
  279. r1.rate_name as paymentCurrency,
  280. r2.rate_name as receivedCurrency
  281. from cash_record_collection cr
  282. left join admin a1 on cr.submitter_id = a1.id
  283. left join admin a2 on cr.audit_id = a2.id
  284. left join recharge_activity ra on ra.id = cr.activity
  285. left join rate r1 on r1.id = cr.payment_currency
  286. left join rate r2 on r2.id = cr.received_currency
  287. where 1 = 0
  288. <if test="relatedIds != null and relatedIds.size() > 0">
  289. OR cr.id IN
  290. <foreach collection="relatedIds" item="id" open="(" separator="," close=")">
  291. #{id}
  292. </foreach>
  293. </if>
  294. </select>
  295. <select id="selectByGoldCoinOrderCode" resultType="com.example.demo.domain.vo.cash.CashCollection">
  296. select * from cash_record_collection where order_no=#{orderNo}
  297. </select>
  298. <!--根据glodcoin订单号更新收款订单-->
  299. <update id="updateByGoldCoinOrderCode">
  300. update cash_record_collection
  301. <set>
  302. received_time=#{time},
  303. payment_currency=#{currency},
  304. received_currency=#{currency},
  305. payment_amount=#{order_amount},
  306. received_amount=#{net_amount},
  307. handling_charge=#{charge},
  308. order_no_status=0
  309. </set>
  310. where order_code=#{merchant_reference}
  311. </update>
  312. <update id="updateOrderWithVersion">
  313. UPDATE cash_record_collection
  314. SET status = #{status},
  315. audit_id = #{auditId},
  316. version = version + 1
  317. WHERE order_code = #{orderCode}
  318. AND status = 0
  319. AND version = #{version}
  320. </update>
  321. <select id="performanceSelect" resultType="com.example.demo.domain.vo.cash.PerformanceVO" parameterType="com.example.demo.domain.DTO.PerformanceDTO">
  322. select cr.jwcode,cr.name,cr.market,m.name as marketName,cr.order_code,r1.rate_name as paymentCurrency,cr.payment_amount,r2.rate_name as receivedCurrency,cr.received_amount,cr.handling_charge
  323. from cash_record_collection cr
  324. left join market m on m.id = cr.market
  325. left join rate r1 on r1.id = cr.payment_currency
  326. left join rate r2 on r2.id = cr.received_currency
  327. where order_type = 1 and status = 4
  328. <!-- adminMarket筛选:如果adminMarket列表不为空且不包含研发部或总部,则筛选market表中的name等于adminMarket列表中的内容 -->
  329. <if test="adminMarket != null and adminMarket.size() > 0">
  330. <choose>
  331. <when test="adminMarket.contains('研发部'.toString()) or adminMarket.contains('总部'.toString())">
  332. <!-- 如果包含研发部或总部,则不筛选 -->
  333. </when>
  334. <otherwise>
  335. AND m.name IN
  336. <foreach collection="adminMarket" item="item" open="(" separator="," close=")">
  337. #{item}
  338. </foreach>
  339. </otherwise>
  340. </choose>
  341. </if>
  342. <!-- customerMarket筛选:如果customerMarket列表不为空,则筛选cash_record_collection表中的market等于customerMarket列表中的内容 -->
  343. <if test="customerMarket != null and customerMarket.size() > 0">
  344. AND cr.market IN
  345. <foreach collection="customerMarket" item="item" open="(" separator="," close=")">
  346. #{item}
  347. </foreach>
  348. </if>
  349. <!-- jwcode筛选:如果jwcode不为空,则筛选cash_record_collection表中的jwcode等于jwcode -->
  350. <if test="jwcode != null and jwcode != ''">
  351. AND cr.jwcode = #{jwcode}
  352. </if>
  353. <!-- 时间范围筛选:如果startTime和endTime不为空,则筛选cash_record_collection表中的pay_time在startTime和endTime之间 -->
  354. <if test="startTime != null and endTime != null">
  355. AND cr.pay_time BETWEEN #{startTime} AND #{endTime}
  356. </if>
  357. </select>
  358. <select id="selectByBankCode" resultType="com.example.demo.domain.vo.cash.CashCollection">
  359. select * from cash_record_collection where bank_code=#{bankCode}
  360. </select>
  361. <select id="selectFirstdataList" resultType="java.lang.String">
  362. select bank_code from cash_record_collection where bank_code is not null and payload='FirstData' and order_no_status=1
  363. </select>
  364. <select id="selectStripeList" resultType="java.lang.String">
  365. select order_code from cash_record_collection where payload='Stripe' and order_no_status=1
  366. </select>
  367. <select id="selectStripe2List" resultType="java.lang.String">
  368. select order_code from cash_record_collection where payload='Stripe2' and order_no_status=1
  369. </select>
  370. <select id="selectPaymentList" resultType="java.lang.String">
  371. select order_code from cash_record_collection where payload='PaymentAsia' and order_no_status=1
  372. </select>
  373. <select id="selectIpayList" resultType="com.example.demo.domain.vo.cash.CashCollection">
  374. select order_code,permanent_gold from cash_record_collection where payload='Ipay88' and order_no_status=1
  375. </select>
  376. <!--根据订单号获取商品名称-->
  377. <select id="selectGoodsNameByCode" resultType="java.lang.String">
  378. select goods_name from cash_record_collection where order_code=#{orderCode}
  379. </select>
  380. <!-- 根据 jwcode 和 walletId 查询用户钱包 -->
  381. <select id="selectUserWallet" resultType="com.example.demo.domain.entity.UserRegionWallet">
  382. SELECT id, jwcode, wallet_id, current_permanent_gold, create_time, update_time
  383. FROM user_region_wallet
  384. WHERE jwcode = #{jwcode} AND wallet_id = #{walletId}
  385. </select>
  386. <!-- 增加用户钱包永久金币 -->
  387. <update id="addUserWalletPermanentGold">
  388. UPDATE user_region_wallet
  389. SET current_permanent_gold = current_permanent_gold + #{amount},
  390. update_time = NOW()
  391. WHERE jwcode = #{jwcode} AND wallet_id = #{walletId}
  392. </update>
  393. <!-- 如果钱包记录不存在则插入 -->
  394. <insert id="insertUserWallet" parameterType="com.example.demo.domain.entity.UserRegionWallet">
  395. INSERT INTO user_region_wallet (jwcode, wallet_id, current_permanent_gold, create_time, update_time)
  396. VALUES (#{jwcode}, #{walletId}, #{currentPermanentGold}, NOW(), NOW())
  397. ON DUPLICATE KEY UPDATE
  398. current_permanent_gold = current_permanent_gold + VALUES(current_permanent_gold),
  399. update_time = NOW()
  400. </insert>
  401. <!-- 插入用户钱包明细记录 -->
  402. <insert id="insertUserWalletRecord" parameterType="com.example.demo.domain.entity.UserWalletRecord">
  403. INSERT INTO user_wallet_record (jwcode, wallet_id, type, amount, order_code, description, status, create_time)
  404. VALUES (#{jwcode}, #{walletId}, #{type}, #{amount}, #{orderCode}, #{description}, #{status}, NOW())
  405. </insert>
  406. <!--新增流水——其他收入-->
  407. <insert id="addExFund">
  408. insert into cash_record_collection
  409. </insert>
  410. <!-- 根据精网号和钱包 ID 查询用户钱包明细列表 -->
  411. <select id="selectWalletRecordsByJwcodeAndWalletId" resultType="com.example.demo.domain.vo.cash.UserWalletRecordVO">
  412. SELECT
  413. uwr.id,
  414. uwr.jwcode,
  415. u.name as userName,
  416. u.market,
  417. m.name as marketName,
  418. uwr.wallet_id,
  419. w.wallet_name as walletName,
  420. uwr.type,
  421. uwr.amount/100 as amount,
  422. uwr.order_code as orderCode,
  423. uwr.description,
  424. uwr.status,
  425. uwr.create_time as createTime
  426. FROM user_wallet_record uwr
  427. LEFT JOIN user u ON uwr.jwcode = u.jwcode
  428. LEFT JOIN market m ON u.market = m.id
  429. LEFT JOIN wallet w ON uwr.wallet_id = w.id
  430. <where>
  431. <if test="jwcode != null">
  432. AND uwr.jwcode = #{jwcode}
  433. </if>
  434. <if test="walletId != null">
  435. AND uwr.wallet_id = #{walletId}
  436. </if>
  437. </where>
  438. ORDER BY uwr.create_time DESC
  439. </select>
  440. <!-- 根据精网号和地区查询用户的所有钱包 ID 和金币数量(包含用户名和地区) -->
  441. <resultMap id="UserWalletVOResultMap" type="com.example.demo.domain.vo.cash.UserWalletVO">
  442. <id property="jwcode" column="jwcode"/>
  443. <result property="userName" column="userName"/>
  444. <result property="market" column="market"/>
  445. <result property="marketName" column="marketName"/>
  446. <collection property="walletList" ofType="com.example.demo.domain.vo.cash.WalletItem">
  447. <id property="walletId" column="walletId"/>
  448. <result property="walletName" column="walletName"/>
  449. <result property="currentPermanentGold" column="currentPermanentGold"/>
  450. </collection>
  451. </resultMap>
  452. <!-- 查询符合条件的精网号列表(用于分页,每个精网号算一条记录) -->
  453. <select id="selectDistinctJwcodes" resultType="java.lang.Integer">
  454. SELECT DISTINCT u.jwcode
  455. FROM user u
  456. LEFT JOIN market m ON u.market = m.id
  457. LEFT JOIN user_region_wallet wr ON u.jwcode = wr.jwcode
  458. <where>
  459. <if test="jwcode != null">
  460. AND u.jwcode = #{jwcode}
  461. </if>
  462. <if test="market != null and market != ''">
  463. AND u.market = #{market}
  464. </if>
  465. AND wr.wallet_id IS NOT NULL
  466. </where>
  467. ORDER BY u.jwcode
  468. </select>
  469. <!-- 根据精网号列表查询用户的所有钱包信息 -->
  470. <select id="selectUserWalletsByJwcodes" resultMap="UserWalletVOResultMap">
  471. SELECT
  472. u.jwcode,
  473. u.name as userName,
  474. u.market,
  475. m.name as marketName,
  476. wr.wallet_id as walletId,
  477. w.wallet_name as walletName,
  478. COALESCE(wr.current_permanent_gold, 0)/100 as currentPermanentGold
  479. FROM user u
  480. LEFT JOIN market m ON u.market = m.id
  481. LEFT JOIN user_region_wallet wr ON u.jwcode = wr.jwcode
  482. LEFT JOIN wallet w ON wr.wallet_id = w.id
  483. <where>
  484. u.jwcode IN
  485. <foreach collection="jwcodeList" item="jwcode" open="(" separator="," close=")">
  486. #{jwcode}
  487. </foreach>
  488. <if test="market != null and market != ''">
  489. AND u.market = #{market}
  490. </if>
  491. AND wr.wallet_id IS NOT NULL
  492. </where>
  493. ORDER BY u.jwcode, wr.wallet_id
  494. </select>
  495. <!--根据OrderCode订单号更新收款订单-->
  496. <update id="updateByGoldCoinOrderCodeByPayment">
  497. update cash_record_collection
  498. SET
  499. received_time=#{time},
  500. payment_currency='2',
  501. received_currency='2',
  502. payment_amount=#{order_amount},
  503. received_amount=#{net_amount},
  504. handling_charge=#{charge},
  505. status=4,
  506. order_no_status=0
  507. where order_code=#{merchant_reference}
  508. </update>
  509. <!--根据OrderCode订单号更新收款订单-->
  510. <update id="updateByGoldCoinOrderCodeByStripe">
  511. update cash_record_collection
  512. SET
  513. received_time=#{availableOn},
  514. payment_currency='2',
  515. received_currency='2',
  516. payment_amount=#{amount},
  517. received_amount=#{net},
  518. handling_charge=#{fee},
  519. status=4,
  520. order_no_status=0
  521. where order_code=#{orderNo}
  522. </update>
  523. <!--根据OrderCode订单号更新收款订单-->
  524. <update id="updateByGoldCoinOrderCodeByStripe2">
  525. update cash_record_collection
  526. SET
  527. received_time=#{availableOn},
  528. payment_currency='3',
  529. received_currency='3',
  530. payment_amount=#{amount},
  531. received_amount=#{net},
  532. handling_charge=#{fee},
  533. status=4,
  534. order_no_status=0
  535. where order_code=#{orderNo}
  536. </update>
  537. <update id="updateByGoldCoinOrderCodeByFirstdata">
  538. update cash_record_collection
  539. SET
  540. payment_currency='3',
  541. received_currency='3',
  542. payment_amount=#{amount},
  543. received_amount=#{net},
  544. handling_charge=#{fee},
  545. status=4,
  546. order_no_status=0
  547. where order_code=#{orderId}
  548. </update>
  549. <update id="updateByGoldCoinOrderCodeByIpay88">
  550. update cash_record_collection
  551. SET
  552. payment_currency='4',
  553. received_currency='4',
  554. payment_amount=#{amount},
  555. received_amount=#{net},
  556. handling_charge=#{fee},
  557. status=4,
  558. order_no_status=0
  559. where order_code=#{orderNo}
  560. </update>
  561. <update id="updateMessageFlagByTypeIdAndType">
  562. UPDATE message
  563. SET flag = #{flag}
  564. WHERE type_id = #{typeId} AND type = #{type}
  565. </update>
  566. </mapper>