KuaishouItemCollectSamplesMapper.xml 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.ruixuan.isc.mapper.KuaishouItemCollectSamplesMapper">
  6. <resultMap type="com.ruixuan.isc.entity.KuaishouItemCollectSamples" id="KuaishouItemCollectSamplesResult">
  7. <result property="id" column="id"/>
  8. <result property="itemId" column="item_id"/>
  9. <result property="itemTitle" column="item_title"/>
  10. <result property="itemPrice" column="item_price"/>
  11. <result property="itemImgUrl" column="item_img_url"/>
  12. <result property="itemDesc" column="item_desc"/>
  13. <result property="commissionRate" column="commission_rate"/>
  14. <result property="regimentalPromotion" column="regimental_promotion"/>
  15. <result property="sampleCount" column="sample_count"/>
  16. <result property="sampleRequirement" column="sample_requirement"/>
  17. <result property="itemCreateId" column="item_create_id"/>
  18. <result property="itemCreateName" column="item_create_name"/>
  19. <result property="collectSampleId" column="collect_sample_id"/>
  20. <result property="collectSampleName" column="collect_sample_name"/>
  21. <result property="partnerRecommendText" column="partner_recommend_text"/>
  22. <result property="promoterId" column="promoter_id"/>
  23. <result property="promoterNickName" column="promoter_nick_name"/>
  24. <result property="promoterUrl" column="promoter_url"/>
  25. <result property="promoterPhone" column="promoter_phone"/>
  26. <result property="promoterAddress" column="promoter_address"/>
  27. <result property="consignee" column="consignee"/>
  28. <result property="courierNumber" column="courier_number"/>
  29. <result property="taskFileUrl" column="task_file_url"/>
  30. <result property="collectSampleStatus" column="collect_sample_status"/>
  31. <result property="collectSampleDesc" column="collect_sample_desc"/>
  32. <result property="createTime" column="create_time"/>
  33. <result property="updateTime" column="update_time"/>
  34. </resultMap>
  35. <sql id="selectKuaishouItemCollectSamplesVo">
  36. select id,
  37. item_id,
  38. item_title,
  39. item_price,
  40. item_img_url,
  41. item_desc,
  42. commission_rate,
  43. regimental_promotion,
  44. sample_count,
  45. sample_requirement,
  46. item_create_id,
  47. item_create_name,
  48. collect_sample_id,
  49. collect_sample_name,
  50. partner_recommend_text,
  51. promoter_id,
  52. promoter_nick_name,
  53. promoter_url,
  54. promoter_phone,
  55. promoter_address,
  56. consignee,
  57. courier_number,
  58. task_file_url,
  59. collect_sample_status,
  60. collect_sample_desc,
  61. create_time,
  62. update_time
  63. from kuaishou_item_collect_samples
  64. </sql>
  65. <select id="selectKuaishouItemCollectSamplesList" parameterType="com.ruixuan.isc.entity.KuaishouItemCollectSamples"
  66. resultMap="KuaishouItemCollectSamplesResult">
  67. <include refid="selectKuaishouItemCollectSamplesVo"/>
  68. <where>
  69. <if test="itemId != null ">and item_id = #{itemId}</if>
  70. <if test="promoterId != null ">and promoter_id = #{promoterId}</if>
  71. <if test="collectSampleStatus != null ">and collect_sample_status = #{collectSampleStatus}</if>
  72. <if test="itemCreateId != null and itemCreateId != ''">
  73. and item_create_id = #{itemCreateId}
  74. </if>
  75. <if test='itemCreateIds != null and itemCreateIds.size() > 0'>
  76. AND item_create_id in
  77. <foreach collection="itemCreateIds" item="item" separator=","
  78. open="(" close=")">
  79. #{item}
  80. </foreach>
  81. </if>
  82. <if test="collectSampleId != null and collectSampleId != ''">
  83. and collect_sample_id = #{collectSampleId}
  84. </if>
  85. <if test='collectSampleIds != null and collectSampleIds.size() > 0'>
  86. AND collect_sample_id in
  87. <foreach collection="collectSampleIds" item="item" separator=","
  88. open="(" close=")">
  89. #{item}
  90. </foreach>
  91. </if>
  92. <if test="itemTitle != null and itemTitle != ''">
  93. and item_title like concat('%', #{itemTitle}, '%')
  94. </if>
  95. <if test="promoterNickName != null and promoterNickName != ''">
  96. and promoter_nick_name like concat('%', #{promoterNickName}, '%')
  97. </if>
  98. <if test="promoterPhone != null and promoterPhone != ''">
  99. and promoter_phone = #{promoterPhone}
  100. </if>
  101. </where>
  102. order by create_time desc
  103. </select>
  104. <select id="selectKuaishouItemCollectSamplesById" parameterType="java.lang.Long"
  105. resultMap="KuaishouItemCollectSamplesResult">
  106. <include refid="selectKuaishouItemCollectSamplesVo"/>
  107. where id = #{id}
  108. </select>
  109. <select id="getItemList" resultType="com.alibaba.fastjson.JSONObject"
  110. parameterType="com.alibaba.fastjson.JSONArray">
  111. select
  112. item_id as 'itemId',
  113. item_title as 'itemTitle',
  114. item_price as 'itemPrice',
  115. item_img_url as 'itemImgUrl',
  116. regimental_promotion as 'regimentalPromotion',
  117. commission_rate as 'commissionRate',
  118. user_id as 'userId',
  119. user_name as 'userName'
  120. from kuaishou_item_list
  121. where 1 =1
  122. <if test='itemIds != null and itemIds.size() > 0'>
  123. AND item_id in
  124. <foreach collection="itemIds" item="itemId" separator=","
  125. open="(" close=")">
  126. #{itemId}
  127. </foreach>
  128. </if>
  129. group by item_id
  130. </select>
  131. <select id="promoterList" resultType="com.alibaba.fastjson.JSONObject"
  132. parameterType="com.alibaba.fastjson.JSONArray">
  133. select
  134. promoter_id as 'promoterId',
  135. promoter_nick_name as 'promoterNickName',
  136. promoter_url as 'promoterUrl',
  137. consignee,
  138. promoter_address as 'promoterAddress',
  139. phone as 'promoterPhone'
  140. from kuaishou_promoter
  141. where 1 =1
  142. <if test='promoterIds != null and promoterIds.size() > 0'>
  143. AND promoter_id in
  144. <foreach collection="promoterIds" item="promoterId" separator=","
  145. open="(" close=")">
  146. #{promoterId}
  147. </foreach>
  148. </if>
  149. group by promoter_id
  150. </select>
  151. <select id="check" resultType="java.lang.Integer">
  152. select count(1)
  153. from kuaishou_item_collect_samples
  154. where item_id = #{itemId}
  155. and promoter_id = #{promoterId}
  156. and collect_sample_status != 2
  157. </select>
  158. <select id="getExpress" resultType="com.ruixuan.isc.entity.KuaishouItemCollectSampleExpress"
  159. parameterType="java.lang.String">
  160. select *
  161. from kuaishou_item_collect_sample_express
  162. where courier_number = #{courierNumber}
  163. </select>
  164. <select id="getStatusByCourierNumbe" resultType="java.lang.Integer" parameterType="java.lang.String">
  165. select collect_sample_status
  166. from kuaishou_item_collect_samples
  167. where courier_number = #{nu}
  168. order by update_time desc limit 1
  169. </select>
  170. <select id="courierNumberInfo" resultType="com.alibaba.fastjson.JSONObject"
  171. parameterType="java.lang.String">
  172. select courier_number as 'courierNumber', state as 'state', express_data as 'expressData', create_time as 'createTime', update_time as 'updateTime'
  173. from kuaishou_item_collect_sample_express
  174. where courier_number = #{courierNumber}
  175. </select>
  176. <select id="getLogList" resultType="com.ruixuan.isc.entity.KuaishouItemCollectSampleLog"
  177. parameterType="java.lang.Long">
  178. select *
  179. from kuaishou_item_collect_sample_log
  180. where sample_id = #{sampleId}
  181. order by collect_sample_status asc
  182. </select>
  183. <select id="exportCollectSamples" resultType="com.alibaba.fastjson.JSONObject">
  184. select
  185. id as 'id',
  186. item_id as 'itemId',
  187. item_title as 'itemTitle',
  188. promoter_id as 'promoterId',
  189. promoter_nick_name as 'promoterNickName',
  190. (
  191. case
  192. when collect_sample_status = 1 then '待审核'
  193. when collect_sample_status = 2 then '审核拒绝'
  194. when collect_sample_status = 3 then '待录入单号'
  195. when collect_sample_status = 4 then '已发货'
  196. when collect_sample_status = 5 then '快递已签收,待上传作业'
  197. when collect_sample_status = 6 then '作业已上传,待招商审核作业'
  198. when collect_sample_status = 7 then '审核通过'
  199. else ''
  200. end
  201. ) as 'status',
  202. sample_count as 'sampleCount',
  203. sample_requirement as 'sampleRequirement',
  204. consignee as 'consignee',
  205. promoter_phone as 'promoterPhone',
  206. promoter_address as 'promoterAddress'
  207. from kuaishou_item_collect_samples
  208. where 1= 1
  209. <if test='ids != null and ids.size() > 0'>
  210. AND id in
  211. <foreach collection="ids" item="id" separator=","
  212. open="(" close=")">
  213. #{id}
  214. </foreach>
  215. </if>
  216. </select>
  217. <select id="getCollectSampleInfo" resultType="com.alibaba.fastjson.JSONObject"
  218. parameterType="java.lang.Long">
  219. select count(id) as 'sampleCount', count(distinct collect_sample_id) as 'userCount'
  220. from kuaishou_item_collect_samples
  221. where item_id = #{itemId}
  222. and collect_sample_status >= 3
  223. </select>
  224. <select id="promoterInfo" resultType="com.alibaba.fastjson.JSONObject" parameterType="java.lang.Long">
  225. select total_sale as 'totalSale', fans_number as 'fansNumber'
  226. from kuaishou_promoter
  227. where promoter_id = #{promoterId} limit 1
  228. </select>
  229. <select id="getItemIdById" resultType="java.lang.Long" parameterType="java.lang.Long">
  230. select item_id
  231. from kuaishou_item_collect_samples
  232. where id = #{id}
  233. </select>
  234. <insert id="insertKuaishouItemCollectSamples" parameterType="com.ruixuan.isc.entity.KuaishouItemCollectSamples">
  235. insert into kuaishou_item_collect_samples
  236. <trim prefix="(" suffix=")" suffixOverrides=",">
  237. <if test="id != null">id,</if>
  238. <if test="itemId != null">item_id,</if>
  239. <if test="itemTitle != null">item_title,</if>
  240. <if test="itemPrice != null">item_price,</if>
  241. <if test="itemImgUrl != null">item_img_url,</if>
  242. <if test="itemDesc != null">item_desc,</if>
  243. <if test="commissionRate != null">commission_rate,</if>
  244. <if test="regimentalPromotion != null">regimental_promotion,</if>
  245. <if test="sampleCount != null">sample_count,</if>
  246. <if test="sampleRequirement != null">sample_requirement,</if>
  247. <if test="itemCreateId != null">item_create_id,</if>
  248. <if test="itemCreateName != null">item_create_name,</if>
  249. <if test="collectSampleId != null">collect_sample_id,</if>
  250. <if test="collectSampleName != null">collect_sample_name,</if>
  251. <if test="partnerRecommendText != null">partner_recommend_text,</if>
  252. <if test="promoterId != null">promoter_id,</if>
  253. <if test="promoterNickName != null">promoter_nick_name,</if>
  254. <if test="promoterUrl != null">promoter_url,</if>
  255. <if test="promoterPhone != null">promoter_phone,</if>
  256. <if test="promoterAddress != null">promoter_address,</if>
  257. <if test="consignee != null">consignee,</if>
  258. <if test="courierNumber != null">courier_number,</if>
  259. <if test="taskFileUrl != null">task_file_url,</if>
  260. <if test="collectSampleStatus != null">collect_sample_status,</if>
  261. <if test="collectSampleDesc != null">collect_sample_desc,</if>
  262. <if test="createTime != null">create_time,</if>
  263. <if test="updateTime != null">update_time,</if>
  264. </trim>
  265. <trim prefix="values (" suffix=")" suffixOverrides=",">
  266. <if test="id != null">#{id},</if>
  267. <if test="itemId != null">#{itemId},</if>
  268. <if test="itemTitle != null">#{itemTitle},</if>
  269. <if test="itemPrice != null">#{itemPrice},</if>
  270. <if test="itemImgUrl != null">#{itemImgUrl},</if>
  271. <if test="itemDesc != null">#{itemDesc},</if>
  272. <if test="commissionRate != null">#{commissionRate},</if>
  273. <if test="regimentalPromotion != null">#{regimentalPromotion},</if>
  274. <if test="sampleCount != null">#{sampleCount},</if>
  275. <if test="sampleRequirement != null">#{sampleRequirement},</if>
  276. <if test="itemCreateId != null">#{itemCreateId},</if>
  277. <if test="itemCreateName != null">#{itemCreateName},</if>
  278. <if test="collectSampleId != null">#{collectSampleId},</if>
  279. <if test="collectSampleName != null">#{collectSampleName},</if>
  280. <if test="partnerRecommendText != null">#{partnerRecommendText},</if>
  281. <if test="promoterId != null">#{promoterId},</if>
  282. <if test="promoterNickName != null">#{promoterNickName},</if>
  283. <if test="promoterUrl != null">#{promoterUrl},</if>
  284. <if test="promoterPhone != null">#{promoterPhone},</if>
  285. <if test="promoterAddress != null">#{promoterAddress},</if>
  286. <if test="consignee != null">#{consignee},</if>
  287. <if test="courierNumber != null">#{courierNumber},</if>
  288. <if test="taskFileUrl != null">#{taskFileUrl},</if>
  289. <if test="collectSampleStatus != null">#{collectSampleStatus},</if>
  290. <if test="collectSampleDesc != null">#{collectSampleDesc},</if>
  291. <if test="createTime != null">#{createTime},</if>
  292. <if test="updateTime != null">#{updateTime},</if>
  293. </trim>
  294. </insert>
  295. <insert id="batchAdd">
  296. insert into kuaishou_item_collect_samples(
  297. item_id,
  298. item_title,
  299. item_price,
  300. item_img_url,
  301. item_desc,
  302. commission_rate,
  303. regimental_promotion,
  304. sample_count,
  305. sample_requirement,
  306. item_create_id,
  307. item_create_name,
  308. collect_sample_id,
  309. collect_sample_name,
  310. partner_recommend_text,
  311. promoter_id,
  312. promoter_nick_name,
  313. promoter_phone,
  314. promoter_address,
  315. consignee,
  316. courier_number,
  317. task_file_url,
  318. promoter_url,
  319. collect_sample_status,
  320. collect_sample_desc
  321. )
  322. values
  323. <foreach collection="adds" item="add" separator=",">
  324. (
  325. #{add.itemId},
  326. #{add.itemTitle},
  327. #{add.itemPrice},
  328. #{add.itemImgUrl},
  329. #{add.itemDesc},
  330. #{add.commissionRate},
  331. #{add.regimentalPromotion},
  332. #{add.sampleCount},
  333. #{add.sampleRequirement},
  334. #{add.itemCreateId},
  335. #{add.itemCreateName},
  336. #{add.collectSampleId},
  337. #{add.collectSampleName},
  338. #{add.partnerRecommendText},
  339. #{add.promoterId},
  340. #{add.promoterNickName},
  341. #{add.promoterPhone},
  342. #{add.promoterAddress},
  343. #{add.consignee},
  344. #{add.courierNumber},
  345. #{add.taskFileUrl},
  346. #{add.promoterUrl},
  347. #{add.collectSampleStatus },
  348. #{add.collectSampleDesc}
  349. )
  350. </foreach>
  351. </insert>
  352. <insert id="replaceExpress" parameterType="com.ruixuan.isc.entity.KuaishouItemCollectSampleExpress">
  353. replace
  354. into kuaishou_item_collect_sample_express(
  355. courier_number,
  356. com,
  357. state,
  358. express_data
  359. )
  360. values
  361. (
  362. #{courierNumber},
  363. #{com},
  364. #{state},
  365. #{expressData}
  366. )
  367. </insert>
  368. <insert id="insertLog" parameterType="com.ruixuan.isc.entity.KuaishouItemCollectSampleLog">
  369. replace
  370. into kuaishou_item_collect_sample_log(
  371. sample_id,
  372. user_id,
  373. user_name,
  374. collect_sample_status,
  375. create_time,
  376. update_time
  377. )
  378. values
  379. (
  380. #{sampleId},
  381. #{userId},
  382. #{userName},
  383. #{collectSampleStatus},
  384. #{createTime},
  385. #{updateTime}
  386. )
  387. </insert>
  388. <insert id="batchAddLogs">
  389. replace into kuaishou_item_collect_sample_log(
  390. sample_id,
  391. user_id,
  392. user_name,
  393. collect_sample_status
  394. )
  395. values
  396. <foreach collection="adds" item="add" separator=",">
  397. (
  398. #{add.sampleId},
  399. #{add.userId},
  400. #{add.userName},
  401. #{add.collectSampleStatus}
  402. )
  403. </foreach>
  404. </insert>
  405. <update id="updateKuaishouItemCollectSamples" parameterType="com.ruixuan.isc.entity.KuaishouItemCollectSamples">
  406. update kuaishou_item_collect_samples
  407. <trim prefix="SET" suffixOverrides=",">
  408. <if test="itemId != null">item_id = #{itemId},</if>
  409. <if test="itemTitle != null">item_title = #{itemTitle},</if>
  410. <if test="itemPrice != null">item_price = #{itemPrice},</if>
  411. <if test="itemImgUrl != null">item_img_url = #{itemImgUrl},</if>
  412. <if test="itemDesc != null">item_desc = #{itemDesc},</if>
  413. <if test="commissionRate != null">commission_rate = #{commissionRate},</if>
  414. <if test="regimentalPromotion != null">regimental_promotion = #{regimentalPromotion},</if>
  415. <if test="sampleCount != null">sample_count = #{sampleCount},</if>
  416. <if test="sampleRequirement != null">sample_requirement = #{sampleRequirement},</if>
  417. <if test="itemCreateId != null">item_create_id = #{itemCreateId},</if>
  418. <if test="itemCreateName != null">item_create_name = #{itemCreateName},</if>
  419. <if test="collectSampleId != null">collect_sample_id = #{collectSampleId},</if>
  420. <if test="collectSampleName != null">collect_sample_name = #{collectSampleName},</if>
  421. <if test="partnerRecommendText != null">partner_recommend_text = #{partnerRecommendText},</if>
  422. <if test="promoterId != null">promoter_id = #{promoterId},</if>
  423. <if test="promoterNickName != null">promoter_nick_name = #{promoterNickName},</if>
  424. <if test="promoterUrl != null">promoter_url = #{promoterUrl},</if>
  425. <if test="promoterPhone != null">promoter_phone = #{promoterPhone},</if>
  426. <if test="promoterAddress != null">promoter_address = #{promoterAddress},</if>
  427. <if test="consignee != null">consignee = #{consignee},</if>
  428. <if test="courierNumber != null">courier_number = #{courierNumber},</if>
  429. <if test="taskFileUrl != null">task_file_url = #{taskFileUrl},</if>
  430. <if test="collectSampleStatus != null">collect_sample_status = #{collectSampleStatus},</if>
  431. <if test="collectSampleDesc != null">collect_sample_desc = #{collectSampleDesc},</if>
  432. <if test="createTime != null">create_time = #{createTime},</if>
  433. <if test="updateTime != null">update_time = #{updateTime},</if>
  434. </trim>
  435. where id = #{id}
  436. </update>
  437. <update id="updateByNum" parameterType="com.ruixuan.isc.entity.KuaishouItemCollectSamples">
  438. update kuaishou_item_collect_samples
  439. <trim prefix="SET" suffixOverrides=",">
  440. <if test="collectSampleStatus != null">collect_sample_status = #{collectSampleStatus},</if>
  441. <if test="collectSampleDesc != null">collect_sample_desc = #{collectSampleDesc}</if>
  442. </trim>
  443. where courier_number = #{courierNumber}
  444. </update>
  445. <delete id="deleteKuaishouItemCollectSamplesById" parameterType="java.lang.Long">
  446. delete
  447. from kuaishou_item_collect_samples
  448. where id = #{id}
  449. </delete>
  450. <delete id="deleteKuaishouItemCollectSamplesByIds" parameterType="java.lang.String">
  451. delete from kuaishou_item_collect_samples where id in
  452. <foreach item="id" collection="array" open="(" separator="," close=")">
  453. #{id}
  454. </foreach>
  455. </delete>
  456. <delete id="cleanLogs">
  457. delete
  458. from kuaishou_item_collect_sample_log
  459. where sample_id = #{sampleId}
  460. and collect_sample_status &gt; #{status}
  461. </delete>
  462. <select id="getSampleCountByUserId" resultType="java.lang.Integer">
  463. select IFNULL(SUM(sample_count), 0) as 'sampleCount'
  464. from kuaishou_item_collect_samples
  465. where collect_sample_status = #{status}
  466. AND collect_sample_id = #{userId}
  467. </select>
  468. <!-- 完成作业数/合格作业率-->
  469. <select id="queryTheNumberOfCompletedJobs" resultType="com.alibaba.fastjson.JSONObject">
  470. SELECT completeCount, allCount,
  471. IFNULL(CONCAT(ROUND(completeCount / allCount * 100, 2), '%'), '0%') as 'completeRate'
  472. FROM (SELECT IFNULL(SUM(sample_count), 0) as 'completeCount'
  473. FROM kuaishou_item_collect_samples
  474. WHERE DATE_FORMAT(create_time, '%Y-%m-%d') = #{statDate}
  475. And collect_sample_status = 7
  476. AND promoter_id in
  477. <foreach collection="promoterIds" item="item" separator=","
  478. open="(" close=")">
  479. #{item}
  480. </foreach>
  481. ) t1
  482. LEFT JOIN
  483. (SELECT IFNULL(SUM(sample_count), 0) as 'allCount'
  484. FROM kuaishou_item_collect_samples
  485. WHERE DATE_FORMAT(create_time, '%Y-%m-%d') = #{statDate}
  486. AND promoter_id in
  487. <foreach collection="promoterIds" item="item" separator=","
  488. open="(" close=")">
  489. #{item}
  490. </foreach>
  491. ) t2 on 1 = 1
  492. </select>
  493. <select id="selectPromoterInfo" resultType="com.alibaba.fastjson.JSONObject">
  494. select promoter_id as 'promoterId',
  495. valid_order_num as 'validOrderNum',
  496. valid_amount as 'validAmount'
  497. from promoter_oerder_amount where promoter_id in
  498. <foreach collection="map.values" item="v" separator="," open="(" close=")">
  499. ${v}
  500. </foreach>
  501. </select>
  502. </mapper>