adminOrderMapper.xml 26 KB

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