KwaixiaodianItemGetMapper.xml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585
  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.KwaixiaodianItemGetMapper">
  6. <sql id="selectKwaixiaodianItemGetVo">
  7. SELECT id,
  8. company_id,
  9. company_name,
  10. leader_name,
  11. shop_id,
  12. shop_name,
  13. item_id,
  14. item_type,
  15. user_id,
  16. user_name,
  17. courtship_purchase_id,
  18. courtship_purchase_name,
  19. rel_item_id,
  20. category_id,
  21. category_name,
  22. parent_category_id,
  23. parent_category_name,
  24. root_category_id,
  25. root_category_name,
  26. title,
  27. details,
  28. image_urls,
  29. image_url,
  30. detail_image_urls,
  31. service_rule,
  32. audit_status,
  33. audit_reason,
  34. created_time_ms,
  35. created_time,
  36. update_time_ms,
  37. update_time,
  38. on_offline_status,
  39. parent_category_list,
  40. item_prop_values,
  41. express_template_id,
  42. purchase_limit,
  43. limit_count,
  44. price,
  45. link_url,
  46. time_of_sale,
  47. item_remark,
  48. duplication_status,
  49. duplication_reason,
  50. multiple_stock,
  51. poi_ids,
  52. white_base_image_url,
  53. transparent_image_url,
  54. short_title,
  55. selling_point,
  56. instructions,
  57. contract_phone,
  58. offline_reason,
  59. item_qualification,
  60. spu_id,
  61. data_create_time,
  62. data_update_time
  63. FROM kwaixiaodian_item_get
  64. </sql>
  65. <insert id="replaceBatchKWaixiaodianItems">
  66. replace into `ruixuan`.kwaixiaodian_item_get(
  67. item_id,
  68. item_type,
  69. user_id,
  70. user_name,
  71. shop_id,
  72. shop_name,
  73. company_id,
  74. company_name,
  75. leader_name,
  76. rel_item_id,
  77. category_id,
  78. category_name,
  79. parent_category_id,
  80. parent_category_name,
  81. root_category_Id,
  82. root_category_name,
  83. title,
  84. details,
  85. image_urls,
  86. detail_image_urls,
  87. service_rule,
  88. audit_status,
  89. audit_reason,
  90. created_time_ms,
  91. created_time,
  92. update_time_ms,
  93. update_time,
  94. on_offline_status,
  95. parent_category_list,
  96. item_prop_values,
  97. express_template_id,
  98. purchase_limit,
  99. limit_count,
  100. link_url,
  101. time_of_sale,
  102. item_remark,
  103. duplication_status,
  104. duplication_reason,
  105. multiple_stock,
  106. poi_ids,
  107. white_base_image_url,
  108. transparent_image_url,
  109. short_title,
  110. selling_point,
  111. instructions,
  112. contract_phone,
  113. offline_reason,
  114. item_qualification,
  115. spu_id
  116. )
  117. values
  118. <foreach collection="list" item="li" separator=",">
  119. (
  120. #{li.itemId},
  121. #{li.itemType},
  122. #{li.userId},
  123. #{li.userName},
  124. #{li.shopId},
  125. #{li.shopName},
  126. #{li.companyId},
  127. #{li.companyName},
  128. #{li.leaderName},
  129. #{li.relItemId},
  130. #{li.categoryId},
  131. #{li.categoryName},
  132. #{li.parentCategoryId},
  133. #{li.parentCategoryName},
  134. #{li.rootCategoryId},
  135. #{li.rootCategoryName},
  136. #{li.title},
  137. #{li.details},
  138. #{li.imageUrls},
  139. #{li.detailImageUrls},
  140. #{li.serviceRule},
  141. #{li.auditStatus},
  142. #{li.auditReason},
  143. #{li.createdTimeMs},
  144. #{li.createdTime},
  145. #{li.updateTimeMs},
  146. #{li.updateTime},
  147. #{li.onOfflineStatus},
  148. #{li.parentCategoryList},
  149. #{li.itemPropValues},
  150. #{li.expressTemplateId},
  151. #{li.purchaseLimit},
  152. #{li.limitCount},
  153. #{li.linkUrl},
  154. #{li.timeOfSale},
  155. #{li.itemRemark},
  156. #{li.duplicationStatus},
  157. #{li.duplicationReason},
  158. #{li.multipleStock},
  159. #{li.poiIds},
  160. #{li.whiteBaseImageUrl},
  161. #{li.transparentImageUrl},
  162. #{li.shortTitle},
  163. #{li.sellingPoint},
  164. #{li.instructions},
  165. #{li.contractPhone},
  166. #{li.offlineReason},
  167. #{li.itemQualification},
  168. #{li.spuId}
  169. )
  170. </foreach>
  171. </insert>
  172. <insert id="replaceKWaixiaodianItems">
  173. replace
  174. INTO `ruixuan`.kwaixiaodian_item_get(
  175. item_id,
  176. item_type,
  177. user_id,
  178. user_name,
  179. courtship_purchase_id,
  180. courtship_purchase_name,
  181. shop_id,
  182. shop_name,
  183. company_id,
  184. company_name,
  185. leader_name,
  186. rel_item_id,
  187. category_id,
  188. category_name,
  189. parent_category_id,
  190. parent_category_name,
  191. root_category_Id,
  192. root_category_name,
  193. title,
  194. details,
  195. image_urls,
  196. image_url,
  197. detail_image_urls,
  198. service_rule,
  199. audit_status,
  200. audit_reason,
  201. created_time_ms,
  202. created_time,
  203. update_time_ms,
  204. update_time,
  205. on_offline_status,
  206. parent_category_list,
  207. item_prop_values,
  208. express_template_id,
  209. purchase_limit,
  210. limit_count,
  211. link_url,
  212. time_of_sale,
  213. item_remark,
  214. duplication_status,
  215. duplication_reason,
  216. multiple_stock,
  217. poi_ids,
  218. white_base_image_url,
  219. transparent_image_url,
  220. short_title,
  221. selling_point,
  222. instructions,
  223. contract_phone,
  224. offline_reason,
  225. item_qualification,
  226. spu_id,
  227. price
  228. )
  229. VALUES
  230. (
  231. #{itemGet.itemId},
  232. #{itemGet.itemType},
  233. #{itemGet.userId},
  234. #{itemGet.userName},
  235. #{itemGet.courtshipPurchaseId},
  236. #{itemGet.courtshipPurchaseName},
  237. #{itemGet.shopId},
  238. #{itemGet.shopName},
  239. #{itemGet.companyId},
  240. #{itemGet.companyName},
  241. #{itemGet.leaderName},
  242. #{itemGet.relItemId},
  243. #{itemGet.categoryId},
  244. #{itemGet.categoryName},
  245. #{itemGet.parentCategoryId},
  246. #{itemGet.parentCategoryName},
  247. #{itemGet.rootCategoryId},
  248. #{itemGet.rootCategoryName},
  249. #{itemGet.title},
  250. #{itemGet.details},
  251. #{itemGet.imageUrls},
  252. #{itemGet.imageUrl},
  253. #{itemGet.detailImageUrls},
  254. #{itemGet.serviceRule},
  255. #{itemGet.auditStatus},
  256. #{itemGet.auditReason},
  257. #{itemGet.createdTimeMs},
  258. #{itemGet.createdTime},
  259. #{itemGet.updateTimeMs},
  260. #{itemGet.updateTime},
  261. #{itemGet.onOfflineStatus},
  262. #{itemGet.parentCategoryList},
  263. #{itemGet.itemPropValues},
  264. #{itemGet.expressTemplateId},
  265. #{itemGet.purchaseLimit},
  266. #{itemGet.limitCount},
  267. #{itemGet.linkUrl},
  268. #{itemGet.timeOfSale},
  269. #{itemGet.itemRemark},
  270. #{itemGet.duplicationStatus},
  271. #{itemGet.duplicationReason},
  272. #{itemGet.multipleStock},
  273. #{itemGet.poiIds},
  274. #{itemGet.whiteBaseImageUrl},
  275. #{itemGet.transparentImageUrl},
  276. #{itemGet.shortTitle},
  277. #{itemGet.sellingPoint},
  278. #{itemGet.instructions},
  279. #{itemGet.contractPhone},
  280. #{itemGet.offlineReason},
  281. #{itemGet.itemQualification},
  282. #{itemGet.spuId},
  283. #{itemGet.price}
  284. )
  285. </insert>
  286. <insert id="replaceBatchKWaixiaodianItemSku">
  287. replace into `ruixuan`.kwaixiaodian_item_get_sku(
  288. kwai_item_id,
  289. kwai_sku_id,
  290. rel_sku_id,
  291. sku_stock,
  292. image_url,
  293. sku_sale_price,
  294. volume,
  295. is_valid,
  296. specification,
  297. appkey,
  298. sku_nick,
  299. sku_prop,
  300. gtin_code,
  301. meal_detail,
  302. reserve_stock,
  303. package_code,
  304. goods_id,
  305. goods_code,
  306. create_time_ms,
  307. update_time_ms,
  308. create_time,
  309. update_time
  310. )
  311. values
  312. <foreach collection="list" item="li" separator=",">
  313. (
  314. #{li.kwaiItemId},
  315. #{li.kwaiSkuId},
  316. #{li.relSkuId},
  317. #{li.skuStock},
  318. #{li.imageUrl},
  319. #{li.skuSalePrice},
  320. #{li.volume},
  321. #{li.isValid},
  322. #{li.specification},
  323. #{li.appkey},
  324. #{li.skuNick},
  325. #{li.skuProp},
  326. #{li.gtinCode},
  327. #{li.mealDetail},
  328. #{li.reserveStock},
  329. #{li.packageCode},
  330. #{li.goodsId},
  331. #{li.goodsCode},
  332. #{li.createTimeMs},
  333. #{li.updateTimeMs},
  334. #{li.createTime},
  335. #{li.updateTime}
  336. )
  337. </foreach>
  338. </insert>
  339. <update id="updateKwaixiaodianItemGet" parameterType="com.ruixuan.isc.entity.KwaixiaodianItemGet">
  340. update kwaixiaodian_item_get
  341. <trim prefix="SET" suffixOverrides=",">
  342. <if test="companyId != null">company_id = #{companyId},</if>
  343. <if test="companyName != null">company_name = #{companyName},</if>
  344. <if test="leaderName != null">leader_name = #{leaderName},</if>
  345. <if test="shopId != null">shop_id = #{shopId},</if>
  346. <if test="shopName != null">shop_name = #{shopName},</if>
  347. <if test="itemId != null">item_id = #{itemId},</if>
  348. <if test="itemType != null">item_type = #{itemType},</if>
  349. <if test="userId != null">user_id = #{userId},</if>
  350. <if test="userName != null">user_name = #{userName},</if>
  351. <if test="courtshipPurchaseId != null">courtship_purchase_id = #{courtshipPurchaseId},</if>
  352. <if test="courtshipPurchaseName != null">courtship_purchase_name = #{courtshipPurchaseName},</if>
  353. <if test="relItemId != null">rel_item_id = #{relItemId},</if>
  354. <if test="categoryId != null">category_id = #{categoryId},</if>
  355. <if test="categoryName != null">category_name = #{categoryName},</if>
  356. <if test="parentCategoryId != null">parent_category_id = #{parentCategoryId},</if>
  357. <if test="parentCategoryName != null">parent_category_name = #{parentCategoryName},</if>
  358. <if test="rootCategoryId != null">root_category_id = #{rootCategoryId},</if>
  359. <if test="rootCategoryName != null">root_category_name = #{rootCategoryName},</if>
  360. <if test="title != null">title = #{title},</if>
  361. <if test="details != null">details = #{details},</if>
  362. <if test="imageUrls != null">image_urls = #{imageUrls},</if>
  363. <if test="imageUrl != null">image_url = #{imageUrl},</if>
  364. <if test="detailImageUrls != null">detail_image_urls = #{detailImageUrls},</if>
  365. <if test="serviceRule != null">service_rule = #{serviceRule},</if>
  366. <if test="auditStatus != null">audit_status = #{auditStatus},</if>
  367. <if test="auditReason != null">audit_reason = #{auditReason},</if>
  368. <if test="createdTimeMs != null">created_time_ms = #{createdTimeMs},</if>
  369. <if test="createdTime != null">created_time = #{createdTime},</if>
  370. <if test="updateTimeMs != null">update_time_ms = #{updateTimeMs},</if>
  371. <if test="updateTime != null">update_time = #{updateTime},</if>
  372. <if test="onOfflineStatus != null">on_offline_status = #{onOfflineStatus},</if>
  373. <if test="parentCategoryList != null">parent_category_list = #{parentCategoryList},</if>
  374. <if test="itemPropValues != null">item_prop_values = #{itemPropValues},</if>
  375. <if test="expressTemplateId != null">express_template_id = #{expressTemplateId},</if>
  376. <if test="purchaseLimit != null">purchase_limit = #{purchaseLimit},</if>
  377. <if test="limitCount != null">limit_count = #{limitCount},</if>
  378. <if test="price != null">price = #{price},</if>
  379. <if test="linkUrl != null">link_url = #{linkUrl},</if>
  380. <if test="timeOfSale != null">time_of_sale = #{timeOfSale},</if>
  381. <if test="itemRemark != null">item_remark = #{itemRemark},</if>
  382. <if test="duplicationStatus != null">duplication_status = #{duplicationStatus},</if>
  383. <if test="duplicationReason != null">duplication_reason = #{duplicationReason},</if>
  384. <if test="multipleStock != null">multiple_stock = #{multipleStock},</if>
  385. <if test="poiIds != null">poi_ids = #{poiIds},</if>
  386. <if test="whiteBaseImageUrl != null">white_base_image_url = #{whiteBaseImageUrl},</if>
  387. <if test="transparentImageUrl != null">transparent_image_url = #{transparentImageUrl},</if>
  388. <if test="shortTitle != null">short_title = #{shortTitle},</if>
  389. <if test="sellingPoint != null">selling_point = #{sellingPoint},</if>
  390. <if test="instructions != null">instructions = #{instructions},</if>
  391. <if test="contractPhone != null">contract_phone = #{contractPhone},</if>
  392. <if test="offlineReason != null">offline_reason = #{offlineReason},</if>
  393. <if test="itemQualification != null">item_qualification = #{itemQualification},</if>
  394. <if test="spuId != null">spu_id = #{spuId},</if>
  395. </trim>
  396. where id = #{id}
  397. </update>
  398. <delete id="deleteById" parameterType="java.lang.Long">
  399. DELETE
  400. FROM kwaixiaodian_item_get
  401. WHERE id in
  402. <foreach item="id" collection="array" open="(" separator="," close=")">
  403. #{id}
  404. </foreach>
  405. </delete>
  406. <select id="checkItem" resultType="java.lang.Integer">
  407. SELECT COUNT(1)
  408. FROM kwaixiaodian_item_get
  409. WHERE company_id = #{companyId}
  410. AND item_id = #{itemId}
  411. </select>
  412. <select id="getItemList" resultType="com.ruixuan.isc.entity.KwaixiaodianItemGet">
  413. SELECT t1.id,
  414. t1.item_id,
  415. t1.item_type,
  416. t1.price,
  417. t1.user_id,
  418. t1.user_name,
  419. t1.courtship_purchase_id,
  420. t1.courtship_purchase_name,
  421. t1.shop_id,
  422. t1.shop_name,
  423. t1.company_id,
  424. t1.company_name,
  425. t1.leader_name,
  426. t1.rel_item_id,
  427. t1.category_id,
  428. t1.category_name,
  429. t1.parent_category_id,
  430. t1.parent_category_name,
  431. t1.root_category_Id,
  432. t1.root_category_name,
  433. t1.title,
  434. t1.details,
  435. t1.image_urls,
  436. t1.image_url,
  437. t1.detail_image_urls,
  438. t1.service_rule,
  439. t1.audit_status,
  440. t1.audit_reason,
  441. t1.created_time_ms,
  442. t1.created_time,
  443. t1.update_time_ms,
  444. t1.update_time,
  445. t1.on_offline_status,
  446. t1.parent_category_list,
  447. t1.item_prop_values,
  448. t1.express_template_id,
  449. t1.purchase_limit,
  450. t1.limit_count,
  451. t1.link_url,
  452. t1.time_of_sale,
  453. t1.item_remark,
  454. t1.duplication_status,
  455. t1.duplication_reason,
  456. t1.multiple_stock,
  457. t1.poi_ids,
  458. t1.white_base_image_url,
  459. t1.transparent_image_url,
  460. t1.short_title,
  461. t1.selling_point,
  462. t1.instructions,
  463. t1.contract_phone,
  464. t1.offline_reason,
  465. t1.item_qualification,
  466. t1.spu_id,
  467. date_format(t1.data_create_time,'%Y-%m-%d') as 'dataCreateTime',
  468. (
  469. select (case
  470. when min(sku_sale_price) = max(sku_sale_price)
  471. then concat(round(min(sku_sale_price) / 100, 2), '元')
  472. else concat(round(min(sku_sale_price) / 100, 2), '~', round(max(sku_sale_price) / 100, 2), '元')
  473. end
  474. )
  475. from kwaixiaodian_item_get_sku WHERE kwai_item_id = t1.item_id
  476. ) as 'skuPrice'
  477. from kwaixiaodian_item_get t1
  478. where 1 = 1
  479. <if test="companyId != null and companyId != ''">
  480. and t1.company_id = #{companyId}
  481. </if>
  482. <if test='userIds != null and userIds.size() > 0'>
  483. AND t1.user_id in
  484. <foreach collection="userIds" item="item" separator=","
  485. open="(" close=")">
  486. #{item}
  487. </foreach>
  488. </if>
  489. <if test='courtshipPurchaseIds != null and courtshipPurchaseIds.size() > 0'>
  490. AND t1.courtship_purchase_id in
  491. <foreach collection="courtshipPurchaseIds" item="item" separator=","
  492. open="(" close=")">
  493. #{item}
  494. </foreach>
  495. </if>
  496. <if test="itemId != null and itemId != ''">
  497. and t1.item_id = #{itemId}
  498. </if>
  499. <if test="itemType != null and itemType != ''">
  500. and t1.item_type = #{itemType}
  501. </if>
  502. <if test="title != null and title != ''">
  503. and t1.title like concat('%', #{title}, '%')
  504. </if>
  505. order by t1.data_create_time desc
  506. </select>
  507. <select id="getShopList" resultType="com.alibaba.fastjson.JSONObject" parameterType="java.lang.Long">
  508. SELECT id AS 'shopId', shop_name AS 'shopName'
  509. FROM kwaixiaodian_access_token
  510. WHERE
  511. 1 = 1
  512. <if test="companyId != null and companyId != ''">
  513. and company_id = #{companyId}
  514. </if>
  515. AND shop_status = 1
  516. ORDER BY create_time DESC
  517. </select>
  518. <select id="getDeptIds" resultType="java.lang.Long" parameterType="java.lang.String">
  519. SELECT dept_id
  520. FROM sys_dept
  521. WHERE substring_index(substring_index(ancestors, ',', 2), ',', -1) = #{companyId}
  522. </select>
  523. <select id="getCourtshipPurchaseIds" resultType="com.alibaba.fastjson.JSONObject">
  524. select t1.user_id as 'userId',t1.nick_name as 'userName'
  525. from sys_user t1
  526. left join sys_user_role t2 on t1.user_id = t2.user_id
  527. left join sys_role t3
  528. on t2.role_id = t3.role_id
  529. where t1.dept_id in
  530. <if test='ids != null and ids.size() > 0'>
  531. <foreach collection="ids" item="item" separator=","
  532. open="(" close=")">
  533. #{item}
  534. </foreach>
  535. </if>
  536. and t3.role_key in (
  537. 'industry_purchase',
  538. 'industry_courtship_manager',
  539. 'industry_courtship',
  540. 'industry_purchase_manager'
  541. )
  542. </select>
  543. <select id="selectKwaixiaodianItemGetById" resultType="com.ruixuan.isc.entity.KwaixiaodianItemGet"
  544. parameterType="java.lang.Long">
  545. <include refid="selectKwaixiaodianItemGetVo"/>
  546. where id = #{id}
  547. </select>
  548. <select id="getItemIdsByUserIds" resultType="java.lang.Long">
  549. select item_id from kwaixiaodian_item_get where
  550. 1 = 1
  551. and user_id in
  552. <foreach collection="userIds" item="userId" separator="," open="(" close=")">
  553. #{userId}
  554. </foreach>
  555. group by item_id
  556. </select>
  557. <select id="getCompanyList" resultType="com.alibaba.fastjson.JSONObject">
  558. SELECT company_id AS 'companyId', company_name AS 'companyName'
  559. FROM kwaixiaodian_access_token
  560. GROUP BY company_id
  561. ORDER BY company_id
  562. </select>
  563. <select id="getCourtshipPurchaseItemIdsByUserIds" resultType="java.lang.Long">
  564. select item_id from kwaixiaodian_item_get where
  565. 1 = 1
  566. and courtship_purchase_id in
  567. <foreach collection="courtshipPurchaseIds" item="userId" separator="," open="(" close=")">
  568. #{userId}
  569. </foreach>
  570. group by item_id
  571. </select>
  572. </mapper>