adminOrderMapper.xml 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC
  4. "-//mybatis.org//DTD Mapper 3.0//EN"
  5. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  6. <!-- 命名,每一个映射对象不一样
  7. namespace:必须与对应的接口全类名一致
  8. -->
  9. <mapper namespace="com.iamberry.wechat.service.mapper.AdminOrderMapper">
  10. <!-- 后台订单返利信息查询 -->
  11. <select id="selectOrderRebackByOrderId" parameterType="String" resultType="OrderRebackMoney">
  12. SELECT ( SELECT place_openid FROM tb_iamberry_place_info b WHERE b.place_id = a.logs_place_id
  13. ) name ,
  14. (SELECT place_username FROM tb_iamberry_place_info b WHERE b.place_id = a.logs_place_id
  15. ) account ,
  16. (
  17. SELECT role_name FROM tb_iamberry_place_role WHERE role_id = (
  18. SELECT Place_role_id FROM tb_iamberry_place_info b WHERE b.place_id = a.logs_place_id)
  19. ) role,
  20. logs_num money,logs_create_date TIME,logs_introduction remark FROM tb_iamberry_place_logs a WHERE logs_introduction LIKE CONCAT('%',#{orderId},'%')
  21. UNION ALL
  22. SELECT
  23. (SELECT b.user_openid
  24. FROM tb_iamberry_user_userinfo b WHERE b.user_openid = a.cash_logs_openid
  25. ) name,(SELECT b.user_nickname
  26. FROM tb_iamberry_user_userinfo b WHERE b.user_openid = a.cash_logs_openid
  27. ) account
  28. ,'微代理' role
  29. ,cash_logs_num money,cash_logs_create_date TIME,cash_logs_introduction remark FROM tb_iamberry_user_cash_logs a WHERE cash_logs_orderid =#{orderId}
  30. AND cash_logs_type = 1
  31. AND cash_logs_res_type = 4
  32. </select>
  33. <!-- 后台订单列表查询 -->
  34. <select id="selectShopOrder" parameterType="Order" resultType="Order">
  35. SELECT O.SALES_ORDERID salesOrderid, O.SALES_ADDRESS_NAME salesAddressName,
  36. U.USER_NICKNAME userNickname, O.SALES_ADDRESS_TEL salesAddressTel,
  37. O.SALES_AMOUNT salesAmount, O.SALES_RATE_AMOUNT salesRateAmount,
  38. O.SALES_INTEGRAL_NUM salesIntegralNum, O.SALES_YET_AMOUNT salesYetAmount,
  39. O.SALES_STATUS salesStatus, O.SALES_CREATE_DATE salesCreateDate,
  40. O.SALES_POST_NUM salesPostNum,O.SALES_POST_FIRM salesPostFirm,
  41. O.SALES_ADMIN_REMARK salesAdminRemark, O.SALES_COLOR_TYPE salesColorType,
  42. O.SALES_USER_REMARK salesUserRemark,O.SALES_IS_RFUND salesIsRfund,
  43. P.PLACE_NAME storesName,
  44. PP.PLACE_NAME vipName,
  45. PP.PLACE_ROLE_ID vipRole,
  46. PP.PLACE_OPENID placeOpenID,
  47. U.USER_RES_TYPE userResource,
  48. (SELECT IFNULL(SUM(reback_money),0) FROM tb_iamberry_reback WHERE reback_orderid = O.SALES_ORDERID and Reback_status = 2) placeId
  49. FROM
  50. TB_IAMBERRY_SHOP_SALES_ORDER O
  51. LEFT JOIN
  52. TB_IAMBERRY_USER_USERINFO U
  53. ON
  54. O.SALES_OPENID = U.USER_OPENID
  55. <!-- 根据用户信息中的dealers查询对应的关系 -->
  56. LEFT JOIN
  57. TB_IAMBERRY_DEALERS D
  58. ON
  59. U.USER_DEALERS = D.DEALER_ID
  60. <!-- 查询用户关系对应的商户 -->
  61. LEFT JOIN
  62. TB_IAMBERRY_PLACE_INFO P
  63. ON
  64. D.DEALER_ID = P.PLACE_PIDS
  65. <!-- 查询商户的上级,也就是门店 -->
  66. LEFT JOIN
  67. TB_IAMBERRY_PLACE_INFO PP
  68. ON
  69. P.PLACE_PID = PP.PLACE_ID
  70. WHERE
  71. O.SALES_ORDER_TYPE = 1
  72. <if test="salesStatus != null and salesStatus != -1">
  73. AND O.SALES_STATUS = #{salesStatus}
  74. </if>
  75. <if test="salesOrderid != null and salesOrderid!=''">
  76. AND O.SALES_ORDERID = #{salesOrderid}
  77. </if>
  78. ORDER BY O.SALES_CREATE_DATE DESC
  79. LIMIT ${page.recordBegin},${page.pageSize}
  80. </select>
  81. <!-- 根据订单号,获取订单所属人 -->
  82. <select id="selectSalesOpenIdByOrderId" parameterType="String" resultType="String">
  83. SELECT
  84. SALES_OPENID
  85. FROM
  86. TB_IAMBERRY_SHOP_SALES_ORDER
  87. WHERE
  88. SALES_ORDERID = #{orderId}
  89. LIMIT
  90. 0, 1
  91. </select>
  92. <select id="selectShopOrderByOrderId" parameterType="Order" resultType="Order">
  93. SELECT O.SALES_ORDERID salesOrderid, O.SALES_ADDRESS_NAME salesAddressName,
  94. U.USER_NICKNAME userNickname, O.SALES_ADDRESS_TEL salesAddressTel,
  95. O.SALES_AMOUNT salesAmount, O.SALES_RATE_AMOUNT salesRateAmount,
  96. O.SALES_INTEGRAL_NUM salesIntegralNum, O.SALES_YET_AMOUNT salesYetAmount,
  97. O.SALES_STATUS salesStatus, O.SALES_CREATE_DATE salesCreateDate,
  98. O.SALES_ADMIN_REMARK salesAdminRemark, O.SALES_COLOR_TYPE salesColorType,
  99. o.sales_post_num salesPostNum,o.sales_post_firm salesPostFirm,
  100. O.SALES_USER_REMARK salesUserRemark, O.SALES_IS_RFUND salesIsRfund
  101. FROM
  102. TB_IAMBERRY_SHOP_SALES_ORDER O LEFT JOIN TB_IAMBERRY_USER_USERINFO U
  103. ON O.SALES_OPENID = U.USER_OPENID
  104. <where>
  105. <if test="salesStatus != null and salesStatus != -1">
  106. O.SALES_STATUS = #{salesStatus}
  107. </if>
  108. <if test="salesOrderid != null and salesOrderid!=''">
  109. AND O.SALES_ORDERID LIKE CONCAT('%',#{salesOrderid},'%')
  110. </if>
  111. <if test="salesAddressName != null and salesAddressName != ''">
  112. AND O.SALES_ADDRESS_NAME LIKE CONCAT('%',#{salesAddressName},'%')
  113. </if>
  114. <if test="salesAddressTel != null and salesAddressTel != ''">
  115. AND O.SALES_ADDRESS_TEL LIKE CONCAT('%',#{salesAddressTel},'%')
  116. </if>
  117. <if test="salesAddressInfo != null and salesAddressInfo != ''">
  118. AND O.SALES_ADDRESS_INFO LIKE CONCAT('%',#{salesAddressInfo},'%')
  119. </if>
  120. <if test="beginDate != null">
  121. <![CDATA[AND DATE_FORMAT(O.SALES_CREATE_DATE, '%Y-%m-%d') >= ]]>DATE_FORMAT(#{beginDate},'%Y-%m-%d')
  122. </if>
  123. <if test="endDate != null">
  124. <![CDATA[AND DATE_FORMAT(O.SALES_CREATE_DATE, '%Y-%m-%d') <= ]]>DATE_FORMAT(#{endDate},'%Y-%m-%d')
  125. </if>
  126. </where>
  127. ORDER BY O.SALES_CREATE_DATE DESC
  128. LIMIT ${page.recordBegin},${page.pageSize}
  129. </select>
  130. <!-- 根据条件获取查询数量 -->
  131. <select id="selectShopOrderCount" parameterType="Order" resultType="int">
  132. SELECT
  133. COUNT(O.SALES_ORDERID)
  134. FROM
  135. TB_IAMBERRY_SHOP_SALES_ORDER O LEFT JOIN TB_IAMBERRY_USER_USERINFO U
  136. ON O.SALES_OPENID = U.USER_OPENID
  137. WHERE
  138. O.SALES_ORDER_TYPE = 1
  139. <if test="salesStatus != null and salesStatus != -1">
  140. AND O.SALES_STATUS = #{salesStatus}
  141. </if>
  142. <if test="salesOrderid != null and salesOrderid!=''">
  143. AND O.SALES_ORDERID LIKE CONCAT('%',#{salesOrderid},'%')
  144. </if>
  145. <if test="salesAddressName != null and salesAddressName != ''">
  146. AND O.SALES_ADDRESS_NAME LIKE CONCAT('%',#{salesAddressName},'%')
  147. </if>
  148. <if test="salesAddressTel != null and salesAddressTel != ''">
  149. AND O.SALES_ADDRESS_TEL LIKE CONCAT('%',#{salesAddressTel},'%')
  150. </if>
  151. <if test="salesAddressInfo != null and salesAddressInfo != ''">
  152. AND O.SALES_ADDRESS_INFO LIKE CONCAT('%',#{salesAddressInfo},'%')
  153. </if>
  154. <if test="beginDate != null">
  155. <![CDATA[AND DATE_FORMAT(O.SALES_CREATE_DATE, '%Y-%m-%d') >= ]]>DATE_FORMAT(#{beginDate},'%Y-%m-%d')
  156. </if>
  157. <if test="endDate != null">
  158. <![CDATA[AND DATE_FORMAT(O.SALES_CREATE_DATE, '%Y-%m-%d') <= ]]>DATE_FORMAT(#{endDate},'%Y-%m-%d')
  159. </if>
  160. </select>
  161. <!-- 根据orderId查询订单信息 -->
  162. <select id="getShopOrderByOrderId" parameterType="String" resultType="Order">
  163. SELECT O.SALES_ORDERID salesOrderid, U.USER_NICKNAME userNickname, O.SALES_STATUS salesStatus,
  164. O.SALES_YET_AMOUNT salesYetAmount, O.SALES_INTEGRAL_NUM salesIntegralNum, O.SALES_RATE_AMOUNT salesRateAmount,
  165. O.SALES_POST_FIRM salesPostFirm, O.SALES_POST_NUM salesPostNum, O.SALES_CREATE_DATE salesCreateDate,
  166. O.SALES_ADDRESS_POSTNUM salesAddressPostnum, O.SALES_REWARD_INTEGRAL_NUM salesRewardIntegralNum,
  167. O.SALES_ADDRESS_NAME salesAddressName, O.SALES_ADDRESS_TEL salesAddressTel, O.SALES_SEND_DATE salesSendDate,
  168. O.SALES_USER_REMARK salesUserRemark, O.SALES_COLOR_TYPE salesColorType, O.SALES_ADMIN_REMARK salesAdminRemark,
  169. O.SALES_RETURN_DES salesReturnDes, O.SALES_ADDRESS_INFO salesAddressInfo, O.SALES_RETURN_DATE salesReturnDate,
  170. O.SALES_AMOUNT salesAmount, O.SALES_TRANSACTION_DATE salesTransactionDate, O.SALES_OPENID salesOpenid,
  171. O.SALES_COUPON_RECEIVE_ID couponId, O.SALES_BALANCE_AMOUNT balancePayAmount, O.SALES_IS_RFUND salesIsRfund
  172. FROM
  173. TB_IAMBERRY_SHOP_SALES_ORDER O LEFT JOIN TB_IAMBERRY_USER_USERINFO U
  174. ON O.SALES_OPENID = U.USER_OPENID
  175. WHERE
  176. O.SALES_ORDERID = #{0}
  177. AND
  178. O.SALES_ORDER_TYPE = 1
  179. </select>
  180. <!-- 根据orderId获取订单项数据 -->
  181. <select id="getShopOrderItemByOrderId" parameterType="String" resultType="OrderItem">
  182. SELECT I.ITEM_PRODUCT_NAME itemProductName, I.ITEM_PRODUCT_PIC itemProductPic, I.ITEM_PRODUCT_PRICE itemProductPrice,
  183. I.ITEM_PRODUCT_DISCOUNT itemProductDiscount, I.ITEM_NUM itemNum, I.ITEM_TOTAL itemTotal, C.COLOR_NAME productColor,
  184. C.COLOR_69CODE produectRemark, I.ITEM_PRODUCT_TYPE itemProductType
  185. FROM
  186. TB_IAMBERRY_SHOP_ORDER_ITEM I LEFT JOIN TB_IAMBERRY_PRODUCT_INFO P
  187. ON I.ITEM_PRODUCT_ID = P.PRODUCT_ID
  188. LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR C ON I.ITEM_COLOR_ID = C.COLOR_ID
  189. WHERE
  190. ITEM_SALES_ORDERID = #{0}
  191. ORDER BY ITEM_ID DESC
  192. </select>
  193. <!-- 根据orderId查询订单状态 -->
  194. <select id="selectOrderStatusByOrderId" parameterType="String" resultType="Order">
  195. SELECT
  196. SALES_STATUS salesStatus, SALES_PROXY_REWARD salesProxyReward,
  197. SALES_POST_FIRM salesPostFirm, SALES_POST_NUM salesPostNum ,
  198. sales_openid salesOpenid, SALES_IS_RFUND salesIsRfund,
  199. SALES_YET_AMOUNT salesYetAmount, sales_return_des salesReturnDes,
  200. SALES_ADDRESS_INFO salesAddressInfo
  201. FROM
  202. TB_IAMBERRY_SHOP_SALES_ORDER
  203. WHERE
  204. SALES_ORDERID = #{salesOrderid}
  205. </select>
  206. <!-- 根据orderId修改订单状态 -->
  207. <update id="updateOrderStatusByOrderId" parameterType="Order">
  208. UPDATE
  209. TB_IAMBERRY_SHOP_SALES_ORDER
  210. SET
  211. <if test="salesChangeOrderid != null and salesChangeOrderid != ''">
  212. SALES_CHANGE_ORDERID = #{salesChangeOrderid},
  213. </if>
  214. <if test="salesAuditRemark != null and salesAuditRemark != ''">
  215. SALES_AUDIT_REMARK = #{salesAuditRemark},
  216. </if>
  217. SALES_STATUS = #{salesStatus}
  218. WHERE
  219. SALES_ORDERID = #{salesOrderid}
  220. AND
  221. SALES_STATUS = #{oldStatus}
  222. </update>
  223. <!-- 根据orderId修改订单状态 -->
  224. <update id="updateOrderStatusByOrderIdAndToStatus" parameterType="Order">
  225. UPDATE
  226. TB_IAMBERRY_SHOP_SALES_ORDER
  227. SET
  228. SALES_STATUS = #{salesStatus}
  229. WHERE
  230. SALES_ORDERID = #{salesOrderid} AND SALES_STATUS = #{salesOpenid}
  231. </update>
  232. <!-- 根据orderid添加发货信息并修改状态 -->
  233. <update id="deliverOrderByOrderId" parameterType="Order">
  234. UPDATE
  235. TB_IAMBERRY_SHOP_SALES_ORDER
  236. SET
  237. SALES_STATUS = #{salesStatus},
  238. SALES_POST_NUM = #{salesPostNum},
  239. SALES_POST_FIRM = #{salesPostFirm},
  240. SALES_SEND_DATE = NOW()
  241. WHERE
  242. SALES_ORDERID = #{salesOrderid}
  243. </update>
  244. <!-- 根据orderid添加发货信息并修改状态 -->
  245. <update id="updateOrderDeliver" parameterType="Order">
  246. UPDATE
  247. TB_IAMBERRY_SHOP_SALES_ORDER
  248. SET
  249. SALES_STATUS = #{salesStatus},
  250. SALES_POST_NUM = #{salesPostNum},
  251. SALES_POST_FIRM = #{salesPostFirm},
  252. SALES_SEND_DATE = NOW()
  253. WHERE
  254. SALES_ORDERID = #{salesOrderid}
  255. AND
  256. SALES_STATUS = #{oldStatus}
  257. </update>
  258. <!-- 修改订单的备注信息 -->
  259. <update id="updateOrderAdminRemarkByOrderId" parameterType="Order" >
  260. UPDATE
  261. TB_IAMBERRY_SHOP_SALES_ORDER
  262. <set>
  263. <if test="salesColorType != null and salesColorType != ''">
  264. SALES_COLOR_TYPE = #{salesColorType},
  265. </if>
  266. <if test="salesAdminRemark != null and salesAdminRemark != ''">
  267. SALES_ADMIN_REMARK = #{salesAdminRemark}
  268. </if>
  269. </set>
  270. WHERE
  271. SALES_ORDERID = #{salesOrderid}
  272. </update>
  273. <!-- 修改订单退款状态 -->
  274. <update id="updateOrderRfund" parameterType="Order" >
  275. UPDATE
  276. TB_IAMBERRY_SHOP_SALES_ORDER
  277. <set>
  278. <if test="salesIsRfund != null and salesIsRfund != ''">
  279. SALES_IS_RFUND = #{salesIsRfund}
  280. </if>
  281. </set>
  282. WHERE
  283. SALES_ORDERID = #{salesOrderid}
  284. </update>
  285. <!-- 查询订单中没有奖励积分的数据 -->
  286. <select id="selectOrderByIntegral" resultType="Order" resultMap="orderMap">
  287. SELECT
  288. O.SALES_ORDERID,
  289. O.SALES_OPENID,
  290. O.SALES_AMOUNT,
  291. O.SALES_REWARD_INTEGRAL_NUM
  292. FROM
  293. TB_IAMBERRY_SHOP_SALES_ORDER O
  294. WHERE
  295. O.SALES_PROXY_REWARD = 1
  296. AND
  297. <![CDATA[ TIMESTAMPDIFF(SECOND,O.SALES_SEND_DATE,NOW()) >= #{deadline} ]]>
  298. AND
  299. O.SALES_STATUS = 5
  300. ORDER BY O.SALES_SEND_DATE ASC
  301. LIMIT ${page.recordBegin},${page.pageSize}
  302. </select>
  303. <resultMap type="com.iamberry.wechat.core.entity.order.Order" id="orderMap">
  304. <id column="SALES_ORDERID" property="salesOrderid"/>
  305. <result column="SALES_OPENID" property="salesOpenid"/>
  306. <result column="SALES_AMOUNT" property="salesAmount"/>
  307. <result column="SALES_REWARD_INTEGRAL_NUM" property="salesRewardIntegralNum"/>
  308. <collection property="orderItemList" column="SALES_ORDERID" ofType="com.iamberry.wechat.core.entity.order.OrderItem" select="selectOrderItem"/>
  309. </resultMap>
  310. <!-- 查询订单的订单项 -->
  311. <select id="selectOrderItem" parameterType="String" resultType="com.iamberry.wechat.core.entity.order.OrderItem">
  312. SELECT I.ITEM_ID itemId,
  313. I.ITEM_SALES_ORDERID itemSalesOrderid, I.ITEM_PRODUCT_NAME itemProductName,
  314. I.ITEM_NUM itemNum, I.ITEM_PRODUCT_TYPE itemProductType
  315. FROM
  316. TB_IAMBERRY_SHOP_ORDER_ITEM I
  317. WHERE
  318. I.ITEM_SALES_ORDERID = #{itemSalesOrderid}
  319. ORDER BY I.ITEM_ID DESC
  320. </select>
  321. <!-- 通过openid查询用户购买商品的渠道 -->
  322. <select id="getUserByOpenId" parameterType="String" resultType="Member">
  323. SELECT
  324. USER_RES_TYPE userResType,
  325. USER_ID userId,
  326. USER_OPENID userOpenid,
  327. USER_INTEGRAL userIntegral,
  328. USER_INCOME userIncome,
  329. USER_DEALERS userDealers,
  330. USER_TEMPLATE_ID templateId,
  331. USER_SURPLUS_INTEGRAL userSurplusIntegral
  332. FROM
  333. TB_IAMBERRY_USER_USERINFO
  334. WHERE
  335. USER_OPENID = #{openId}
  336. </select>
  337. <!-- 根据推荐人id查询推荐人信息 -->
  338. <select id="getUserByUserRefereeid" parameterType="Integer" resultType="Member">
  339. SELECT
  340. USER_OPENID userOpenid,
  341. USER_INTEGRAL userIntegral,
  342. USER_INCOME userIncome,
  343. USER_SURPLUS_INTEGRAL userSurplusIntegral
  344. FROM
  345. TB_IAMBERRY_USER_USERINFO
  346. WHERE
  347. USER_ID = #{userId}
  348. </select>
  349. <!-- 根据userid修改会员表信息 -->
  350. <update id="updateUserByUserId" parameterType="Member">
  351. UPDATE
  352. TB_IAMBERRY_USER_USERINFO
  353. SET
  354. USER_INCOME =(USER_INCOME + #{userIncome})
  355. <where>
  356. <if test="userId != null and userId != ''">
  357. USER_ID = #{userId}
  358. </if>
  359. <if test="userOpenid != null and userOpenid != ''">
  360. AND USER_OPENID = #{userOpenid}
  361. </if>
  362. </where>
  363. </update>
  364. <update id="updatePlaceInfo" parameterType="PlaceInfo">
  365. update
  366. tb_iamberry_place_info
  367. SET
  368. PLACE_AMOUNT =(PLACE_AMOUNT + #{amount})
  369. WHERE
  370. PLACE_ID = #{id}
  371. AND
  372. <![CDATA[PLACE_AMOUNT + #{amount} >= 0]]>
  373. </update>
  374. <select id="getPlaceInfoByPlaceId" parameterType="integer" resultType="PlaceInfo">
  375. SELECT
  376. PLACE_ID id,
  377. PLACE_SUPPER_ID supperId,
  378. PLACE_NAME name,
  379. PLACE_ADDR addr,
  380. PLACE_USERNAME userName,
  381. PLACE_TEL tel,
  382. PLACE_AMOUNT amount,
  383. PLACE_CREATE_DATE createDate,
  384. PLACE_STATUS status,
  385. PLACE_OPENID openid,
  386. PLACE_ROLE_ID roleId,
  387. PLACE_PID placePid ,
  388. PLACE_INIT_CODE initCode
  389. FROM tb_iamberry_place_info WHERE place_id = #{appid}
  390. </select>
  391. <!-- 根据id查询系统规则表信息 -->
  392. <select id="getReluByRid" parameterType="Integer" resultType="ShopSystemRule">
  393. SELECT R_NUM ruleNum,r_desc ruleDesc, R_TYPE ruleType FROM TB_IAMBERRY_ADMIN_RELU WHERE R_ID = #{rId}
  394. </select>
  395. <!-- 根据类型查询系统推责表信息 -->
  396. <select id="getReluByRtype" parameterType="Integer" resultType="ShopSystemRule">
  397. SELECT R_NUM ruleNum FROM TB_IAMBERRY_ADMIN_RELU WHERE R_TYPE = #{ruleType}
  398. </select>
  399. <!-- 查询订单表中有多少是可以奖励积分的单的数量 -->
  400. <select id="getOrderNum" resultType="Integer" parameterType="Order">
  401. SELECT
  402. COUNT(SALES_ORDERID)
  403. FROM
  404. TB_IAMBERRY_SHOP_SALES_ORDER O
  405. WHERE
  406. O.SALES_PROXY_REWARD = 1
  407. AND
  408. <![CDATA[ TIMESTAMPDIFF(SECOND,O.SALES_SEND_DATE,NOW()) >= #{deadline} ]]>
  409. AND
  410. O.SALES_STATUS = 5
  411. ORDER BY O.SALES_SEND_DATE ASC
  412. </select>
  413. <!-- 对客户进行积分奖励 -->
  414. <update id="updateOrderIntegral" parameterType="String">
  415. UPDATE
  416. TB_IAMBERRY_SHOP_SALES_ORDER
  417. SET
  418. SALES_PROXY_REWARD = 2,
  419. SALES_STATUS = 12
  420. WHERE
  421. SALES_ORDERID = #{0}
  422. </update>
  423. <!-- 根据规定的订单关闭时间查询大于该时间且是待支付的订单 -->
  424. <select id="getOrderByCreateTime" resultType="Order" parameterType="Order">
  425. SELECT
  426. T.SALES_ORDERID salesOrderid,T.SALES_COUPON_RECEIVE_ID couponId,T.SALES_OPENID salesOpenid
  427. FROM
  428. TB_IAMBERRY_SHOP_SALES_ORDER T
  429. WHERE
  430. T.SALES_STATUS = 1
  431. AND
  432. <![CDATA[ TIMESTAMPDIFF(SECOND,T.SALES_CREATE_DATE,NOW()) >= #{deadline} ]]>
  433. </select>
  434. <!-- 根据规定的订单关闭时间查询大于该时间且是待支付的订单 -->
  435. <select id="getOrderByCreateTimeAndFiveMinutes" resultType="Order" parameterType="Order">
  436. SELECT
  437. T.SALES_ORDERID salesOrderid,T.SALES_OPENID salesOpenid ,
  438. T.SALES_CREATE_DATE salesCreateDate
  439. FROM
  440. TB_IAMBERRY_SHOP_SALES_ORDER T
  441. WHERE
  442. T.SALES_STATUS = 1
  443. AND
  444. <![CDATA[ #{deadline}-TIMESTAMPDIFF(SECOND,T.SALES_CREATE_DATE,NOW()) <= 900 ]]>
  445. </select>
  446. <!-- 根据orderId修改订单状态,关闭订单 -->
  447. <update id="updateOrderByOrderId" parameterType="java.util.List">
  448. UPDATE
  449. TB_IAMBERRY_SHOP_SALES_ORDER
  450. SET
  451. SALES_STATUS = 0
  452. WHERE
  453. SALES_ORDERID IN (
  454. <foreach collection="list" item="item" separator=",">
  455. #{item}
  456. </foreach>)
  457. </update>
  458. <!-- 获取某个订单的所有产品的总个数 -->
  459. <select id="getItemsNumByOrderId" parameterType="string" resultType="com.iamberry.wechat.core.entity.order.OrderItem">
  460. select
  461. sum(g.item_num) itemNum,
  462. c.color_69code produectRemark
  463. from
  464. tb_iamberry_shop_order_item g LEFT JOIN tb_iamberry_product_color c on g.item_color_id = c.color_id
  465. where
  466. g.item_sales_orderid=#{id}
  467. GROUP BY
  468. c.color_69code
  469. </select>
  470. <!-- 查询状态为待发货的所有订单号 -->
  471. <select id="getOrderList" resultType="Order" parameterType="Order">
  472. SELECT
  473. SALES_ORDERID salesOrderid
  474. FROM
  475. TB_IAMBERRY_SHOP_SALES_ORDER
  476. WHERE
  477. SALES_STATUS = #{salesStatus}
  478. </select>
  479. <!-- 批量修改订单状态 -->
  480. <update id="updateOrderListStatus" parameterType="java.util.List">
  481. <foreach collection="list" item="item" index="index" separator=";" open="" close="">
  482. UPDATE
  483. TB_IAMBERRY_SHOP_SALES_ORDER
  484. SET
  485. SALES_STATUS = 5,
  486. SALES_POST_NUM = #{item.salesPostNum,jdbcType=VARCHAR},
  487. SALES_POST_FIRM = #{item.salesPostFirm,jdbcType=VARCHAR},
  488. SALES_SEND_DATE = #{item.salesSendDate,javaType=DATE}
  489. WHERE
  490. SALES_ORDERID = #{item.salesOrderid,jdbcType=VARCHAR}
  491. </foreach>
  492. </update>
  493. <!-- 获取销售数量 -->
  494. <select id="getSalesVolumes" parameterType="Map" resultType="java.lang.Integer" >
  495. SELECT ifnull(SUM(TISOI.item_num),0)
  496. FROM tb_iamberry_shop_order_item TISOI
  497. LEFT JOIN tb_iamberry_shop_sales_order TISSO ON TISOI.item_sales_orderid = TISSO.sales_orderid
  498. where TISSO.sales_openid in (
  499. SELECT TIUU.user_openid
  500. FROM tb_iamberry_user_userinfo TIUU
  501. WHERE TIUU.user_dealers = #{userDealers}
  502. )
  503. AND TISOI.item_product_type IN
  504. <foreach collection="itemProductType" item="item" open="(" separator="," close=")">
  505. #{item}
  506. </foreach>
  507. AND TISSO.sales_status in (2,5,12)
  508. </select>
  509. <!-- 获取个人已购买的机器台数 -->
  510. <select id="getPersonalPurchase" parameterType="Map" resultType="java.lang.Integer" >
  511. SELECT ifnull(SUM(TISOI.item_num),0)
  512. FROM tb_iamberry_shop_order_item TISOI
  513. LEFT JOIN tb_iamberry_shop_sales_order TISSO ON TISOI.item_sales_orderid = TISSO.sales_orderid
  514. where TISSO.sales_openid = #{userOpenid}
  515. AND TISOI.item_product_type IN
  516. <foreach collection="itemProductType" item="item" open="(" separator="," close=")">
  517. #{item}
  518. </foreach>
  519. AND TISSO.sales_status in (2,5,12)
  520. </select>
  521. <!-- 获取个人消费的总额 -->
  522. <select id="getTotalConsume" parameterType="Map" resultType="java.lang.Integer" >
  523. SELECT ifnull(SUM(TISOI.item_total),0)
  524. FROM tb_iamberry_shop_order_item TISOI
  525. LEFT JOIN tb_iamberry_shop_sales_order TISSO ON TISOI.item_sales_orderid = TISSO.sales_orderid
  526. where TISSO.sales_openid = #{userOpenid}
  527. AND TISOI.item_product_type IN
  528. <foreach collection="itemProductType" item="item" open="(" separator="," close=")">
  529. #{item}
  530. </foreach>
  531. AND TISSO.sales_status in (2,5,12)
  532. </select>
  533. <!-- 获取已购买机器的总人数 -->
  534. <select id="getAlreadyNumber" parameterType="Member" resultType="java.lang.Integer" >
  535. SELECT COUNT(distinct TISSO.sales_openid)
  536. FROM tb_iamberry_shop_order_item TISOI
  537. LEFT JOIN tb_iamberry_shop_sales_order TISSO ON TISSO.sales_orderid = TISOI.item_sales_orderid
  538. LEFT JOIN tb_iamberry_user_userinfo TIUU ON TISSO.sales_openid = TIUU.user_openid
  539. WHERE TIUU.user_dealers = #{userDealers}
  540. AND TISOI.item_product_type IN
  541. <foreach collection="ids" item="item" open="(" separator="," close=")">
  542. #{item}
  543. </foreach>
  544. AND TISSO.sales_status in (2,5,12)
  545. </select>
  546. <!-- 获取已购机器台数 -->
  547. <select id="getUnitsNumber" parameterType="Member" resultType="java.lang.Integer" >
  548. SELECT ifnull(SUM(TISOI.item_num),0)
  549. FROM tb_iamberry_shop_order_item TISOI
  550. LEFT JOIN tb_iamberry_shop_sales_order TISSO ON TISSO.sales_orderid = TISOI.item_sales_orderid
  551. LEFT JOIN tb_iamberry_user_userinfo TIUU ON TISSO.sales_openid = TIUU.user_openid
  552. WHERE TIUU.user_dealers = #{userDealers}
  553. AND TISOI.item_product_type IN
  554. <foreach collection="ids" item="item" open="(" separator="," close=")">
  555. #{item}
  556. </foreach>
  557. AND TISSO.sales_status in (2,5,12)
  558. </select>
  559. <!-- 获取总的机器消费金额 -->
  560. <select id="getTotalAmount" parameterType="Member" resultType="java.lang.Integer" >
  561. SELECT ifnull(SUM(TISOI.item_total),0)
  562. FROM tb_iamberry_shop_order_item TISOI
  563. LEFT JOIN tb_iamberry_shop_sales_order TISSO ON TISSO.sales_orderid = TISOI.item_sales_orderid
  564. LEFT JOIN tb_iamberry_user_userinfo TIUU ON TISSO.sales_openid = TIUU.user_openid
  565. WHERE TIUU.user_dealers = #{userDealers}
  566. AND TISOI.item_product_type IN
  567. <foreach collection="ids" item="item" open="(" separator="," close=")">
  568. #{item}
  569. </foreach>
  570. AND TISSO.sales_status in (2,5,12)
  571. </select>
  572. <!-- 查询本周销售数量 -->
  573. <select id="listWeekNum" resultType="StatisticsSalesOrder">
  574. SELECT
  575. date_format(o.sales_create_date,'%Y-%m-%d') salesDate,
  576. SUM(CASE WHEN i.item_color_id = 41 OR i.item_color_id = 42 OR i.item_color_id = 37 OR i.item_color_id = 39 THEN i.item_num ELSE 0 END) salesNum,
  577. SUM(CASE WHEN i.item_color_id = 37 THEN i.item_num ELSE 0 END) salesRedNum,
  578. SUM(CASE WHEN i.item_color_id = 39 THEN i.item_num ELSE 0 END) salesBlackNum,
  579. SUM(CASE WHEN i.item_color_id = 41 OR i.item_color_id = 42 THEN i.item_num ELSE 0 END) salesBlueNum
  580. FROM
  581. tb_iamberry_shop_sales_order o
  582. LEFT JOIN tb_iamberry_shop_order_item i ON o.sales_orderid = i.item_sales_orderid
  583. WHERE
  584. YEARWEEK(date_format(o.sales_create_date,'%Y-%m-%d'),1) = YEARWEEK(now())
  585. AND
  586. o.sales_status in (2,5,12)
  587. GROUP BY
  588. salesDate
  589. </select>
  590. <!-- 查询上周销售数量 -->
  591. <select id="listLastWeekNum" resultType="StatisticsSalesOrder">
  592. SELECT
  593. date_format(o.sales_create_date,'%Y-%m-%d') salesDate,
  594. SUM(CASE WHEN i.item_color_id = 41 OR i.item_color_id = 42 OR i.item_color_id = 37 OR i.item_color_id = 39 THEN i.item_num ELSE 0 END) salesNum,
  595. SUM(CASE WHEN i.item_color_id = 37 THEN i.item_num ELSE 0 END) salesRedNum,
  596. SUM(CASE WHEN i.item_color_id = 39 THEN i.item_num ELSE 0 END) salesBlackNum,
  597. SUM(CASE WHEN i.item_color_id = 41 OR i.item_color_id = 42 THEN i.item_num ELSE 0 END) salesBlueNum
  598. FROM
  599. tb_iamberry_shop_sales_order o
  600. LEFT JOIN tb_iamberry_shop_order_item i ON o.sales_orderid = i.item_sales_orderid
  601. WHERE
  602. YEARWEEK(date_format(o.sales_create_date,'%Y-%m-%d'),1) = YEARWEEK(now())-1
  603. AND
  604. o.sales_status in (2,5,12)
  605. GROUP BY
  606. salesDate
  607. </select>
  608. <!-- 按月查询销售数量 -->
  609. <select id="listMonthNum" parameterType="StatisticsSalesOrder" resultType="StatisticsSalesOrder">
  610. SELECT
  611. date_format(o.sales_create_date,'%Y-%m-%d') salesDate,
  612. SUM(CASE WHEN i.item_color_id = 41 OR i.item_color_id = 42 OR i.item_color_id = 37 OR i.item_color_id = 39 THEN i.item_num ELSE 0 END) salesNum,
  613. SUM(CASE WHEN i.item_color_id = 37 THEN i.item_num ELSE 0 END) salesRedNum,
  614. SUM(CASE WHEN i.item_color_id = 39 THEN i.item_num ELSE 0 END) salesBlackNum,
  615. SUM(CASE WHEN i.item_color_id = 41 OR i.item_color_id = 42 THEN i.item_num ELSE 0 END) salesBlueNum
  616. FROM
  617. tb_iamberry_shop_sales_order o
  618. LEFT JOIN tb_iamberry_shop_order_item i ON o.sales_orderid = i.item_sales_orderid
  619. WHERE
  620. date_format(o.sales_create_date,'%Y-%m') = date_format(#{salesDate},'%Y-%m')
  621. AND
  622. o.sales_status in (2,5,12)
  623. GROUP BY
  624. salesDate
  625. </select>
  626. <!-- 按年查询销售数量 -->
  627. <select id="listYearNum" parameterType="StatisticsSalesOrder" resultType="StatisticsSalesOrder">
  628. SELECT
  629. date_format(o.sales_create_date,'%m') salesMonth,
  630. SUM(CASE WHEN i.item_color_id = 41 OR i.item_color_id = 42 OR i.item_color_id = 37 OR i.item_color_id = 39 THEN i.item_num ELSE 0 END) salesNum,
  631. SUM(CASE WHEN i.item_color_id = 37 THEN i.item_num ELSE 0 END) salesRedNum,
  632. SUM(CASE WHEN i.item_color_id = 39 THEN i.item_num ELSE 0 END) salesBlackNum,
  633. SUM(CASE WHEN i.item_color_id = 41 OR i.item_color_id = 42 THEN i.item_num ELSE 0 END) salesBlueNum
  634. FROM
  635. tb_iamberry_shop_sales_order o
  636. LEFT JOIN tb_iamberry_shop_order_item i ON o.sales_orderid = i.item_sales_orderid
  637. WHERE
  638. date_format(o.sales_create_date,'%Y') = date_format('2017-09-19','%Y')
  639. AND
  640. o.sales_status in (2,5,12)
  641. GROUP BY
  642. date_format(o.sales_create_date,'%Y-%m')
  643. </select>
  644. </mapper>