Browse Source

Merge remote-tracking branch 'origin/master'

master
djz236@163.com 1 year ago
parent
commit
c3c09149dd
  1. 30
      docs/databases/table_create-vege.sql
  2. 1207
      docs/databases/yxt_lpk_yythmall-pms-20240120150330.sql
  3. 371
      docs/databases/将卡中数据导入到账户中.sql
  4. 158
      docs/databases/将卡中数据导入到账户中20240123.sql
  5. 67331
      docs/databases/数据备份/yxt_lpk_yyth-全部-20240121162617.sql
  6. 62
      docs/databases/菜窖明细.sql
  7. 41
      src/main/java/com/yxt/yythmall/adminapi/AdminBankRest.java
  8. 28
      src/main/java/com/yxt/yythmall/adminapi/AdminReserveRest.java
  9. 6
      src/main/java/com/yxt/yythmall/api/appletgiftbag/AppletGiftBagVo.java
  10. 4
      src/main/java/com/yxt/yythmall/api/appletgiftbag/GiftBagGoodss.java
  11. 2
      src/main/java/com/yxt/yythmall/api/appletgiftbag/RecommendRecord.java
  12. 2
      src/main/java/com/yxt/yythmall/api/lpkreserveorder/LpkReserveOrder.java
  13. 1
      src/main/java/com/yxt/yythmall/api/lpkreserveorder/LpkReserveOrderQuery.java
  14. 2
      src/main/java/com/yxt/yythmall/api/lpkreserveordergoods/LpkReserveOrderGoods.java
  15. 2
      src/main/java/com/yxt/yythmall/api/newcomerrecorecord/NewcomerRecoRecordDto.java
  16. 6
      src/main/java/com/yxt/yythmall/api/ordorder/OrdOrder.java
  17. 16
      src/main/java/com/yxt/yythmall/api/ordorder/OrdOrderDto.java
  18. 3
      src/main/java/com/yxt/yythmall/api/ordorder/OrdOrderQuery.java
  19. 15
      src/main/java/com/yxt/yythmall/api/ordorder/OrdOrderVo.java
  20. 15
      src/main/java/com/yxt/yythmall/api/ordorderdetails/OrdOrderDetail.java
  21. 12
      src/main/java/com/yxt/yythmall/api/ordorderdetails/OrdOrderDetailVo.java
  22. 35
      src/main/java/com/yxt/yythmall/api/recommendnewuserbag/RecommendNewUserBag.java
  23. 27
      src/main/java/com/yxt/yythmall/api/recommendnewuserbag/RecommendNewUserBagDetailVo.java
  24. 31
      src/main/java/com/yxt/yythmall/api/recommendnewuserbag/RecommendNewUserBagDto.java
  25. 28
      src/main/java/com/yxt/yythmall/api/recommendnewuserbag/RecommendNewUserBagInitVo.java
  26. 15
      src/main/java/com/yxt/yythmall/api/recommendnewuserbag/RecommendNewUserBagQuery.java
  27. 45
      src/main/java/com/yxt/yythmall/api/recommendnewuserbag/RecommendNewUserBagVo.java
  28. 29
      src/main/java/com/yxt/yythmall/api/recommendnewuserbagdetails/RecommendNewUserBagDetails.java
  29. 14
      src/main/java/com/yxt/yythmall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsDto.java
  30. 15
      src/main/java/com/yxt/yythmall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsQuery.java
  31. 23
      src/main/java/com/yxt/yythmall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsVo.java
  32. 1
      src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartVo.java
  33. 2
      src/main/java/com/yxt/yythmall/api/transferrecords/TransferRecords.java
  34. 1
      src/main/java/com/yxt/yythmall/api/transferrecords/TransferRecordsDto.java
  35. 2
      src/main/java/com/yxt/yythmall/api/transferrecords/TransferRecordsVo.java
  36. 3
      src/main/java/com/yxt/yythmall/biz/appletgiftbag/AppletGiftBagMapper.java
  37. 36
      src/main/java/com/yxt/yythmall/biz/appletgiftbag/AppletGiftBagMapper.xml
  38. 2
      src/main/java/com/yxt/yythmall/biz/appletgiftbag/AppletGiftBagRest.java
  39. 34
      src/main/java/com/yxt/yythmall/biz/appletgiftbag/AppletGiftBagService.java
  40. 2
      src/main/java/com/yxt/yythmall/biz/customerstore/CustomerStoreService.java
  41. 19
      src/main/java/com/yxt/yythmall/biz/empcard/EmpCardMapper.xml
  42. 2
      src/main/java/com/yxt/yythmall/biz/empcard/EmpCardService.java
  43. 8
      src/main/java/com/yxt/yythmall/biz/empcardgift/EmpCardGiftMapper.xml
  44. 5
      src/main/java/com/yxt/yythmall/biz/empcardgift/EmpCardGiftService.java
  45. 4
      src/main/java/com/yxt/yythmall/biz/lpkbank/LpkBankService.java
  46. 4
      src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerService.java
  47. 21
      src/main/java/com/yxt/yythmall/biz/lpkgiftcard/LpkGiftCardMapper.xml
  48. 5
      src/main/java/com/yxt/yythmall/biz/lpkgiftcard/LpkGiftCardService.java
  49. 6
      src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsMapper.xml
  50. 18
      src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsService.java
  51. 6
      src/main/java/com/yxt/yythmall/biz/lpkreserveorder/LpkReserveOrderMapper.java
  52. 440
      src/main/java/com/yxt/yythmall/biz/lpkreserveorder/LpkReserveOrderMapper.xml
  53. 36
      src/main/java/com/yxt/yythmall/biz/lpkreserveorder/LpkReserveOrderService.java
  54. 56
      src/main/java/com/yxt/yythmall/biz/lpkreserveordergoods/LpkReserveOrderGoodsService.java
  55. 12
      src/main/java/com/yxt/yythmall/biz/lpkstore/LpkStoreService.java
  56. 2
      src/main/java/com/yxt/yythmall/biz/newcomerrecorecord/NewcomerRecoRecordMapper.java
  57. 12
      src/main/java/com/yxt/yythmall/biz/newcomerrecorecord/NewcomerRecoRecordRest.java
  58. 58
      src/main/java/com/yxt/yythmall/biz/newcomerrecorecord/NewcomerRecoRecordService.java
  59. 11
      src/main/java/com/yxt/yythmall/biz/ordorder/OrdOrderMapper.java
  60. 110
      src/main/java/com/yxt/yythmall/biz/ordorder/OrdOrderMapper.xml
  61. 27
      src/main/java/com/yxt/yythmall/biz/ordorder/OrdOrderRest.java
  62. 289
      src/main/java/com/yxt/yythmall/biz/ordorder/OrdOrderService.java
  63. 29
      src/main/java/com/yxt/yythmall/biz/recommendnewuserbag/RecommendNewUserBagMapper.java
  64. 62
      src/main/java/com/yxt/yythmall/biz/recommendnewuserbag/RecommendNewUserBagMapper.xml
  65. 79
      src/main/java/com/yxt/yythmall/biz/recommendnewuserbag/RecommendNewUserBagRest.java
  66. 302
      src/main/java/com/yxt/yythmall/biz/recommendnewuserbag/RecommendNewUserBagService.java
  67. 36
      src/main/java/com/yxt/yythmall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsMapper.java
  68. 24
      src/main/java/com/yxt/yythmall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsMapper.xml
  69. 24
      src/main/java/com/yxt/yythmall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsRest.java
  70. 40
      src/main/java/com/yxt/yythmall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsService.java
  71. 93
      src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartService.java
  72. 3
      src/main/java/com/yxt/yythmall/biz/transferrecords/TransferRecordsMapper.java
  73. 61
      src/main/java/com/yxt/yythmall/biz/transferrecords/TransferRecordsMapper.xml
  74. 26
      src/main/java/com/yxt/yythmall/biz/transferrecords/TransferRecordsService.java
  75. 2
      src/main/java/com/yxt/yythmall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsMapper.java
  76. 2
      src/main/java/com/yxt/yythmall/biz/vegecallerreservedetail/VegeCellarReserveDetailsRest.java
  77. 37
      src/main/java/com/yxt/yythmall/biz/vegecallerreserveorder/ReserveOrderVo.java
  78. 7
      src/main/java/com/yxt/yythmall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.java
  79. 32
      src/main/java/com/yxt/yythmall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.xml
  80. 66
      src/main/java/com/yxt/yythmall/biz/vegecallerreserveorder/VegeCellarReserveOrderService.java
  81. 12
      src/main/java/com/yxt/yythmall/biz/vegereplenish/VegeReplenishService.java
  82. 2
      src/main/java/com/yxt/yythmall/biz/vegetablecellar/VegetableCellarRest.java
  83. 26
      src/main/java/com/yxt/yythmall/biz/vegetablecellar/VegetableCellarService.java
  84. 10
      src/main/java/com/yxt/yythmall/config/SaTokenConfigure.java
  85. 2
      src/main/resources/application-pro.yml

30
docs/databases/table_create-vege.sql

@ -0,0 +1,30 @@
DROP TABLE IF EXISTS `vege_replenish`;
CREATE TABLE `vege_replenish` (
`id` BIGINT(32) NOT NULL AUTO_INCREMENT COMMENT 'ID,唯一编号',
`sid` VARCHAR(64) NOT NULL COMMENT 'sid',
`createTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
`remarks` VARCHAR(255) NULL DEFAULT NULL COMMENT '备注信息',
`cardCode` VARCHAR(255) NULL DEFAULT NULL COMMENT '卡编码,个人卡、企业卡是卡编码,转赠记录的是转赠编码',
`customerSid` VARCHAR(100) NULL DEFAULT NULL COMMENT '绑卡人',
`cardtype` VARCHAR(255) NULL DEFAULT 0 COMMENT '0 个人卡 1 企业卡 2 转赠的',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB COMMENT='绑卡记录';
DROP TABLE IF EXISTS `vege_replenish_detail`;
CREATE TABLE `vege_replenish_detail` (
`id` BIGINT(32) NOT NULL AUTO_INCREMENT COMMENT 'ID,唯一编号',
`sid` VARCHAR(64) NOT NULL COMMENT 'sid',
`createTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
`remarks` VARCHAR(255) NULL DEFAULT NULL COMMENT '备注信息',
`orderSid` VARCHAR(100) NULL DEFAULT NULL COMMENT '订单SID',
`goodsSid` VARCHAR(100) NULL DEFAULT NULL COMMENT '商品Sid',
`goodsName` VARCHAR(100) NULL DEFAULT NULL COMMENT '商品名称',
`goodsNumber` INT(10) NULL DEFAULT '1' COMMENT '商品数量',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB COMMENT='绑卡记录商品信息';

1207
docs/databases/yxt_lpk_yythmall-pms-20240120150330.sql

File diff suppressed because one or more lines are too long

371
docs/databases/将卡中数据导入到账户中.sql

@ -0,0 +1,371 @@
-- 个人卡
CREATE TABLE tmp_cust_goods(
SELECT
r.wxMpOpenid,
d.customerSid,
d.bindDate,
d.giftbagSid,
d.serialNumber,
d.code,
s.goodsSid,
s.goodsNumber,
e.NAME AS goodsName,
'个人卡' cardtype
FROM lpk_giftcard d
LEFT JOIN lpk_customer r ON r.sid = d.customerSid
LEFT JOIN lpk_giftbag_goods s ON s.giftbagSid=d.giftbagSid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE d.customerSid IS NOT NULL AND d.customerSid <> ''
ORDER BY r.wxMpOpenid
);
-- 企业卡
INSERT INTO tmp_cust_goods
SELECT
r.wxMpOpenid,
d.customerSid,
d.bindDate,
d.giftbagSid,
d.serialNumber,
d.code,
s.goodsSid,
s.goodsNumber,
e.NAME AS goodsName,
'企业卡' cardtype
FROM emp_card d
LEFT JOIN lpk_customer r ON r.sid = d.customerSid
LEFT JOIN lpk_giftbag_goods s ON s.giftbagSid=d.giftbagSid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE d.customerSid IS NOT NULL AND d.customerSid <> ''
ORDER BY r.wxMpOpenid;
-- 购买卡
INSERT INTO tmp_cust_goods
SELECT
r.wxMpOpenid,
d.customerSid,
d.bindDate,
d.sid,
d.serialNumber,
d.code,
s.goodsSid,
s.goodsNumber,
e.NAME AS goodsName,
'购买卡' cardtype
FROM emp_card_gift d
LEFT JOIN lpk_customer r ON r.sid = d.customerSid
LEFT JOIN emp_card_gift_goods s ON s.empCardGiftSid=d.sid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE d.customerSid IS NOT NULL AND d.customerSid <> '' AND d.isSenior = '1'
ORDER BY r.wxMpOpenid;
-- 转赠卡
INSERT INTO tmp_cust_goods
SELECT
r.wxMpOpenid,
d.customerSid,
d.bindDate,
d.sid,
d.serialNumber,
d.code,
s.goodsSid,
s.goodsNumber,
e.NAME AS goodsName,
'转赠卡' cardtype
FROM emp_card_gift d
LEFT JOIN lpk_customer r ON r.sid = d.customerSid
LEFT JOIN emp_card_gift_goods s ON s.empCardGiftSid=d.sid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE d.customerSid IS NOT NULL AND d.customerSid <> '' AND d.isSenior = '2'
ORDER BY r.wxMpOpenid;
-- 预约提货,数量为负值
INSERT INTO tmp_cust_goods
SELECT
r.wxMpOpenid,
d.customerSid,
d.reserveDate,
d.sid,
d.storeSid,
d.cardCode,
s.goodsSid,
-s.goodsNumber AS goodsNumber,
e.NAME AS goodsName,
d.cardType cardtype
FROM lpk_reserve_order d
LEFT JOIN lpk_customer r ON r.sid = d.customerSid
LEFT JOIN lpk_reserve_order_goods s ON s.orderSid=d.sid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE 1=1
ORDER BY r.wxMpOpenid;
-- 赠出的卡,数量为负值
INSERT INTO tmp_cust_goods
SELECT
r.wxMpOpenid,
d.empCardCustomerSid,
d.grantDate,
d.sid,
d.serialNumber,
d.code,
s.goodsSid,
-s.goodsNumber AS goodsNumber,
e.NAME AS goodsName,
'赠出' cardtype
FROM emp_card_gift d
LEFT JOIN lpk_customer r ON r.sid = d.empCardCustomerSid
LEFT JOIN emp_card_gift_goods s ON s.empCardGiftSid=d.sid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE d.empCardCustomerSid IS NOT NULL AND d.empCardCustomerSid <> '' AND d.isSenior = '2'
ORDER BY r.wxMpOpenid;
select * from tmp_cust_goods;
-- 统计
INSERT INTO vegetable_cellar(sid,customerSid,goodsSid,goodsNumber)
SELECT
UUID(),
customerSid,
goodsSid,
SUM(goodsNumber) AS goodsNumber
FROM tmp_cust_goods
GROUP BY customerSid,goodsSid
HAVING goodsNumber>0
update vegetable_cellar vc set affiliation=(select brandId from lpk_goods lg where vc.goodsSid=lg.sid) where 1=1
:
000142
:
SELECT * FROM lpk_customer WHERE nick LIKE '小主%'
SELECT * FROM lpk_customer WHERE nick IS NOT NULL
UPDATE lpk_customer set nick=REPLACE(nick,'小主','惠享客户') WHERE nick LIKE '小主%'
SELECT * FROM lpk_goods WHERE sid='ac146c0f-9002-4203-8f59-ff7c46d3159c'
SELECT * FROM lpk_goods WHERE sid IN (
SELECT goodsSid FROM vegetable_cellar WHERE affiliation IS NULL GROUP BY goodsSid
)
SELECT * FROM lpk_giftcard WHERE serialNumber='00000010'
SELECT * FROM lpk_customer WHERE sid='e0f2b745-8055-48bc-a506-ff09dd82ddb5'
SELECT * FROM lpk_giftbag WHERE sid='8e667618-63de-480c-ad1e-2747b76aa99b'
SELECT * FROM lpk_giftbag_goods lgg
LEFT join lpk_goods lg on lg.sid=lgg.goodsSid
WHERE lgg.giftbagSid='8e667618-63de-480c-ad1e-2747b76aa99b'
SELECT * FROM lpk_giftcard WHERE serialNumber in(
'00000001',
'00000002',
'00000003',
'00000004',
'00000005',
'00000006',
'00000007',
'00000008',
'00000009',
'00000010',
'00000011',
'00000012',
'00000013',
'00000014',
'00000015',
'00000016',
'00000017',
'00000018',
'00000019',
'00000020'
)
SELECT
r.wxMpOpenid,
serialNumber,customerSid,giftbagSid
FROM lpk_giftcard lg
LEFT JOIN lpk_customer r ON r.sid = lg.customerSid
WHERE serialNumber in(
'00000001',
'00000002',
'00000003',
'00000004',
'00000005',
'00000006',
'00000007',
'00000008',
'00000009',
'00000010',
'00000011',
'00000012',
'00000013',
'00000014',
'00000015',
'00000016',
'00000017',
'00000018',
'00000019',
'00000020'
)
"wxMpOpenid" "serialNumber" "customerSid" "giftbagSid"
"o81zC6xQKV_Rau7cntsaUwOkf9NM" "00000013" "c89f8631-e401-4010-a223-0caf3fabd5c6" "8e667618-63de-480c-ad1e-2747b76aa99b"
"o81zC6xQKV_Rau7cntsaUwOkf9NM" "00000015" "c89f8631-e401-4010-a223-0caf3fabd5c6" "8e667618-63de-480c-ad1e-2747b76aa99b"
"o81zC65z6tNd5L6ximemKJKBc-4w" "00000010" "e0f2b745-8055-48bc-a506-ff09dd82ddb5" "8e667618-63de-480c-ad1e-2747b76aa99b"
"o81zC610j5hKap2qQL_IxskermLY" "00000006" "a43573f1-e94f-455c-ad5d-3979bf56864e" "8e667618-63de-480c-ad1e-2747b76aa99b"
"o81zC610j5hKap2qQL_IxskermLY" "00000008" "a43573f1-e94f-455c-ad5d-3979bf56864e" "8e667618-63de-480c-ad1e-2747b76aa99b"
"o81zC6xZjXUAHJqbEkeHtec2vPPo" "00000001" "e157745c-856a-472d-a81e-2975312bf171" "8e667618-63de-480c-ad1e-2747b76aa99b"
"o81zC60V3ymrfjgK-BifvcyWfJBo" "00000014" "05ba58d6-f1f0-4f68-9bcc-62ceeaf4c088" "8e667618-63de-480c-ad1e-2747b76aa99b"
"o81zC6xfASEwu63AUvjeeJ6_t4oU" "00000002" "e569243c-1830-4316-8b4e-d4568b5a151d" "8e667618-63de-480c-ad1e-2747b76aa99b"
\N "00000003" "" "8e667618-63de-480c-ad1e-2747b76aa99b"
\N "00000004" "" "8e667618-63de-480c-ad1e-2747b76aa99b"
\N "00000005" "" "8e667618-63de-480c-ad1e-2747b76aa99b"
\N "00000007" "" "8e667618-63de-480c-ad1e-2747b76aa99b"
\N "00000009" "" "8e667618-63de-480c-ad1e-2747b76aa99b"
\N "00000011" "" "8e667618-63de-480c-ad1e-2747b76aa99b"
\N "00000012" "" "8e667618-63de-480c-ad1e-2747b76aa99b"
"serialNumber" "customerSid" "giftbagSid"
"00000001" "e157745c-856a-472d-a81e-2975312bf171" "8e667618-63de-480c-ad1e-2747b76aa99b"
"00000002" "e569243c-1830-4316-8b4e-d4568b5a151d" "8e667618-63de-480c-ad1e-2747b76aa99b"
"00000006" "a43573f1-e94f-455c-ad5d-3979bf56864e" "8e667618-63de-480c-ad1e-2747b76aa99b"
"00000008" "a43573f1-e94f-455c-ad5d-3979bf56864e" "8e667618-63de-480c-ad1e-2747b76aa99b"
"00000010" "e0f2b745-8055-48bc-a506-ff09dd82ddb5" "8e667618-63de-480c-ad1e-2747b76aa99b"
"00000013" "c89f8631-e401-4010-a223-0caf3fabd5c6" "8e667618-63de-480c-ad1e-2747b76aa99b"
"00000014" "05ba58d6-f1f0-4f68-9bcc-62ceeaf4c088" "8e667618-63de-480c-ad1e-2747b76aa99b"
"00000015" "c89f8631-e401-4010-a223-0caf3fabd5c6" "8e667618-63de-480c-ad1e-2747b76aa99b"
SELECT COUNT(1) FROM vegetable_cellar; -- 970
select * from vegetable_cellar where customerSid='a43573f1-e94f-455c-ad5d-3979bf56864e'; -- 14
delete FROM vegetable_cellar where customerSid='a43573f1-e94f-455c-ad5d-3979bf56864e';
SELECT * FROM tmp_cust_goods WHERE customerSid='a43573f1-e94f-455c-ad5d-3979bf56864e';
INSERT INTO vegetable_cellar(sid,customerSid,goodsSid,goodsNumber)
SELECT
UUID(),
customerSid,
goodsSid,
SUM(goodsNumber) AS goodsNumber
FROM tmp_cust_goods
where customerSid='a43573f1-e94f-455c-ad5d-3979bf56864e' and serialNumber not in ('00000006','00000008')
GROUP BY customerSid,goodsSid
HAVING goodsNumber>0
SELECT COUNT(1) FROM vegetable_cellar; -- 970
select * from vegetable_cellar where customerSid='c89f8631-e401-4010-a223-0caf3fabd5c6'; -- 17
delete FROM vegetable_cellar where customerSid='c89f8631-e401-4010-a223-0caf3fabd5c6';
SELECT * FROM tmp_cust_goods WHERE customerSid='c89f8631-e401-4010-a223-0caf3fabd5c6';
INSERT INTO vegetable_cellar(sid,customerSid,goodsSid,goodsNumber)
SELECT
UUID(),
customerSid,
goodsSid,
SUM(goodsNumber) AS goodsNumber
FROM tmp_cust_goods
where customerSid='c89f8631-e401-4010-a223-0caf3fabd5c6' and serialNumber not in ('00000013','00000015')
GROUP BY customerSid,goodsSid
HAVING goodsNumber>0
SELECT COUNT(1) FROM vegetable_cellar; -- 958
select * from vegetable_cellar where customerSid='05ba58d6-f1f0-4f68-9bcc-62ceeaf4c088'; -- 14
delete FROM vegetable_cellar where customerSid='05ba58d6-f1f0-4f68-9bcc-62ceeaf4c088';
SELECT * FROM tmp_cust_goods WHERE customerSid='05ba58d6-f1f0-4f68-9bcc-62ceeaf4c088';
INSERT INTO vegetable_cellar(sid,customerSid,goodsSid,goodsNumber)
SELECT
UUID(),
customerSid,
goodsSid,
SUM(goodsNumber) AS goodsNumber
FROM tmp_cust_goods
where customerSid='05ba58d6-f1f0-4f68-9bcc-62ceeaf4c088' and serialNumber not in ('00000014')
GROUP BY customerSid,goodsSid
HAVING goodsNumber>0
delete FROM vegetable_cellar where customerSid='e157745c-856a-472d-a81e-2975312bf171';
INSERT INTO vegetable_cellar(sid,customerSid,goodsSid,goodsNumber)
SELECT
UUID(),
customerSid,
goodsSid,
SUM(goodsNumber) AS goodsNumber
FROM tmp_cust_goods
where customerSid='e157745c-856a-472d-a81e-2975312bf171' and serialNumber not in ('00000001')
GROUP BY customerSid,goodsSid
HAVING goodsNumber>0
delete FROM vegetable_cellar where customerSid='e569243c-1830-4316-8b4e-d4568b5a151d';
INSERT INTO vegetable_cellar(sid,customerSid,goodsSid,goodsNumber)
SELECT
UUID(),
customerSid,
goodsSid,
SUM(goodsNumber) AS goodsNumber
FROM tmp_cust_goods
where customerSid='e569243c-1830-4316-8b4e-d4568b5a151d' and serialNumber not in ('00000002')
GROUP BY customerSid,goodsSid
HAVING goodsNumber>0
delete FROM vegetable_cellar where customerSid='e0f2b745-8055-48bc-a506-ff09dd82ddb5';
INSERT INTO vegetable_cellar(sid,customerSid,goodsSid,goodsNumber)
SELECT
UUID(),
customerSid,
goodsSid,
SUM(goodsNumber) AS goodsNumber
FROM tmp_cust_goods
where customerSid='e0f2b745-8055-48bc-a506-ff09dd82ddb5' and serialNumber not in ('00000010')
GROUP BY customerSid,goodsSid
HAVING goodsNumber>0

158
docs/databases/将卡中数据导入到账户中20240123.sql

@ -0,0 +1,158 @@
-- 个人卡
CREATE TABLE tmp_cust_goods(
SELECT
r.wxMpOpenid,
d.customerSid,
d.bindDate,
d.giftbagSid,
d.serialNumber,
d.code,
s.goodsSid,
s.goodsNumber,
e.NAME AS goodsName,
'个人卡' cardtype
FROM lpk_giftcard d
LEFT JOIN lpk_customer r ON r.sid = d.customerSid
LEFT JOIN lpk_giftbag_goods s ON s.giftbagSid=d.giftbagSid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE d.customerSid IS NOT NULL AND d.customerSid <> ''
ORDER BY r.wxMpOpenid
);
select count(1) from tmp_cust_goods; -- 5080
-- 企业卡
INSERT INTO tmp_cust_goods
SELECT
r.wxMpOpenid,
d.customerSid,
d.bindDate,
d.giftbagSid,
d.serialNumber,
d.code,
s.goodsSid,
s.goodsNumber,
e.NAME AS goodsName,
'企业卡' cardtype
FROM emp_card d
LEFT JOIN lpk_customer r ON r.sid = d.customerSid
LEFT JOIN lpk_giftbag_goods s ON s.giftbagSid=d.giftbagSid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE d.customerSid IS NOT NULL AND d.customerSid <> ''
ORDER BY r.wxMpOpenid;
select count(1) from tmp_cust_goods; -- 5256
-- 购买卡
INSERT INTO tmp_cust_goods
SELECT
r.wxMpOpenid,
d.customerSid,
d.bindDate,
d.sid,
d.serialNumber,
d.code,
s.goodsSid,
s.goodsNumber,
e.NAME AS goodsName,
'购买卡' cardtype
FROM emp_card_gift d
LEFT JOIN lpk_customer r ON r.sid = d.customerSid
LEFT JOIN emp_card_gift_goods s ON s.empCardGiftSid=d.sid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE d.customerSid IS NOT NULL AND d.customerSid <> '' AND d.isSenior = '1'
ORDER BY r.wxMpOpenid;
select count(1) from tmp_cust_goods; -- 5325
-- 转赠卡
INSERT INTO tmp_cust_goods
SELECT
r.wxMpOpenid,
d.customerSid,
d.bindDate,
d.sid,
d.serialNumber,
d.code,
s.goodsSid,
s.goodsNumber,
e.NAME AS goodsName,
'转赠卡' cardtype
FROM emp_card_gift d
LEFT JOIN lpk_customer r ON r.sid = d.customerSid
LEFT JOIN emp_card_gift_goods s ON s.empCardGiftSid=d.sid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE d.customerSid IS NOT NULL AND d.customerSid <> '' AND d.isSenior = '2'
ORDER BY r.wxMpOpenid;
select count(1) from tmp_cust_goods; -- 5652
-- 预约提货,数量为负值
INSERT INTO tmp_cust_goods
SELECT
r.wxMpOpenid,
d.customerSid,
d.reserveDate,
d.sid,
d.storeSid,
d.cardCode,
s.goodsSid,
-s.goodsNumber AS goodsNumber,
e.NAME AS goodsName,
d.cardType cardtype
FROM lpk_reserve_order d
LEFT JOIN lpk_customer r ON r.sid = d.customerSid
LEFT JOIN lpk_reserve_order_goods s ON s.orderSid=d.sid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE 1=1
ORDER BY r.wxMpOpenid;
select count(1) from tmp_cust_goods; -- 10917
-- 赠出的卡,数量为负值
INSERT INTO tmp_cust_goods
SELECT
r.wxMpOpenid,
d.empCardCustomerSid,
d.grantDate,
d.sid,
d.serialNumber,
d.code,
s.goodsSid,
-s.goodsNumber AS goodsNumber,
e.NAME AS goodsName,
'赠出' cardtype
FROM emp_card_gift d
LEFT JOIN lpk_customer r ON r.sid = d.empCardCustomerSid
LEFT JOIN emp_card_gift_goods s ON s.empCardGiftSid=d.sid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE d.empCardCustomerSid IS NOT NULL AND d.empCardCustomerSid <> '' AND d.isSenior = '2'
ORDER BY r.wxMpOpenid;
select count(1) from tmp_cust_goods; -- 11292
select * from tmp_cust_goods;
delete from vegetable_cellar where 1=1;
-- 统计
INSERT INTO vegetable_cellar(sid,customerSid,goodsSid,goodsNumber)
SELECT
UUID(),
customerSid,
goodsSid,
SUM(goodsNumber) AS goodsNumber
FROM tmp_cust_goods
GROUP BY customerSid,goodsSid
HAVING goodsNumber>0
update vegetable_cellar vc set affiliation=(select brandId from lpk_goods lg where vc.goodsSid=lg.sid) where 1=1

67331
docs/databases/数据备份/yxt_lpk_yyth-全部-20240121162617.sql

File diff suppressed because one or more lines are too long

62
docs/databases/菜窖明细.sql

@ -0,0 +1,62 @@
SELECT
r.wxMpOpenid,
d.CODE,
e.NAME AS goodsName,
s.goodsNumber AS goodsNumber,
CASE
WHEN r.wxMpOpenid IS NOT NULL
then '家庭菜窖'
END type
FROM
lpk_giftcard d
LEFT JOIN lpk_customer r ON r.sid = d.customerSid
LEFT JOIN lpk_giftbag_goods s ON s.giftbagSid = d.giftbagSid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE
customerSid IS NOT NULL
AND customerSid != ''
UNION
SELECT
r.wxMpOpenid,
d.CODE,
e.NAME AS goodsName,
s.goodsNumber AS goodsNumber,
CASE
WHEN r.wxMpOpenid IS NOT NULL
then '企业菜窖'
END type
FROM
emp_card d
LEFT JOIN lpk_customer r ON r.sid = d.customerSid
LEFT JOIN lpk_giftbag_goods s ON s.giftbagSid = d.giftbagSid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE
customerSid IS NOT NULL
AND customerSid != ''
UNION
SELECT
r.wxMpOpenid,
d.CODE,
e.NAME AS goodsName,
s.goodsNumber AS goodsNumber,
CASE
WHEN r.wxMpOpenid IS NOT NULL
then '购买的家庭菜窖'
END type
FROM
emp_card_gift d
LEFT JOIN lpk_customer r ON r.sid = d.customerSid
LEFT JOIN emp_card_gift_goods s ON s.empCardGiftSid = d.sid
LEFT JOIN lpk_goods e ON e.sid = s.goodsSid
WHERE
customerSid IS NOT NULL
AND customerSid != ''
AND isSenior = '1'
GROUP BY
CODE,
NAME
ORDER BY
wxMpOpenid,
CODE

41
src/main/java/com/yxt/yythmall/adminapi/AdminBankRest.java

@ -0,0 +1,41 @@
package com.yxt.yythmall.adminapi;
import com.yxt.common.core.result.ResultBean;
import com.yxt.yythmall.adminapi.vo.PmsBrandVo;
import com.yxt.yythmall.adminapi.vo.PmsProductCategoryVo;
import com.yxt.yythmall.adminservice.AdminMallService;
import com.yxt.yythmall.api.lpkbank.LpkBank;
import com.yxt.yythmall.api.lpkstore.LpkStore;
import com.yxt.yythmall.biz.lpkbank.LpkBankService;
import com.yxt.yythmall.biz.lpkstore.LpkStoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController("com.yxt.yythmall.adminapi.AdminBankRest")
@RequestMapping("/adminapi/bank")
public class AdminBankRest {
@Autowired
private LpkBankService lpkBankService;
@Autowired
private LpkStoreService lpkStoreService;
@GetMapping(value = "/listBankAll")
public ResultBean<List<LpkBank>> listBankAll() {
ResultBean rb = ResultBean.fireFail();
List<LpkBank> list = lpkBankService.listAllBank();
return rb.success().setData(list);
}
@GetMapping(value = "/listStoreOfBank")
public ResultBean<List<LpkStore>> listStoreOfBank(@RequestParam(name = "bankSid", required = false) String bankSid) {
ResultBean rb = ResultBean.fireFail();
List<LpkStore> list = lpkStoreService.listStoreOfBank(bankSid);
return rb.success().setData(list);
}
}

28
src/main/java/com/yxt/yythmall/adminapi/AdminReserveRest.java

@ -0,0 +1,28 @@
package com.yxt.yythmall.adminapi;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.yythmall.api.lpkreserveorder.LpkReserveOrderQuery;
import com.yxt.yythmall.biz.vegecallerreserveorder.ReserveOrderVo;
import com.yxt.yythmall.biz.vegecallerreserveorder.VegeCellarReserveOrderService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController("com.yxt.yythmall.adminapi.AdminReserveRest")
@RequestMapping("/adminapi/reserve")
public class AdminReserveRest {
@Autowired
private VegeCellarReserveOrderService vegeCellarReserveOrderService;
@ApiOperation("精确到客户的预约单列表")
@PostMapping("/pageOfCustomer")
public ResultBean<PagerVo<ReserveOrderVo>> orderList(@RequestBody PagerQuery<LpkReserveOrderQuery> pq) {
return vegeCellarReserveOrderService.pageOfCustomer(pq);
}
}

6
src/main/java/com/yxt/yythmall/api/appletgiftbag/AppletGiftBagVo.java

@ -1,6 +1,7 @@
package com.yxt.yythmall.api.appletgiftbag;
import com.yxt.common.core.vo.Vo;
import com.yxt.yythmall.api.newcomerrecorecord.NewcomerRecoRecordVo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -21,6 +22,7 @@ public class AppletGiftBagVo implements Vo {
private String dateStart;
private String dateEnd;
private String price;//礼包总价格
private String prefPrice;//优惠价格
private String iconUrl;//图片
private String isEnable;
private String isGrounding;
@ -28,8 +30,10 @@ public class AppletGiftBagVo implements Vo {
private String remarks;
private String count;//
private String goodsSid;
private String weight="0";//重量
private List<GiftBagGoods> giftBagGoods;
private List<recommendRecord> recordList;
private List<RecommendRecord> recordList;
private List<NewcomerRecoRecordVo> newcomerRecoRecordVos;
public String getPrice() {
DecimalFormat decimalFormat = new DecimalFormat("#0.00");

4
src/main/java/com/yxt/yythmall/api/appletgiftbag/GiftBagGoodss.java

@ -20,12 +20,14 @@ public class GiftBagGoodss {
private String weight; //每份的重量
private String jPrice; //每斤单价
private String specificationUnit; //规格单位
private String prefPrice;//优惠价格
private String bagPrice;//礼包价格
private String totalValue; //总价值
private String spec; //总价值
private String count="0"; //总价值
private String mefenPrice="0";
private boolean showCart=false;
private String prefPrice;//优惠价格

2
src/main/java/com/yxt/yythmall/api/appletgiftbag/recommendRecord.java → src/main/java/com/yxt/yythmall/api/appletgiftbag/RecommendRecord.java

@ -7,6 +7,6 @@ import lombok.Data;
* @date 2024/1/11 9:29
*/
@Data
public class recommendRecord {
public class RecommendRecord {
private String content;
}

2
src/main/java/com/yxt/yythmall/api/lpkreserveorder/LpkReserveOrder.java

@ -1,5 +1,6 @@
package com.yxt.yythmall.api.lpkreserveorder;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
@ -11,6 +12,7 @@ import java.util.UUID;
* @date 2023/11/23 10:29
*/
@Data
@TableName("lpk_reserve_order")
public class LpkReserveOrder{
private String id;
private String sid= UUID.randomUUID().toString();

1
src/main/java/com/yxt/yythmall/api/lpkreserveorder/LpkReserveOrderQuery.java

@ -18,4 +18,5 @@ public class LpkReserveOrderQuery implements Query {
private String bankSid;
private String bankName;
private String serialNumber;
private String cardType; //1 家庭 2 亲情卡 3 企业
}

2
src/main/java/com/yxt/yythmall/api/lpkreserveordergoods/LpkReserveOrderGoods.java

@ -1,5 +1,6 @@
package com.yxt.yythmall.api.lpkreserveordergoods;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
@ -11,6 +12,7 @@ import java.util.UUID;
* @date 2023/11/23 10:29
*/
@Data
@TableName("lpk_reserve_order_goods")
public class LpkReserveOrderGoods {
private String id;
private String sid= UUID.randomUUID().toString();

2
src/main/java/com/yxt/yythmall/api/newcomerrecorecord/NewcomerRecoRecordDto.java

@ -26,4 +26,6 @@ public class NewcomerRecoRecordDto implements Dto {
private Date assistanceDate;//助力时间
private String state;
private String giftName;//礼包名
private String customerSid;//礼包名
private String orderSid;
}

6
src/main/java/com/yxt/yythmall/api/ordorder/OrdOrder.java

@ -18,18 +18,20 @@ public class OrdOrder {
private Date createTime;
private String remarks;
private String mainSid;
private String outTradeNo;
private int payStatus;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date payTime;
private int cardNumber;
private int source;
private String totalTee;
private String totalTee;//实际价格
private String openId;
private String userSid;
private String name;
private int timeRemarks;
private String returnUrl;
private String vegeCellarType;
private String meet;
// private String receivablePrice;//应收价格
}

16
src/main/java/com/yxt/yythmall/api/ordorder/OrdOrderDto.java

@ -23,15 +23,19 @@ public class OrdOrderDto implements Dto {
private int payStatus;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date payTime;
private int cardNumber;
private int source;
private String totalTee;
private String openId;
private String userSid;
private int cardNumber;//卡的张数
private int source;//来源:0、云菜窖
private String totalTee;//金额
private String openId;//微信唯一标识openid
private String userSid;//用户sid
private String name;
private int timeRemarks;
private String returnUrl;
private String customerSid;
private String vegeCellarType; //菜窖类型 0 百姓菜窖 1 精品菜窖 2 企业菜窖
private String brandId;
private String bagSid;
private String meet;
// private String receivablePrice;
private List<OrdOrderDetailVo> ordOrderDetailsVoList;
}

3
src/main/java/com/yxt/yythmall/api/ordorder/OrdOrderQuery.java

@ -11,5 +11,6 @@ import lombok.Data;
public class OrdOrderQuery implements Query {
private String startDate; //开始时间
private String endDate; //结束时间
private String countNumber; //总数
private String customerSid; //总数
private String state;
}

15
src/main/java/com/yxt/yythmall/api/ordorder/OrdOrderVo.java

@ -2,9 +2,11 @@ package com.yxt.yythmall.api.ordorder;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import com.yxt.yythmall.api.ordorderdetails.OrdOrderDetail;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author wangpengfei
@ -18,15 +20,24 @@ public class OrdOrderVo implements Vo {
private Date createTime;
private String remarks;
private String mainSid;
private int payStatus;
private String outTradeNo;
private int payStatus;//状态
private String payType="微信支付";
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date payTime;
private int cardNumber;
private int source;
private String totalTee;
private String totalTee;//实付金额
private String meet="0";//应付价格
private String surcharge="0";//附加费
private String openId;
private String userSid;
private String name;
private int timeRemarks;
private String returnUrl;
private String count;//商品数
private List<String> picUrls;//图片
List<OrdOrderDetail> ordOrderDetails;
private String endTime;
private PayResult result;
}

15
src/main/java/com/yxt/yythmall/api/ordorderdetails/OrdOrderDetail.java

@ -1,9 +1,11 @@
package com.yxt.yythmall.api.ordorderdetails;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
@ -19,11 +21,14 @@ public class OrdOrderDetail {
private String remarks;
private String orderSid;
private String goodsSid;
private String goodsName;
private int partNumber;
private double numofPart;
private double priceUnit;
private double pricePart;
private String goodsName;//商品名
private int partNumber; //份数
private double numofPart;//每份数量
private double priceUnit;//
private double pricePart;//每份价格
@TableField(exist = false)
private String picUrl;//图片
}

12
src/main/java/com/yxt/yythmall/api/ordorderdetails/OrdOrderDetailVo.java

@ -18,10 +18,10 @@ public class OrdOrderDetailVo implements Vo {
private Date createTime;
private String remarks;
private String orderSid;
private String goodsSid;
private String goodsName;
private int partNumber;
private double numofPart;
private double priceUnit;
private double pricePart;
private String goodsSid;//商品Sid
private String goodsName;//商品名称
private int partNumber;//份数
private double numofPart;//每份数量
private double priceUnit;//商品单价
private double pricePart;//每份价格
}

35
src/main/java/com/yxt/yythmall/api/recommendnewuserbag/RecommendNewUserBag.java

@ -0,0 +1,35 @@
package com.yxt.yythmall.api.recommendnewuserbag;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
import java.util.UUID;
/**
* @author wangpengfei
* @date 2023/11/21 15:06
*/
@ApiModel(value = "礼包信息", description = "礼包信息")
@TableName("applet_giftbag")
@Data
public class RecommendNewUserBag {
private String id;
private String sid = UUID.randomUUID().toString();
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
private String remarks;
private String isEnable;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date dateStart;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date dateEnd;
private String name;
private String price;
private String iconUrl;
private String isGrounding;
private String isRecommend;
private String preferentialPrice;
}

27
src/main/java/com/yxt/yythmall/api/recommendnewuserbag/RecommendNewUserBagDetailVo.java

@ -0,0 +1,27 @@
package com.yxt.yythmall.api.recommendnewuserbag;
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoods;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author wangpengfei
* @date 2024/1/6 15:39
*/
@Data
public class RecommendNewUserBagDetailVo {
private String sid;
private String name;
private String dateStart;
private String dateEnd;
private String price;
private String iconUrl;
private String isEnable;
private String isGrounding;
private String isRecommend;
private String remark;
private String count;
private List<GiftBagGoods> goods = new ArrayList<>();
}

31
src/main/java/com/yxt/yythmall/api/recommendnewuserbag/RecommendNewUserBagDto.java

@ -0,0 +1,31 @@
package com.yxt.yythmall.api.recommendnewuserbag;
import com.yxt.common.core.dto.Dto;
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoods;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/11/21 15:13
*/
@ApiModel(value = "礼包信息 数据传输对象", description = "礼包信息 数据传输对象")
@Data
public class RecommendNewUserBagDto implements Dto {
private String sid;
private String remarks;
private String dateStart;
private String dateEnd;
private String name;
private String price;
private String iconUrl;
private String isGrounding;
private String isRecommend;
private String preferentialPrice;
//商品sid
private List<GiftBagGoods> goods = new ArrayList<>();
}

28
src/main/java/com/yxt/yythmall/api/recommendnewuserbag/RecommendNewUserBagInitVo.java

@ -0,0 +1,28 @@
package com.yxt.yythmall.api.recommendnewuserbag;
import com.yxt.common.core.vo.Vo;
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoods;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/11/22 11:15
*/
@Data
public class RecommendNewUserBagInitVo implements Vo {
private String sid;
private String remarks;
private String dateStart;
private String dateEnd;
private String name;
private String price;
private String iconUrl;
private String isRecommend;
private String preferentialPrice;
//商品sid
private List<GiftBagGoods> goods = new ArrayList<>();
}

15
src/main/java/com/yxt/yythmall/api/recommendnewuserbag/RecommendNewUserBagQuery.java

@ -0,0 +1,15 @@
package com.yxt.yythmall.api.recommendnewuserbag;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/11/21 15:31
*/
@ApiModel(value = "礼包信息 查询条件", description = "礼包信息 查询条件")
@Data
public class RecommendNewUserBagQuery implements Query {
private String name;
}

45
src/main/java/com/yxt/yythmall/api/recommendnewuserbag/RecommendNewUserBagVo.java

@ -0,0 +1,45 @@
package com.yxt.yythmall.api.recommendnewuserbag;
import com.yxt.common.core.vo.Vo;
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoods;
import com.yxt.yythmall.api.appletgiftbag.RecommendRecord;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.text.DecimalFormat;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/11/21 15:12
*/
@Data
@ApiModel(value = "礼包信息 视图数据对象", description = "礼包信息 视图数据对象")
@NoArgsConstructor
public class RecommendNewUserBagVo implements Vo {
private String sid;
private String name;//
private String dateStart;
private String dateEnd;
private String price;//礼包总价格
private String prefPrice;//优惠价格
private String iconUrl;//图片
private String isEnable;
private String isGrounding;
private String isRecommend;//是否推荐 1 推荐 0 默认
private String remarks;
private String count;//
private String goodsSid;
private String weight="0";//重量
private List<GiftBagGoods> giftBagGoods;
private List<RecommendRecord> recordList;
public String getPrice() {
DecimalFormat decimalFormat = new DecimalFormat("#0.00");
if(null==price){
price="0";
}
return price=decimalFormat.format(Double.valueOf(price));
}
}

29
src/main/java/com/yxt/yythmall/api/recommendnewuserbagdetails/RecommendNewUserBagDetails.java

@ -0,0 +1,29 @@
package com.yxt.yythmall.api.recommendnewuserbagdetails;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.Date;
import java.util.UUID;
/**
* @author wangpengfei
* @date 2023/11/21 15:06
*/
@ApiModel(value = "礼包包含商品信息", description = "礼包包含商品信息")
@TableName("applet_giftbag_goods")
@Data
public class RecommendNewUserBagDetails {
private String id;
private String sid = UUID.randomUUID().toString();
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
private String remarks;
private String giftbagSid;
private String goodsSid;
private String goodsNumber;
// private String isGrounding;
private double price;
}

14
src/main/java/com/yxt/yythmall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsDto.java

@ -0,0 +1,14 @@
package com.yxt.yythmall.api.recommendnewuserbagdetails;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/11/21 15:13
*/
@ApiModel(value = "礼包包含商品信息 数据传输对象", description = "礼包包含商品信息 数据传输对象")
@Data
public class RecommendNewUserBagDetailsDto implements Dto {
}

15
src/main/java/com/yxt/yythmall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsQuery.java

@ -0,0 +1,15 @@
package com.yxt.yythmall.api.recommendnewuserbagdetails;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author wangpengfei
* @date 2023/11/21 15:31
*/
@ApiModel(value = "礼包包含商品信息 查询条件", description = "礼包包含商品信息 查询条件")
@Data
public class RecommendNewUserBagDetailsQuery implements Query {
}

23
src/main/java/com/yxt/yythmall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsVo.java

@ -0,0 +1,23 @@
package com.yxt.yythmall.api.recommendnewuserbagdetails;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author wangpengfei
* @date 2023/11/21 15:12
*/
@Data
@ApiModel(value = "礼包包含商品信息 视图数据对象", description = "礼包包含商品信息 视图数据对象")
@NoArgsConstructor
public class RecommendNewUserBagDetailsVo implements Vo {
private String goodsName;
private double goodsNumber;
private String picUrl;
private String goodsSid;
private String price;
private String unitName;
private String remarks;
}

1
src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartVo.java

@ -29,6 +29,7 @@ public class ShoppingCartVo implements Vo {
private String unitName;
private String iconUrl;
private String specificationUnit;
// private String text;
}

2
src/main/java/com/yxt/yythmall/api/transferrecords/TransferRecords.java

@ -24,6 +24,8 @@ public class TransferRecords {
private String affiliation;//所属菜窖
private String state;//
private String recipientSid;//领取人
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date recipientTime;//领取人
}

1
src/main/java/com/yxt/yythmall/api/transferrecords/TransferRecordsDto.java

@ -18,6 +18,7 @@ public class TransferRecordsDto implements Dto {
private String state;//
private String recipientSid;//领取人
private String orderSid;
private String remarks;
private List<GoodsVo> vos;
}

2
src/main/java/com/yxt/yythmall/api/transferrecords/TransferRecordsVo.java

@ -27,4 +27,6 @@ public class TransferRecordsVo implements Vo {
private String goodss;
private String createTime;
private String remarks;
private String fxNick;
private String lqNick;
}

3
src/main/java/com/yxt/yythmall/biz/appletgiftbag/AppletGiftBagMapper.java

@ -23,6 +23,7 @@ public interface AppletGiftBagMapper extends BaseMapper<AppletGiftBag> {
IPage<AppletGiftBagVo> giftBagListPage(IPage<AppletGiftBag> page, @Param(Constants.WRAPPER) QueryWrapper<AppletGiftBag> qw);
List<AppletGiftBagVo> giftBagList();
List<GiftBagGoodss> giftBagGoodsList(@Param("sid")String sid );
List<AppletGiftBagVo> giftBagGoodsList();
List<GiftBagGoodss> getGoodsByBagSid(@Param("bagSid") String bagSid);
int saveBags(@Param("bags") List<AppletGiftBag> bags);
}

36
src/main/java/com/yxt/yythmall/biz/appletgiftbag/AppletGiftBagMapper.xml

@ -35,22 +35,28 @@
where isGrounding=1
order by isRecommend desc,createTime desc
</select>
<select id="giftBagGoodsList" resultType="com.yxt.yythmall.api.appletgiftbag.GiftBagGoodss">
<select id="giftBagGoodsList" resultType="com.yxt.yythmall.api.appletgiftbag.AppletGiftBagVo">
select
s.goodsNumber as goodsNumber,
d.`name` ,
d.unitName,
d.price as jPrice,
d.price as price,
d.picUrl as iconUrl,
d.specificationUnit,
d.isAppletGrounding,
d.content as remark,
d.weight,
d.sid as goodsSid
a.sid,
a.name ,
a.iconUrl,
a.price ,
a.preferentialPrice as prefPrice
from applet_giftbag a
left join applet_giftbag_goods s on s.giftbagSid=a.sid
left join lpk_goods d on d.sid=s.goodsSid
where a.sid=#{sid}
</select>
<select id="getGoodsByBagSid" resultType="com.yxt.yythmall.api.appletgiftbag.GiftBagGoodss">
select
a.preferentialPrice as prefPrice,
c.name as name,
c.sid as goodsSid,
c.specificationUnit as specificationUnit,
c.unitName as unitName,
b.goodsNumber as goodsNumber,
c.weight as weight
from applet_giftbag a
left join applet_giftbag_goods b on b.giftbagSid=a.sid
left join lpk_goods c on c.sid =b.goodsSid
where a.sid=#{bagSid}
</select>
</mapper>

2
src/main/java/com/yxt/yythmall/biz/appletgiftbag/AppletGiftBagRest.java

@ -71,7 +71,7 @@ public class AppletGiftBagRest {
public ResultBean getGiftBagBySid(@PathVariable String sid) {
return AppletGiftBagService.getGiftBagBySid(sid);
}
@ApiOperation("共享家庭卡蔬菜详情")
@ApiOperation("")
@GetMapping("/recommendRecord/{sid}")
public ResultBean recommendRecord(@PathVariable("sid") String sid) {
return AppletGiftBagService.recommendRecord(sid);

34
src/main/java/com/yxt/yythmall/biz/appletgiftbag/AppletGiftBagService.java

@ -14,8 +14,7 @@ import com.yxt.common.core.vo.PagerVo;
import com.yxt.yythmall.api.appletgiftbag.*;
import com.yxt.yythmall.api.appletgiftbaggoods.AppletGiftBagGoods;
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoods;
import com.yxt.yythmall.api.appletgiftbag.recommendRecord;
import com.yxt.yythmall.api.lpkgiftcard.LpkGiftCardQuery;
import com.yxt.yythmall.api.appletgiftbag.RecommendRecord;
import com.yxt.yythmall.api.lpkgoods.LpkGoods;
import com.yxt.yythmall.biz.appletgiftbaggoods.AppletGiftBagGoodsService;
import com.yxt.yythmall.biz.lpkgoods.LpkGoodsService;
@ -24,7 +23,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@ -253,13 +251,13 @@ public class AppletGiftBagService extends MybatisBaseService<AppletGiftBagMapper
AppletGiftBag bag=baseMapper.selectOne(new QueryWrapper<AppletGiftBag>().eq("sid","e49555f2-5370-45b0-9637-aa4d54c22e31"));
vo.setRemarks(bag.getRemarks());
vo.setIconUrl(fileUploadComponent.getUrlPrefix() +bag.getIconUrl());
recommendRecord recommendRecord=new recommendRecord();
RecommendRecord recommendRecord=new RecommendRecord();
recommendRecord.setContent("梧桐居助力您获得7斤白菜");
recommendRecord recommendRecord1=new recommendRecord();
RecommendRecord recommendRecord1=new RecommendRecord();
recommendRecord1.setContent("龙助力您获得7斤白菜");
recommendRecord recommendRecord2=new recommendRecord();
RecommendRecord recommendRecord2=new RecommendRecord();
recommendRecord2.setContent("美人助力您获得15斤土豆");
List<recommendRecord> list=new ArrayList<>();
List<RecommendRecord> list=new ArrayList<>();
list.add(recommendRecord);
list.add(recommendRecord1);
list.add(recommendRecord2);
@ -268,18 +266,22 @@ public class AppletGiftBagService extends MybatisBaseService<AppletGiftBagMapper
}
public ResultBean newUserQuota() {
ResultBean rb=new ResultBean().fail();
// List<GiftBagGoodss> giftBagGoodss=baseMapper.getAllGoodsApplets(query);
List<GiftBagGoodss> s=baseMapper.giftBagGoodsList("e49555f2-5370-45b0-9637-aa4d54c22e31");
for (GiftBagGoodss giftBagGoodss : s) {
giftBagGoodss.setIconUrl(fileUploadComponent.getUrlPrefix() +giftBagGoodss.getIconUrl());
giftBagGoodss.setMefenPrice(String.valueOf((int)(Double.valueOf(giftBagGoodss.getPrice())*Double.valueOf(giftBagGoodss.getWeight()))));
giftBagGoodss.setPrefPrice(String.valueOf((Integer.valueOf(giftBagGoodss.getMefenPrice())*0.5)));
giftBagGoodss.setPrefPrice(removeZeros(giftBagGoodss.getPrefPrice()));
List<AppletGiftBagVo> s=baseMapper.giftBagGoodsList();
for (AppletGiftBagVo appletGiftBagVo : s) {
List<AppletGiftBagGoods> giftBagGoods=appletGiftBagGoodsService.list(new QueryWrapper<AppletGiftBagGoods>().eq("giftbagSid",appletGiftBagVo.getSid()));
for(AppletGiftBagGoods goods:giftBagGoods){
LpkGoods lpkGoods=lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid",goods.getGoodsSid()));
appletGiftBagVo.setWeight(removeZeros(String.valueOf(Double.valueOf(lpkGoods.getWeight())*Double.valueOf(goods.getGoodsNumber())+Double.valueOf(appletGiftBagVo.getWeight()))));
}
appletGiftBagVo.setIconUrl(fileUploadComponent.getUrlPrefix() +appletGiftBagVo.getIconUrl());
}
return rb.success().setData(s);
}
public ResultBean<List<GiftBagGoodss>> getGoodsByBagSid(String bagSid) {
ResultBean rb=new ResultBean().fail();
List<GiftBagGoodss> s=baseMapper.getGoodsByBagSid(bagSid);
return rb.success().setData(s);
}
/**
* 去除多余.0
* @param num

2
src/main/java/com/yxt/yythmall/biz/customerstore/CustomerStoreService.java

@ -43,8 +43,6 @@ public class CustomerStoreService extends MybatisBaseService<CustomerStoreMapper
vo1.setStoreSid(list.getSid());
vo1.setBusinessHours(list.getBusinessHours());
vo1.setStoreName(list.getName());
vo1.setName("张三");
vo1.setPhone("11111111111");
vo1=getStart(vo1);
return rb.success().setData(vo1);
}

19
src/main/java/com/yxt/yythmall/biz/empcard/EmpCardMapper.xml

@ -159,7 +159,8 @@
FROM emp_card card
LEFT JOIN lpk_giftbag bag on card.giftbagSid = bag.sid
left join lpk_giftbag_goods s on bag.sid = s.giftbagSid
where card.sid = #{sid} and s.goodsSid=#{goodsSid}
where card.sid = #{sid}
and s.goodsSid = #{goodsSid}
</select>
<select id="cardStatisticsList" resultType="com.yxt.yythmall.api.empcard.EmpCardVo">
SELECT
@ -232,15 +233,13 @@
</where>
</select>
<select id="getGoodsList" resultType="com.yxt.yythmall.api.vegetablecellar.vegeVo">
SELECT
e.sid as goodsSid,
e.name as goodsName,
d.goodsNumber as goodsNumber,
e.brandId as e.brandId,
e.cetegoryId as cetegoryId
FROM
emp_card_gift gi
left join emp_card_gift_goods d on d.empCardGiftSid=gi.sid
SELECT e.sid AS goodsSid,
e.NAME AS goodsName,
d.goodsNumber AS goodsNumber,
e.brandId AS brandId,
e.categoryId AS categoryId
FROM emp_card gi
left join lpk_giftbag_goods d on d.giftbagSid = gi.giftbagSid
left join lpk_goods e on e.sid = d.goodsSid
where gi.sid = #{sid}
</select>

2
src/main/java/com/yxt/yythmall/biz/empcard/EmpCardService.java

@ -139,7 +139,7 @@ public class EmpCardService extends MybatisBaseService<EmpCardMapper, EmpCard> {
return rb.setMsg("该卡已绑定");
}
lpkGiftCard.setCustomerSid(bindCardDto.getCustomerSid());
lpkGiftCard.setState("2");
lpkGiftCard.setState("3");
lpkGiftCard.setBindDate(new Date());
baseMapper.updateById(lpkGiftCard);
List<vegeVo> k = baseMapper.getGoodsList(lpkGiftCard.getSid());

8
src/main/java/com/yxt/yythmall/biz/empcardgift/EmpCardGiftMapper.xml

@ -244,11 +244,11 @@
e.sid as goodsSid,
e.name as goodsName,
d.goodsNumber as goodsNumber,
e.brandId as e.brandId,
e.cetegoryId as cetegoryId
e.brandId as brandId,
e.categoryId as categoryId
FROM
emp_card gi
left join lpk_giftbag_goods d on d.giftbagSid=gi.giftbagSid
emp_card_gift gi
left join emp_card_gift_goods d on d.empCardGiftSid=gi.sid
left join lpk_goods e on e.sid =d.goodsSid
where gi.sid=#{sid}
</select>

5
src/main/java/com/yxt/yythmall/biz/empcardgift/EmpCardGiftService.java

@ -120,7 +120,7 @@ public class EmpCardGiftService extends MybatisBaseService<EmpCardGiftMapper, Em
return rb.setMsg("该卡已绑定");
}
empCardGift.setCustomerSid(bindCardDto.getCustomerSid());
empCardGift.setState("2");
empCardGift.setState("3");
empCardGift.setIsShare("3");
empCardGift.setBindDate(new Date());
baseMapper.updateById(empCardGift);
@ -1175,6 +1175,9 @@ public class EmpCardGiftService extends MybatisBaseService<EmpCardGiftMapper, Em
}
}
}
order.setPayStatus(4);
order.setPayTime(new Date());
ordOrderService.updateById(order);
return rb.success();
}

4
src/main/java/com/yxt/yythmall/biz/lpkbank/LpkBankService.java

@ -1,6 +1,7 @@
package com.yxt.yythmall.biz.lpkbank;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService;
@ -68,4 +69,7 @@ public class LpkBankService extends MybatisBaseService<LpkBankMapper, LpkBank> {
}
public List<LpkBank> listAllBank() {
return baseMapper.selectList(null);
}
}

4
src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerService.java

@ -105,7 +105,7 @@ public class LpkCustomerService extends MybatisBaseService<LpkCustomerMapper, Lp
newCustomer.setIsNewUser("1");
newCustomer.setPhoto("headImage.png");
LpkCustomer lpkCustomer1 = baseMapper.selectOwn();
newCustomer.setNick("小主000"+ (Integer.valueOf(lpkCustomer1.getId()).intValue() +1));
newCustomer.setNick("惠享客户000"+ (Integer.valueOf(lpkCustomer1.getId()).intValue() +1));
baseMapper.insert(newCustomer);
// return rb.setData(newCustomer).setCode("110");
StpUtil.login(newCustomer.getId());
@ -124,7 +124,7 @@ public class LpkCustomerService extends MybatisBaseService<LpkCustomerMapper, Lp
lpkCustomer = fetchBySid(lpkCustomer.getSid());
}
if(StringUtils.isBlank(lpkCustomer.getNick())){
lpkCustomer.setNick("小主000"+lpkCustomer.getId());
lpkCustomer.setNick("惠享客户000"+lpkCustomer.getId());
baseMapper.updateById(lpkCustomer);
lpkCustomer = fetchBySid(lpkCustomer.getSid());
}

21
src/main/java/com/yxt/yythmall/biz/lpkgiftcard/LpkGiftCardMapper.xml

@ -17,8 +17,7 @@
<select id="getGifCardsByCustomerSid" resultType="com.yxt.yythmall.api.lpkgiftcard.AppletVo">
SELECT
card.sid as sid,
SELECT card.sid as sid,
card.state AS state,
CASE
card.state
@ -49,8 +48,7 @@
LEFT JOIN lpk_giftbag bag ON card.giftbagSid = bag.sid
WHERE card.customerSid = #{customerSid}
UNION
SELECT
card.sid as sid,
SELECT card.sid as sid,
card.state AS state,
CASE card.state
WHEN 3 THEN '未提货'
@ -82,8 +80,7 @@
LEFT JOIN lpk_giftbag gif ON gif.sid = emp.giftbagSid
WHERE card.customerSid = #{customerSid}
UNION
SELECT
card.sid as sid,
SELECT card.sid as sid,
card.state AS state,
CASE
card.state
@ -325,15 +322,13 @@
</where>
</select>
<select id="getGoodsList" resultType="com.yxt.yythmall.api.vegetablecellar.vegeVo">
SELECT
e.sid as goodsSid,
SELECT e.sid as goodsSid,
e.name as goodsName,
d.goodsNumber as goodsNumber,
e.brandId as e.brandId,
e.cetegoryId as cetegoryId
FROM
lpk_giftcard gi
left join emp_card_gift_goods d on d.empCardGiftSid=gi.sid
e.brandId as brandId,
e.categoryId as categoryId
FROM lpk_giftcard gi
left join lpk_giftbag_goods d on d.giftbagSid = gi.giftbagSid
left join lpk_goods e on e.sid = d.goodsSid
where gi.sid = #{sid}
</select>

5
src/main/java/com/yxt/yythmall/biz/lpkgiftcard/LpkGiftCardService.java

@ -201,12 +201,11 @@ public class LpkGiftCardService extends MybatisBaseService<LpkGiftCardMapper, Lp
baseMapper.updateById(lpkGiftCard);
List<vegeVo> k = baseMapper.getGoodsList(lpkGiftCard.getSid());
VegetableCellarDto dto = new VegetableCellarDto();
//生成绑卡流水
//加入菜窖
dto.setCustomerSid(dto.getCustomerSid());
dto.setCustomerSid(bindCardDto.getCustomerSid());
dto.setVos(k);
vegetableCellarService.save1Goods(dto);
//生成绑卡流水
vegeReplenishService.saveBindRecord(bindCardDto, "0");
return rb.success().setMsg("绑定成功");
}

6
src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsMapper.xml

@ -94,8 +94,8 @@
s.weight ,
r.goodsNumber as goodsNumber
FROM
lpk_goods s
LEFT JOIN vegetable_cellar r ON s.sid = r.goodsSid
vegetable_cellar r
LEFT JOIN lpk_goods s ON s.sid = r.goodsSid
WHERE
r.customerSid =#{query.customerSid} and r.affiliation =#{query.affiliation}
</select>
@ -125,6 +125,6 @@
order by createTime desc
</select>
<select id="getType" resultType="com.yxt.yythmall.api.lpkgoods.GoodsTypeVo">
select name , id as id from pms_product_category where parent_id=0
select name , id as id from pms_product_category where parent_id=0 and show_status=1
</select>
</mapper>

18
src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsService.java

@ -266,7 +266,7 @@ public class LpkGoodsService extends MybatisBaseService<LpkGoodsMapper, LpkGoods
if(l.size()==0){
giftBagGoodss.forEach(d->{
// d.setIconUrl(fileUploadComponent.getUrlPrefix()+d.getIconUrl());
d.setMefenPrice(String.valueOf((int)(Double.valueOf(d.getPrice())* Double.valueOf(d.getWeight()))));
d.setMefenPrice(removeZeros(String.valueOf((Double.valueOf(d.getPrice())* Double.valueOf(d.getWeight())))));
});
}else{
l.forEach(s->{
@ -275,11 +275,25 @@ public class LpkGoodsService extends MybatisBaseService<LpkGoodsMapper, LpkGoods
d.setGoodsNumber(s.getGoodsNumber());
}
// d.setIconUrl(fileUploadComponent.getUrlPrefix()+d.getIconUrl());
d.setMefenPrice(String.valueOf((int)(Double.valueOf(d.getPrice())* Double.valueOf(d.getWeight()))));
d.setMefenPrice(removeZeros(String.valueOf((Double.valueOf(d.getPrice())* Double.valueOf(d.getWeight())))));
});
});
}
return rb.success().setData(giftBagGoodss);
}
/**
* 去除多余.0
* @param num
* @return
*/
public static String removeZeros(String num) {
if (num.indexOf(".") > 0) {
// 去掉多余的0
num = num.replaceAll("0+?$", "");
// 如果最后一位是. 则去掉
num = num.replaceAll("[.]$", "");
}
return num;
}
}

6
src/main/java/com/yxt/yythmall/biz/lpkreserveorder/LpkReserveOrderMapper.java

@ -18,6 +18,9 @@ import java.util.List;
@Mapper
public interface LpkReserveOrderMapper extends BaseMapper<LpkReserveOrder> {
IPage<LpkReserveOrderVo> orderList(IPage<LpkReserveOrder> page,@Param("qw") LpkReserveOrderQuery qw);
IPage<LpkReserveOrderVo> orderList1(IPage<LpkReserveOrder> page,@Param("qw") LpkReserveOrderQuery qw);
IPage<LpkReserveOrderVo> orderList2(IPage<LpkReserveOrder> page,@Param("qw") LpkReserveOrderQuery qw);
IPage<LpkReserveOrderVo> orderList3(IPage<LpkReserveOrder> page,@Param("qw") LpkReserveOrderQuery qw);
IPage<LpkReserveOrderVo> orderListByStore(IPage<LpkReserveOrder> page, @Param(Constants.WRAPPER) QueryWrapper<LpkReserveOrder> qw);
IPage<LpkReserveOrderVo> orderListByBank(IPage<LpkReserveOrder> page, @Param(Constants.WRAPPER) QueryWrapper<LpkReserveOrder> qw);
IPage<LpkReserveOrderVo> orderListByZ(IPage<LpkReserveOrder> page, @Param(Constants.WRAPPER) QueryWrapper<LpkReserveOrder> qw);
@ -27,6 +30,9 @@ public interface LpkReserveOrderMapper extends BaseMapper<LpkReserveOrder> {
IPage<LpkReserveOrderCardVo> orderListByUserSid(IPage<LpkReserveOrder> page, @Param("userSid")String userSid);
List<ReserveOrderExport> exportExcel(@Param("qw") LpkReserveOrderQuery qw);
List<ReserveOrderExport> exportExcel1(@Param("qw") LpkReserveOrderQuery qw);
List<ReserveOrderExport> exportExcel2(@Param("qw") LpkReserveOrderQuery qw);
List<ReserveOrderExport> exportExcel3(@Param("qw") LpkReserveOrderQuery qw);
List<ReserveOrderExportByStore> exportExcelByStore(@Param(Constants.WRAPPER) QueryWrapper<LpkReserveOrderQuery> qw);
List<ReserveOrderExportByBank> exportExcelByBank(@Param(Constants.WRAPPER) QueryWrapper<LpkReserveOrderQuery> qw);
List<ReserveOrderExportByZ> exportExcelByZ(@Param(Constants.WRAPPER) QueryWrapper<LpkReserveOrderQuery> qw);

440
src/main/java/com/yxt/yythmall/biz/lpkreserveorder/LpkReserveOrderMapper.xml

@ -32,7 +32,7 @@
s.sid as ssid,
c.serialNumber,
case o.cardType
when 1 then '家庭'
when 1 then '家庭菜窖'
end cardType
FROM
lpk_reserve_order AS o
@ -42,9 +42,6 @@
LEFT JOIN lpk_bank AS d ON d.sid = s.bankSid
<where>
o.cardType='1'
<if test="qw.bankSid !='' and qw.bankSid!=null">
and s.bankSid=#{qw.bankSid}
</if>
<if test="qw.store !='' and qw.store!=null">
and s.name=#{qw.store}
</if>
@ -69,7 +66,7 @@
s.sid as ssid,
c.serialNumber,
case o.cardType
when 2 then '亲情'
when 2 then '亲情菜窖'
end cardType
FROM
lpk_reserve_order AS o
@ -106,7 +103,118 @@
s.sid as ssid,
c.serialNumber,
case o.cardType
when 3 then '企业卡'
when 3 then '企业菜窖'
end cardType
FROM
lpk_reserve_order AS o
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN emp_card AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
LEFT JOIN lpk_bank AS d ON d.sid = s.bankSid
<where>
o.cardType='3'
<if test="qw.bankSid !='' and qw.bankSid!=null">
and s.bankSid=#{qw.bankSid}
</if>
<if test="qw.store !='' and qw.store!=null">
and s.name=#{qw.store}
</if>
<if test="qw.startDate !='' and qw.startDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d')>=date_format(#{qw.startDate},'%Y-%m-%d')
</if>
<if test="qw.endDate !='' and qw.endDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d') &lt;= date_format(#{qw.endDate},'%Y-%m-%d')
</if>
</where>
order by reserveDate asc,dsid desc,ssid desc,serialNumber asc
</select>
<select id="orderList1" resultType="com.yxt.yythmall.api.lpkreserveorder.LpkReserveOrderVo">
SELECT
o.sid,
date_format( o.reserveDate, '%Y-%m-%d' ) AS reserveDate,
o.userName,
o.userPhone,
s.`name` AS store,
b.`name` AS bagName,
d.NAME AS bankName,
c.`code`,
d.sid as dsid,
s.sid as ssid,
c.serialNumber,
case o.cardType
when 1 then '家庭菜窖'
end cardType
FROM
lpk_reserve_order AS o
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
LEFT JOIN lpk_bank AS d ON d.sid = s.bankSid
<where>
o.cardType='1'
<if test="qw.store !='' and qw.store!=null">
and s.name=#{qw.store}
</if>
<if test="qw.startDate !='' and qw.startDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d')>=date_format(#{qw.startDate},'%Y-%m-%d')
</if>
<if test="qw.endDate !='' and qw.endDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d') &lt;= date_format(#{qw.endDate},'%Y-%m-%d')
</if>
</where>
order by reserveDate asc,dsid desc,ssid desc,serialNumber asc
</select>
<select id="orderList2" resultType="com.yxt.yythmall.api.lpkreserveorder.LpkReserveOrderVo">
SELECT
o.sid,
date_format( o.reserveDate, '%Y-%m-%d' ) AS reserveDate,
o.userName,
o.userPhone,
s.`name` AS store,
b.`name` AS bagName,
d.NAME AS bankName,
c.`code`,
d.sid as dsid,
s.sid as ssid,
c.serialNumber,
case o.cardType
when 2 then '亲情菜窖'
end cardType
FROM
lpk_reserve_order AS o
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN emp_card_gift AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.sid = b.sid
LEFT JOIN lpk_bank AS d ON d.sid = s.bankSid
<where>
o.cardType='2'
<if test="qw.store !='' and qw.store!=null">
and s.name=#{qw.store}
</if>
<if test="qw.startDate !='' and qw.startDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d')>=date_format(#{qw.startDate},'%Y-%m-%d')
</if>
<if test="qw.endDate !='' and qw.endDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d') &lt;= date_format(#{qw.endDate},'%Y-%m-%d')
</if>
</where>
order by reserveDate asc,dsid desc,ssid desc,serialNumber asc
</select>
<select id="orderList3" resultType="com.yxt.yythmall.api.lpkreserveorder.LpkReserveOrderVo">
SELECT
o.sid,
date_format( o.reserveDate, '%Y-%m-%d' ) AS reserveDate,
o.userName,
o.userPhone,
s.`name` AS store,
b.`name` AS bagName,
d.NAME AS bankName,
c.`code`,
d.sid as dsid,
s.sid as ssid,
c.serialNumber,
case o.cardType
when 3 then '企业菜窖'
end cardType
FROM
lpk_reserve_order AS o
@ -114,7 +222,18 @@
LEFT JOIN emp_card AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
LEFT JOIN lpk_bank AS d ON d.sid = s.bankSid
WHERE o.cardType='3'
<where>
o.cardType='3'
<if test="qw.store !='' and qw.store!=null">
and s.name=#{qw.store}
</if>
<if test="qw.startDate !='' and qw.startDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d')>=date_format(#{qw.startDate},'%Y-%m-%d')
</if>
<if test="qw.endDate !='' and qw.endDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d') &lt;= date_format(#{qw.endDate},'%Y-%m-%d')
</if>
</where>
order by reserveDate asc,dsid desc,ssid desc,serialNumber asc
</select>
<select id="orderListByStore" resultType="com.yxt.yythmall.api.lpkreserveorder.LpkReserveOrderVo">
@ -126,20 +245,18 @@
d.name as bankName,
t.goodsSid as goodsSid,
sum(t.goodsNumber) as goodsNumber,
d.linker,
d.linkPhone,
d.address,
s.linker,
s.phone as linkPhone,
s.address,
e.`name` as goodsName,
case o.cardType
when 1 then '家庭'
when 2 then '亲情'
when 3 then '企业'
when 1 then '家庭菜窖'
when 2 then '亲情菜窖'
when 3 then '企业菜窖'
end cardType
from lpk_reserve_order as o
LEFT JOIN lpk_reserve_order_goods AS t ON t.orderSid = o.sid
left join lpk_store as s on o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
left join lpk_bank as d on d.sid =s.bankSid
left join lpk_goods e on e.sid= t.goodsSid
<where>
@ -155,20 +272,18 @@
d.name as bankName,
t.goodsSid as goodsSid,
sum(t.goodsNumber) as goodsNumber,
s.linker,
s.phone as linkPhone,
s.address,
d.linker,
d.linkPhone as linkPhone,
d.address,
case o.cardType
when 1 then '家庭'
when 2 then '亲情'
when 3 then '企业'
when 1 then '家庭菜窖'
when 2 then '亲情菜窖'
when 3 then '企业菜窖'
end cardType,
e.`name` as goodsName
from lpk_reserve_order as o
LEFT JOIN lpk_reserve_order_goods AS t ON t.orderSid = o.sid
left join lpk_store as s on o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
left join lpk_bank as d on d.sid =s.bankSid
left join lpk_goods e on e.sid= t.goodsSid
<where>
@ -185,17 +300,15 @@
t.goodsSid as goodsSid,
sum(t.goodsNumber) as goodsNumber,
case o.cardType
when 1 then '家庭'
when 2 then '亲情'
when 3 then '企业'
when 1 then '家庭菜窖'
when 2 then '亲情菜窖'
when 3 then '企业菜窖'
end cardType,
e.`name` as goodsName
FROM
lpk_reserve_order AS o
LEFT JOIN lpk_reserve_order_goods AS t ON t.orderSid = o.sid
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
LEFT JOIN lpk_bank AS d ON d.sid = s.bankSid
LEFT JOIN lpk_goods e on e.sid =t.goodsSid
<where>
@ -249,7 +362,8 @@
o.sid as orderSid,
o.userName,
o.userPhone,c.serialNumber as serialNumber,
o.sid
o.sid,
s.phone
FROM lpk_reserve_order AS o
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
@ -269,7 +383,8 @@
o.sid as orderSid,
o.userName,
o.userPhone,c.serialNumber as serialNumber,
o.sid
o.sid,
s.phone
FROM lpk_reserve_order AS o
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN emp_card_gift AS c ON o.cardSid = c.sid
@ -289,7 +404,8 @@
o.sid as orderSid,
o.userName,
o.userPhone,c.serialNumber as serialNumber,
o.sid
o.sid,
s.phone
FROM lpk_reserve_order AS o
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN emp_card AS c ON o.cardSid = c.sid
@ -300,30 +416,77 @@
ORDER BY reserveDate DESC
</select>
<select id="exportExcel" resultType="com.yxt.yythmall.api.lpkreserveorder.ReserveOrderExport">
select
SELECT
o.sid,
date_format(o.reserveDate, '%Y-%m-%d') as reserveDate,
date_format( o.reserveDate, '%Y-%m-%d' ) AS reserveDate,
o.userName,
o.userPhone,
s.`name` AS store,
b.`name` AS bagName,
d.NAME AS bankName,
c.`code`,
d.sid as dsid,
s.sid as ssid,
s.`name` as store,
b.`name` as bagName,
d.name as bankName,
c.`code`,c.serialNumber,
c.serialNumber,
case o.cardType
when 1 then '家庭菜窖'
end cardType,
t.goodsSid as goodsSid,
t.goodsNumber as goodsNumber,
case o.cardType
when 1 then '家庭卡'
end cardType
from lpk_reserve_order as o
e.name as goodsName
FROM
lpk_reserve_order AS o
LEFT JOIN lpk_reserve_order_goods AS t ON t.orderSid = o.sid
left join lpk_store as s on o.storeSid = s.sid
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
left join lpk_bank as d on d.sid =s.bankSid
LEFT JOIN lpk_bank AS d ON d.sid = s.bankSid
left join lpk_goods e on e.sid= t.goodsSid
<where>
o.cardType='1'
1=1
and o.cardType='1'
<if test="qw.store !='' and qw.store!=null">
and s.name=#{qw.store}
</if>
<if test="qw.startDate !='' and qw.startDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d')>=date_format(#{qw.startDate},'%Y-%m-%d')
</if>
<if test="qw.endDate !='' and qw.endDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d') &lt;= date_format(#{qw.endDate},'%Y-%m-%d')
</if>
</where>
union
SELECT
o.sid,
date_format( o.reserveDate, '%Y-%m-%d' ) AS reserveDate,
o.userName,
o.userPhone,
s.`name` AS store,
b.`name` AS bagName,
d.NAME AS bankName,
c.`code`,
d.sid as dsid,
s.sid as ssid,
c.serialNumber,
case o.cardType
when 2 then '亲情菜窖'
end cardType,
t.goodsSid as goodsSid,
t.goodsNumber as goodsNumber,
e.name as goodsName
FROM
lpk_reserve_order AS o
LEFT JOIN lpk_reserve_order_goods AS t ON t.orderSid = o.sid
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN emp_card_gift AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.sid = b.sid
LEFT JOIN lpk_bank AS d ON d.sid = s.bankSid
left join lpk_goods e on e.sid= t.goodsSid
<where>
1=1
and o.cardType='2'
<if test="qw.bankSid !='' and qw.bankSid!=null">
and s.bankSid=#{qw.bankSid}
</if>
@ -338,30 +501,127 @@
</if>
</where>
union
select
SELECT
o.sid,
date_format(o.reserveDate, '%Y-%m-%d') as reserveDate,
date_format( o.reserveDate, '%Y-%m-%d' ) AS reserveDate,
o.userName,
o.userPhone,
s.`name` AS store,
b.`name` AS bagName,
d.NAME AS bankName,
c.`code`,
d.sid as dsid,
s.sid as ssid,
s.`name` as store,
b.`name` as bagName,
d.name as bankName,
c.`code`,c.serialNumber,
c.serialNumber,
case o.cardType
when 3 then '企业菜窖'
end cardType,
t.goodsSid as goodsSid,
t.goodsNumber as goodsNumber,
e.name as goodsName
FROM
lpk_reserve_order AS o
LEFT JOIN lpk_reserve_order_goods AS t ON t.orderSid = o.sid
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN emp_card AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
LEFT JOIN lpk_bank AS d ON d.sid = s.bankSid
left join lpk_goods e on e.sid= t.goodsSid
<where>
1=1
and o.cardType='3'
<if test="qw.bankSid !='' and qw.bankSid!=null">
and s.bankSid=#{qw.bankSid}
</if>
<if test="qw.store !='' and qw.store!=null">
and s.name=#{qw.store}
</if>
<if test="qw.startDate !='' and qw.startDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d')>=date_format(#{qw.startDate},'%Y-%m-%d')
</if>
<if test="qw.endDate !='' and qw.endDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d') &lt;= date_format(#{qw.endDate},'%Y-%m-%d')
</if>
</where>
order by reserveDate asc,dsid desc,ssid desc,serialNumber asc
</select>
<select id="exportExcel1" resultType="com.yxt.yythmall.api.lpkreserveorder.ReserveOrderExport">
SELECT
o.sid,
date_format( o.reserveDate, '%Y-%m-%d' ) AS reserveDate,
o.userName,
o.userPhone,
s.`name` AS store,
b.`name` AS bagName,
d.NAME AS bankName,
c.`code`,
d.sid as dsid,
s.sid as ssid,
c.serialNumber,
case o.cardType
when 2 then '亲情卡'
end cardType
from lpk_reserve_order as o
when 1 then '家庭菜窖'
end cardType,
t.goodsSid as goodsSid,
t.goodsNumber as goodsNumber,
e.name as goodsName
FROM
lpk_reserve_order AS o
LEFT JOIN lpk_reserve_order_goods AS t ON t.orderSid = o.sid
left join lpk_store as s on o.storeSid = s.sid
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
LEFT JOIN lpk_bank AS d ON d.sid = s.bankSid
left join lpk_goods e on e.sid= t.goodsSid
<where>
1=1
and o.cardType='1'
<if test="qw.store !='' and qw.store!=null">
and s.name=#{qw.store}
</if>
<if test="qw.startDate !='' and qw.startDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d')>=date_format(#{qw.startDate},'%Y-%m-%d')
</if>
<if test="qw.endDate !='' and qw.endDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d') &lt;= date_format(#{qw.endDate},'%Y-%m-%d')
</if>
</where>
order by reserveDate asc,dsid desc,ssid desc,serialNumber asc
</select>
<select id="exportExcel2" resultType="com.yxt.yythmall.api.lpkreserveorder.ReserveOrderExport">
SELECT
o.sid,
date_format( o.reserveDate, '%Y-%m-%d' ) AS reserveDate,
o.userName,
o.userPhone,
s.`name` AS store,
b.`name` AS bagName,
d.NAME AS bankName,
c.`code`,
d.sid as dsid,
s.sid as ssid,
c.serialNumber,
case o.cardType
when 2 then '亲情菜窖'
end cardType,
t.goodsSid as goodsSid,
t.goodsNumber as goodsNumber,
e.name as goodsName
FROM
lpk_reserve_order AS o
LEFT JOIN lpk_reserve_order_goods AS t ON t.orderSid = o.sid
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN emp_card_gift AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.sid = b.sid
left join lpk_bank as d on d.sid =s.bankSid
LEFT JOIN lpk_bank AS d ON d.sid = s.bankSid
left join lpk_goods e on e.sid= t.goodsSid
<where>
o.cardType='2'
1=1
and o.cardType='2'
<if test="qw.bankSid !='' and qw.bankSid!=null">
and s.bankSid=#{qw.bankSid}
</if>
@ -375,7 +635,9 @@
and date_format(o.reserveDate,'%Y-%m-%d') &lt;= date_format(#{qw.endDate},'%Y-%m-%d')
</if>
</where>
union
order by reserveDate asc,dsid desc,ssid desc,serialNumber asc
</select>
<select id="exportExcel3" resultType="com.yxt.yythmall.api.lpkreserveorder.ReserveOrderExport">
SELECT
o.sid,
date_format( o.reserveDate, '%Y-%m-%d' ) AS reserveDate,
@ -389,15 +651,37 @@
s.sid as ssid,
c.serialNumber,
case o.cardType
when 3 then '企业卡'
end cardType
when 3 then '企业菜窖'
end cardType,
t.goodsSid as goodsSid,
t.goodsNumber as goodsNumber,
e.name as goodsName
FROM
lpk_reserve_order AS o
LEFT JOIN lpk_reserve_order_goods AS t ON t.orderSid = o.sid
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN emp_card AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
LEFT JOIN lpk_bank AS d ON d.sid = s.bankSid
WHERE o.cardType='3'
left join lpk_goods e on e.sid= t.goodsSid
<where>
1=1
and o.cardType='3'
<if test="qw.bankSid !='' and qw.bankSid!=null">
and s.bankSid=#{qw.bankSid}
</if>
<if test="qw.store !='' and qw.store!=null">
and s.name=#{qw.store}
</if>
<if test="qw.startDate !='' and qw.startDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d')>=date_format(#{qw.startDate},'%Y-%m-%d')
</if>
<if test="qw.endDate !='' and qw.endDate!=null">
and date_format(o.reserveDate,'%Y-%m-%d') &lt;= date_format(#{qw.endDate},'%Y-%m-%d')
</if>
</where>
order by reserveDate asc,dsid desc,ssid desc,serialNumber asc
</select>
<select id="exportExcelByStore" resultType="com.yxt.yythmall.api.lpkreserveorder.ReserveOrderExportByStore">
@ -409,20 +693,18 @@
d.name as bankName,
t.goodsSid as goodsSid,
sum(t.goodsNumber) as goodsNumber,
d.linker,
d.linkPhone,
d.address,
s.linker,
s.phone as linkPhone,
s.address,
case o.cardType
when 1 then '家庭'
when 2 then '亲情'
when 3 then '企业'
when 1 then '家庭菜窖'
when 2 then '亲情菜窖'
when 3 then '企业菜窖'
end cardType,
e.name as goodsName
from lpk_reserve_order as o
LEFT JOIN lpk_reserve_order_goods AS t ON t.orderSid = o.sid
left join lpk_store as s on o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
left join lpk_bank as d on d.sid =s.bankSid
left join lpk_goods e on e.sid= t.goodsSid
<where>
@ -438,20 +720,18 @@
d.name as bankName,
t.goodsSid as goodsSid,
sum(t.goodsNumber) as goodsNumber,
s.linker,
s.phone as linkPhone,
s.address,
d.linker,
d.linkPhone as linkPhone,
d.address,
case o.cardType
when 1 then '家庭'
when 2 then '亲情'
when 3 then '企业'
when 1 then '家庭菜窖'
when 2 then '亲情菜窖'
when 3 then '企业菜窖'
end cardType,
e.name as goodsName
from lpk_reserve_order as o
LEFT JOIN lpk_reserve_order_goods AS t ON t.orderSid = o.sid
left join lpk_store as s on o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
left join lpk_bank as d on d.sid =s.bankSid
left join lpk_goods e on e.sid= t.goodsSid
<where>
@ -468,17 +748,15 @@
t.goodsSid as goodsSid,
sum(t.goodsNumber) as goodsNumber,
case o.cardType
when 1 then '家庭'
when 2 then '亲情'
when 3 then '企业'
when 1 then '家庭菜窖'
when 2 then '亲情菜窖'
when 3 then '企业菜窖'
end cardType,
e.name as goodsName
FROM
lpk_reserve_order AS o
LEFT JOIN lpk_reserve_order_goods AS t ON t.orderSid = o.sid
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
LEFT JOIN lpk_bank AS d ON d.sid = s.bankSid
left join lpk_goods e on e.sid= t.goodsSid
<where>

36
src/main/java/com/yxt/yythmall/biz/lpkreserveorder/LpkReserveOrderService.java

@ -8,6 +8,7 @@ import com.alibaba.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -108,7 +109,16 @@ public class LpkReserveOrderService extends MybatisBaseService<LpkReserveOrderMa
ResultBean rb = ResultBean.fireFail();
LpkReserveOrderQuery query = pq.getParams();
IPage<LpkReserveOrder> page = PagerUtil.queryToPage(pq);
IPage<LpkReserveOrderVo> pagging = baseMapper.orderList(page, query);
IPage<LpkReserveOrderVo> pagging=new Page<>();
if(StringUtils.isBlank(query.getCardType())){
pagging= baseMapper.orderList(page, query);
}else if(query.getCardType().equals("1")){
pagging= baseMapper.orderList1(page, query);
}else if(query.getCardType().equals("2")){
pagging= baseMapper.orderList2(page, query);
}else if(query.getCardType().equals("3")){
pagging= baseMapper.orderList3(page, query);
}
List<LpkReserveOrderVo> records = pagging.getRecords();
if (!records.isEmpty()) {
records.forEach(s -> {
@ -354,12 +364,22 @@ public class LpkReserveOrderService extends MybatisBaseService<LpkReserveOrderMa
public void exportExcel(LpkReserveOrderQuery query) {
//得到所有要导出的数据
List<ReserveOrderExport> exportList = baseMapper.exportExcel(query);
List<ReserveOrderExport> exportList = new ArrayList<>();
List<ReserveOrderExport> exportList1 = new ArrayList<>();
if (!exportList.isEmpty()) {
exportList.forEach(s -> {
LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid());
s.setGoodsName(lpkGoods.getName());
if(StringUtils.isBlank(query.getCardType())){
exportList= baseMapper.exportExcel( query);
}else if(query.getCardType().equals("1")){
exportList= baseMapper.exportExcel1( query);
}else if(query.getCardType().equals("2")){
exportList= baseMapper.exportExcel2( query);
}else if(query.getCardType().equals("3")){
exportList= baseMapper.exportExcel3( query);
}
// if (!exportList.isEmpty()) {
// exportList.forEach(s -> {
// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid());
// s.setGoodsName(lpkGoods.getName());
// if (StringUtils.isNotBlank(s.getUserPhone())) {
//// String phone = s.getUserPhone().substring(0, 3) + "****" + s.getUserPhone().substring(7);
// String phone = s.getUserPhone();
@ -398,8 +418,8 @@ public class LpkReserveOrderService extends MybatisBaseService<LpkReserveOrderMa
// }
// }
// }
});
}
// });
// }
//定义导出的excel名字
//定义导出的excel名字
String excelName = "订单明细.xlsx";

56
src/main/java/com/yxt/yythmall/biz/lpkreserveordergoods/LpkReserveOrderGoodsService.java

@ -47,34 +47,34 @@ public class LpkReserveOrderGoodsService extends MybatisBaseService<LpkReserveOr
baseMapper.insert(goods);
}
}
AppletVo vo = lpkGiftCardService.getGifCardBySid(dto.getSid()).getData();
int i=0;
for (com.yxt.yythmall.api.lpkgiftcard.GoodsVo vo1 : vo.getGoodsVos()) {
EmpCardGiftGoodsVo goods1=empCardGiftGoodsService.recordListGoods(dto.getSid(),vo1.getGoodsSid()).getData();
LpkReserveOrderGoods goods2 = baseMapper.getReserveByCardSid(dto.getSid(), vo1.getGoodsSid());
double c=0;
if(goods1==null){
if(goods2==null){
c=0;
}else{
c=goods2.getGoodsNumber();
}
}else{
if(goods2==null){
c=goods1.getGoodsNumber();
}else{
c=goods2.getGoodsNumber()+goods1.getGoodsNumber();
}
}
if (vo1.getNum() <= c) {
i++;
}
}
if (vo.getGoodsVos().size() == i) {
lpkGiftCardService.changState(dto.getSid(), "5");
} else {
lpkGiftCardService.changState(dto.getSid(), "4");
}
// AppletVo vo = lpkGiftCardService.getGifCardBySid(dto.getSid()).getData();
// int i=0;
// for (com.yxt.yythmall.api.lpkgiftcard.GoodsVo vo1 : vo.getGoodsVos()) {
// EmpCardGiftGoodsVo goods1=empCardGiftGoodsService.recordListGoods(dto.getSid(),vo1.getGoodsSid()).getData();
// LpkReserveOrderGoods goods2 = baseMapper.getReserveByCardSid(dto.getSid(), vo1.getGoodsSid());
// double c=0;
// if(goods1==null){
// if(goods2==null){
// c=0;
// }else{
// c=goods2.getGoodsNumber();
// }
// }else{
// if(goods2==null){
// c=goods1.getGoodsNumber();
// }else{
// c=goods2.getGoodsNumber()+goods1.getGoodsNumber();
// }
// }
// if (vo1.getNum() <= c) {
// i++;
// }
// }
// if (vo.getGoodsVos().size() == i) {
// lpkGiftCardService.changState(dto.getSid(), "5");
// } else {
// lpkGiftCardService.changState(dto.getSid(), "4");
// }
return rb.success().setData("预约成功");
}

12
src/main/java/com/yxt/yythmall/biz/lpkstore/LpkStoreService.java

@ -2,6 +2,7 @@ package com.yxt.yythmall.biz.lpkstore;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService;
@ -69,7 +70,6 @@ public class LpkStoreService extends MybatisBaseService<LpkStoreMapper, LpkStore
}
/**
*
* @return
*/
public ResultBean<List<StoreSelect>> getAllStore() {
@ -77,6 +77,7 @@ public class LpkStoreService extends MybatisBaseService<LpkStoreMapper, LpkStore
List<StoreSelect> vos = baseMapper.getAllStore();
return rb.success().setData(vos);
}
public ResultBean<List<LpkStoreVo>> getAllStoreByQuery(LpkStoreQuery query) {
ResultBean rb = new ResultBean();
QueryWrapper<LpkStore> qw = new QueryWrapper<>();
@ -88,6 +89,7 @@ public class LpkStoreService extends MybatisBaseService<LpkStoreMapper, LpkStore
List<LpkStoreVo> vos = baseMapper.getAllStoreByQuery(qw);
return rb.success().setData(vos);
}
public ResultBean updateIsEnable(String sid, String isEnable) {
ResultBean rb = new ResultBean();
LpkStore lpkStore = fetchBySid(sid);
@ -101,4 +103,12 @@ public class LpkStoreService extends MybatisBaseService<LpkStoreMapper, LpkStore
List<StoreSelect> vos = baseMapper.getSelectStore();
return rb.success().setData(vos);
}
public List<LpkStore> listStoreOfBank(String bankSid) {
if (StrUtil.isBlank(bankSid))
return this.list();
QueryWrapper<LpkStore> qw = new QueryWrapper<>();
qw.eq("bankSid", bankSid);
return baseMapper.selectList(qw);
}
}

2
src/main/java/com/yxt/yythmall/biz/newcomerrecorecord/NewcomerRecoRecordMapper.java

@ -26,6 +26,6 @@ public interface NewcomerRecoRecordMapper extends BaseMapper<NewcomerRecoRecord>
List<NewcomerRecoRecord> selInOrderSid(@Param("orderSids") List<String> orderSids);
@Select("select *,goodsNumber as num from lpk_reserve_order_goods where orderSid=#{orderSid}")
List<NewcomerRecoRecord> selByOrderSids(String orderSid);
@Select("select * from newcomer_reco_record r where customerSid =#{customerSid} limit 5")
@Select("select * from newcomer_reco_record r where r.customerSid =#{customerSid} and recommendedSid is not null limit 5")
List<NewcomerRecoRecordVo> recordList(@Param("customerSid")String customerSid);
}

12
src/main/java/com/yxt/yythmall/biz/newcomerrecorecord/NewcomerRecoRecordRest.java

@ -5,10 +5,8 @@ import com.yxt.yythmall.api.newcomerrecorecord.NewcomerRecoRecordDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
/**
* @author wangpengfei
@ -24,15 +22,15 @@ public class NewcomerRecoRecordRest {
@ApiOperation("推荐新人用户")
@PostMapping("/recommendNewUsers")
public ResultBean recommendNewUsers(NewcomerRecoRecordDto dto){
public ResultBean recommendNewUsers(@RequestBody NewcomerRecoRecordDto dto){
return newcomerRecoRecordService.recommendNewUsers(dto);
}
@ApiOperation("新人助力")
@PostMapping("/recommendedAssistance")
public ResultBean recommendedAssistance(NewcomerRecoRecordDto dto){
public ResultBean recommendedAssistance(@RequestBody NewcomerRecoRecordDto dto){
return newcomerRecoRecordService.recommendedAssistance(dto);
}
@ApiOperation("新人助力")
@ApiOperation("新人推荐列表")
@PostMapping("/recordList/{customerSid}")
public ResultBean recordList(@PathVariable("customerSid") String customerSid){
return newcomerRecoRecordService.recordList(customerSid);

58
src/main/java/com/yxt/yythmall/biz/newcomerrecorecord/NewcomerRecoRecordService.java

@ -4,15 +4,23 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean;
import com.yxt.yythmall.api.appletgiftbag.AppletGiftBag;
import com.yxt.yythmall.api.appletgiftbag.AppletGiftBagVo;
import com.yxt.yythmall.api.appletgiftbag.RecommendRecord;
import com.yxt.yythmall.api.appletgiftbaggoods.AppletGiftBagGoods;
import com.yxt.yythmall.api.empcardgiftgoods.EmpCardGiftGoodsVo;
import com.yxt.yythmall.api.lpkcustomer.LpkCustomer;
import com.yxt.yythmall.api.lpkgiftcard.AppletVo;
import com.yxt.yythmall.api.lpkgiftcard.GoodsVo;
import com.yxt.yythmall.api.lpkgoods.LpkGoods;
import com.yxt.yythmall.api.newcomerrecorecord.NewcomerRecoRecord;
import com.yxt.yythmall.api.newcomerrecorecord.NewcomerRecoRecordDto;
import com.yxt.yythmall.api.newcomerrecorecord.NewcomerRecoRecordVo;
import com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBag;
import com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagVo;
import com.yxt.yythmall.api.recommendnewuserbagdetails.RecommendNewUserBagDetails;
import com.yxt.yythmall.api.vegetablecellar.VegetableCellarDto;
import com.yxt.yythmall.api.vegetablecellar.vegeVo;
import com.yxt.yythmall.biz.appletgiftbag.AppletGiftBagService;
@ -21,9 +29,12 @@ import com.yxt.yythmall.biz.empcardgiftgoods.EmpCardGiftGoodsService;
import com.yxt.yythmall.biz.lpkcustomer.LpkCustomerService;
import com.yxt.yythmall.biz.lpkgiftcard.LpkGiftCardService;
import com.yxt.yythmall.biz.lpkgoods.LpkGoodsService;
import com.yxt.yythmall.biz.recommendnewuserbag.RecommendNewUserBagService;
import com.yxt.yythmall.biz.recommendnewuserbagdetails.RecommendNewUserBagDetailsService;
import com.yxt.yythmall.biz.vegetablecellar.VegetableCellarService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
@ -45,6 +56,10 @@ public class NewcomerRecoRecordService extends MybatisBaseService<NewcomerRecoRe
VegetableCellarService vegetableCellarService;
@Autowired
LpkGoodsService lpkGoodsService;
@Autowired
RecommendNewUserBagService recommendNewUserBagService;
@Autowired
RecommendNewUserBagDetailsService recommendNewUserBagDetailsService;
public ResultBean<NewcomerRecoRecord> getReserveByCardSid(String carSid, String goodsSid) {
ResultBean rb = new ResultBean();
NewcomerRecoRecord goods = baseMapper.getReserveByCardSid(carSid, goodsSid);
@ -54,23 +69,35 @@ public class NewcomerRecoRecordService extends MybatisBaseService<NewcomerRecoRe
public ResultBean recommendNewUsers(NewcomerRecoRecordDto dto) {
ResultBean rb = new ResultBean();
NewcomerRecoRecord newcomerRecoRecord = new NewcomerRecoRecord();
List<RecommendNewUserBag> bags=recommendNewUserBagService.list();
dto.setGiftBagSid(bags.get(0).getSid());
dto.setGiftName(bags.get(0).getName());
BeanUtil.copyProperties(dto, newcomerRecoRecord, "id", "sid");
newcomerRecoRecord.setCreateTime(new Date());
newcomerRecoRecord.setRecommendSid(dto.getCustomerSid());
baseMapper.insert(newcomerRecoRecord);
return rb.success().setData("推荐成功");
return rb.success().setData(newcomerRecoRecord);
}
@Transactional(rollbackFor = Exception.class)
public ResultBean recommendedAssistance(NewcomerRecoRecordDto dto) {
ResultBean rb = new ResultBean();
ResultBean rb = new ResultBean().fail();
LpkCustomer customer=lpkCustomerService.getOne(new QueryWrapper<LpkCustomer>().eq("sid",dto.getCustomerSid()));
if(null==customer){
return rb.setMsg("参数不全");
}
if(!customer.getIsNewUser().equals("1")){
return rb.setMsg("您不是新人");
}
NewcomerRecoRecord newcomerRecoRecord = baseMapper.selectOne(new QueryWrapper<NewcomerRecoRecord>().eq("sid",dto.getSid()));
newcomerRecoRecord.setRecommendedSid(dto.getRecommendedSid());
newcomerRecoRecord.setRecommendedSid(dto.getCustomerSid());
newcomerRecoRecord.setAssistanceDate(new Date());
baseMapper.updateById(newcomerRecoRecord);
List<AppletGiftBagGoods>list=appletGiftBagGoodsService.list(new QueryWrapper<AppletGiftBagGoods>().eq("giftbagSid",dto.getGiftBagSid()));
List<RecommendNewUserBagDetails>list=recommendNewUserBagDetailsService.list(new QueryWrapper<RecommendNewUserBagDetails>().eq("giftbagSid",dto.getGiftBagSid()));
// List<AppletGiftBagGoods>list=appletGiftBagGoodsService.list(new QueryWrapper<AppletGiftBagGoods>().eq("giftbagSid",dto.getGiftBagSid()));
VegetableCellarDto dto1=new VegetableCellarDto();
dto1.setCustomerSid(dto.getRecommendSid());
dto1.setCustomerSid(customer.getSid());
List<vegeVo> vos=new ArrayList<>();
for (AppletGiftBagGoods appletGiftBagGoods : list) {
for (RecommendNewUserBagDetails appletGiftBagGoods : list) {
LpkGoods a=lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid",appletGiftBagGoods.getGoodsSid()));
vegeVo vo=new vegeVo();
vo.setGoodsSid(appletGiftBagGoods.getGoodsSid());
@ -80,16 +107,23 @@ public class NewcomerRecoRecordService extends MybatisBaseService<NewcomerRecoRe
}
dto1.setVos(vos);
vegetableCellarService.save1Goods(dto1);
//改变新人状态
customer.setIsNewUser("0");
lpkCustomerService.updateById(customer);
return rb.success().setData("助力成功");
}
public ResultBean recordList(String customerSid) {
ResultBean rb = new ResultBean();
RecommendNewUserBagVo vo=new RecommendNewUserBagVo();
List<NewcomerRecoRecordVo> vos=baseMapper.recordList(customerSid);
// vos.forEach(s->{
// s.
// });
for (NewcomerRecoRecordVo newcomerRecoRecordVo : vos) {
RecommendNewUserBag r= recommendNewUserBagService.getOne(new QueryWrapper<RecommendNewUserBag>().eq("sid",newcomerRecoRecordVo.getGiftBagSid()));
//被推荐人的信息
LpkCustomer l= lpkCustomerService.getOne(new QueryWrapper<LpkCustomer>().eq("sid",newcomerRecoRecordVo.getRecommendedSid()));
//推荐人信息
LpkCustomer p=lpkCustomerService.getOne(new QueryWrapper<LpkCustomer>().eq("sid",newcomerRecoRecordVo.getRecommendSid()));
newcomerRecoRecordVo.setRemarks(l.getNick()+"助力您获得"+r.getName());
}
return rb.success().setData("助力成功");
}
}

11
src/main/java/com/yxt/yythmall/biz/ordorder/OrdOrderMapper.java

@ -1,8 +1,17 @@
package com.yxt.yythmall.biz.ordorder;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.common.core.result.ResultBean;
import com.yxt.yythmall.api.lpkstore.LpkStore;
import com.yxt.yythmall.api.ordorder.OrdOrder;
import com.yxt.yythmall.api.ordorder.OrdOrderVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author wangpengfei
@ -10,5 +19,7 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface OrdOrderMapper extends BaseMapper<OrdOrder> {
IPage<OrdOrderVo> orderList(IPage<OrdOrder> page, @Param(Constants.WRAPPER) QueryWrapper<OrdOrder> qw);
OrdOrderVo getOrderDetails(@Param("sid")String sid);
}

110
src/main/java/com/yxt/yythmall/biz/ordorder/OrdOrderMapper.xml

@ -4,111 +4,23 @@
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="storeListPage" resultType="com.yxt.yythmall.api.lpkstore.LpkStoreVo">
<select id="orderList" resultType="com.yxt.yythmall.api.ordorder.OrdOrderVo">
select
sid,
date_format(createTime, '%Y-%m-%d') as createTime,
code,
`name`,
address,
phone,
businessHours
from lpk_store
*
from ord_order
<where>
${ew.sqlSegment}
</where>
</select>
<select id="orderList" resultType="com.yxt.yythmall.api.lpkreserveorder.LpkReserveOrderVo">
<select id="getOrderDetails" resultType="com.yxt.yythmall.api.ordorder.OrdOrderVo">
select
o.sid,
date_format(o.reserveDate, '%Y-%m-%d') as reserveDate,
o.userName,
o.userPhone,
s.`name` as store,
b.`name` as bagName,
c.`code`
from lpk_reserve_order as o
left join lpk_store as s on o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="orderListByStore" resultType="com.yxt.yythmall.api.lpkreserveorder.LpkReserveOrderVo">
select
o.sid,
date_format(o.reserveDate, '%Y-%m-%d') as reserveDate,
s.`name` as store,
s.sid as storeSid
from lpk_reserve_order as o
left join lpk_store as s on o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="orderByCardSid" resultType="com.yxt.yythmall.api.lpkreserveorder.LpkReserveOrderCardVo">
SELECT date_format(o.reserveDate, '%Y-%m-%d') as reserveDate,
c.`code`,
s.`name` as store,
b.`name` as bagName,
o.sid as orderSid
FROM lpk_reserve_order AS o
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
WHERE o.cardSid = #{sid}
</select>
<select id="orderListByUserSid" resultType="com.yxt.yythmall.api.lpkreserveorder.LpkReserveOrderCardVo">
SELECT date_format(o.reserveDate, '%Y-%m-%d') as reserveDate,
c.`code`,
s.`name` as store,
b.`name` as bagName,
o.cardSid as cardSid,
o.sid as orderSid,
o.userName,
o.userPhone,c.serialNumber as serialNumber,
o.sid
FROM lpk_reserve_order AS o
LEFT JOIN lpk_store AS s ON o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="exportExcel" resultType="com.yxt.yythmall.api.lpkreserveorder.ReserveOrderExport">
select
o.sid,
date_format(o.reserveDate, '%Y-%m-%d') as reserveDate,
o.userName,
o.userPhone,
s.`name` as store,
b.`name` as bagName,
c.`code`
from lpk_reserve_order as o
left join lpk_store as s on o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="exportExcelByStore" resultType="com.yxt.yythmall.api.lpkreserveorder.ReserveOrderExportByStore">
select
o.sid,
date_format(o.reserveDate, '%Y-%m-%d') as reserveDate,
s.`name` as store,
s.sid as storeSid
from lpk_reserve_order as o
left join lpk_store as s on o.storeSid = s.sid
LEFT JOIN lpk_giftcard AS c ON o.cardSid = c.sid
LEFT JOIN lpk_giftbag AS b ON c.giftbagSid = b.sid
<where>
${ew.sqlSegment}
</where>
*
from ord_order
where sid=#{sid}
</select>
</mapper>

27
src/main/java/com/yxt/yythmall/biz/ordorder/OrdOrderRest.java

@ -1,7 +1,12 @@
package com.yxt.yythmall.biz.ordorder;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.yythmall.api.lpkstore.LpkStoreVo;
import com.yxt.yythmall.api.ordorder.OrdOrderDto;
import com.yxt.yythmall.api.ordorder.OrdOrderQuery;
import com.yxt.yythmall.api.ordorder.OrdOrderVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -25,8 +30,28 @@ public class OrdOrderRest {
return ordOrderService.createOrder(dto);
}
@PostMapping("/createVegeOrder")
@ApiOperation(value = "创建订单")
@ApiOperation(value = "创建菜窖账户订单")
public ResultBean createVegeOrder(@RequestBody OrdOrderDto dto) {
return ordOrderService.createVegeOrder(dto);
}
@PostMapping("/createNewUserBagOrder")
@ApiOperation(value = "创建新人限购礼包订单")
public ResultBean createNewUserBagOrder(@RequestBody OrdOrderDto dto) {
return ordOrderService.createNewUserBagOrder(dto);
}
@PostMapping("/ordersList")
@ApiOperation(value = "支付记录")
public ResultBean<PagerVo<OrdOrderVo>> orderList(@RequestBody PagerQuery<OrdOrderQuery> query) {
return ordOrderService.orderList(query);
}
@GetMapping("/OrderDetails/{sid}")
@ApiOperation(value = "支付记录明细")
public ResultBean<OrdOrderVo> getOrderDetails(@PathVariable("sid") String sid) {
return ordOrderService.getOrderDetails(sid);
}
@GetMapping("/changePayState/{sid}")
@ApiOperation(value = "改变订单状态")
public ResultBean changePayState(@PathVariable("sid") String sid) {
return ordOrderService.changePayState(sid);
}
}

289
src/main/java/com/yxt/yythmall/biz/ordorder/OrdOrderService.java

@ -1,20 +1,42 @@
package com.yxt.yythmall.biz.ordorder;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoodss;
import com.yxt.yythmall.api.lpkcustomer.LpkCustomer;
import com.yxt.yythmall.api.lpkcustomer.LpkCustomerVo;
import com.yxt.yythmall.api.lpkgoods.LpkGoods;
import com.yxt.yythmall.api.lpkstore.LpkStore;
import com.yxt.yythmall.api.lpkstore.LpkStoreQuery;
import com.yxt.yythmall.api.lpkstore.LpkStoreVo;
import com.yxt.yythmall.api.ordorder.*;
import com.yxt.yythmall.api.ordorderdetails.OrdOrderDetail;
import com.yxt.yythmall.api.ordorderdetails.OrdOrderDetailVo;
import com.yxt.yythmall.api.shoppingcart.ShoppingCart;
import com.yxt.yythmall.api.shoppingcart.ShoppingCartQuery;
import com.yxt.yythmall.api.shoppingcart.ShoppingCartVo;
import com.yxt.yythmall.biz.appletgiftbag.AppletGiftBagService;
import com.yxt.yythmall.biz.lpkcustomer.LpkCustomerService;
import com.yxt.yythmall.biz.lpkgoods.LpkGoodsService;
import com.yxt.yythmall.biz.ordorderdetails.OrdOrderDetailService;
import com.yxt.yythmall.biz.shoppingcart.ShoppingCartService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.RestTemplate;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
/**
@ -25,10 +47,21 @@ import java.util.*;
public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder> {
private static final String OrderUrl="https://supervise.yxtsoft.com/lpkapi/empcardgift/generateTopEmpCard?mainSid=";
private static final String or="https://supervise.yxtsoft.com/lpkapi/vegetablecellar/addGoods?mainSid=";
@Autowired
OrdOrderDetailService ordOrderDetailsService;
@Autowired
LpkCustomerService lpkCustomerService;
@Autowired
ShoppingCartService shoppingCartService;
@Autowired
LpkGoodsService lpkGoodsService;
@Autowired
AppletGiftBagService appletGiftBagService;
@Autowired
OrdOrderDetailService ordOrderDetailService;
@Autowired
private FileUploadComponent fileUploadComponent;
@Transactional(rollbackFor = Exception.class)
@ -47,9 +80,10 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder
}
OrdOrder order=new OrdOrder();
BeanUtil.copyProperties(dto, order, "id", "sid");
order.setCreateTime(new Date());
order.setMainSid(rb2.get("mainSid").toString());
order.setPayStatus(1);
order.setOutTradeNo(rb2.get("outTradeNo").toString());
order.setPayStatus(2);
order.setPayTime(new Date());
order.setCardNumber(dto.getCardNumber());
order.setSource(0);
@ -115,9 +149,30 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder
@Transactional(rollbackFor = Exception.class)
public ResultBean createVegeOrder(OrdOrderDto dto) {
String or="";
ResultBean rb = ResultBean.fireFail();
PayResult result=new PayResult();
List<OrdOrderDetailVo> ordOrderDetailVos=new ArrayList<>();
ShoppingCartQuery query=new ShoppingCartQuery();
query.setCustomerSid(dto.getCustomerSid());
query.setBrandId(dto.getBrandId());
List<ShoppingCartVo> vos=shoppingCartService.shoppingCartList(query).getData();
List<String> strings=new ArrayList<>();
double totalAmount=0;
for (ShoppingCartVo vo : vos) {
OrdOrderDetailVo vo1 =new OrdOrderDetailVo();
LpkGoods goods = lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid", vo.getGoodsSid()));
vo1.setGoodsSid(vo.getGoodsSid());
vo1.setGoodsName(vo.getGoodsName());
vo1.setPartNumber(Integer.parseInt(vo.getGoodsNumber()));
vo1.setNumofPart(Double.valueOf(vo.getWeight()));
vo1.setPriceUnit(Double.valueOf(goods.getPrice()));
vo1.setPricePart((Double.valueOf(goods.getPrice())*Double.valueOf(goods.getWeight())));
totalAmount= Double.valueOf(vo1.getPricePart())*Double.valueOf(vo1.getPartNumber())+totalAmount;
ordOrderDetailVos.add(vo1);
strings.add(vo.getSid());
}
dto.setOrdOrderDetailsVoList(ordOrderDetailVos);
Map<String,Object>map =new HashMap<>();
LpkCustomerVo vo= lpkCustomerService.getCustomerInfo(dto.getCustomerSid()).getData();
Map<String, Object> sendBody=buildMessageBody( vo.getSid(), vo.getWxMpOpenid(),dto.getTotalTee(),dto.getOrdOrderDetailsVoList(),or);
@ -130,16 +185,17 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder
}
OrdOrder order=new OrdOrder();
BeanUtil.copyProperties(dto, order, "id", "sid");
order.setCreateTime(new Date());
order.setMainSid(rb2.get("mainSid").toString());
order.setPayStatus(1);
order.setOutTradeNo(rb2.get("outTradeNo").toString());
order.setPayStatus(2);
order.setPayTime(new Date());
order.setCardNumber(dto.getCardNumber());
order.setSource(0);
order.setUserSid(vo.getSid());
order.setOpenId(vo.getWxMpOpenid());
order.setTotalTee(dto.getTotalTee());
order.setVegeCellarType(dto.getVegeCellarType());
order.setTotalTee(dto.getTotalTee());//实付金额
order.setMeet(removeZeros(String.valueOf(totalAmount)));//应付金额
if(dto.getOrdOrderDetailsVoList().size()>1){
order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"等"+(dto.getOrdOrderDetailsVoList().size()-1)+"件商品");
}else{
@ -160,6 +216,9 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder
});
ordOrderDetailsService.saveBatch(ordOrders);
//生成订单 删除购物车
String [] sids=strings.toArray(new String [0]);
shoppingCartService.delBySids(sids);
if(dto.getOrdOrderDetailsVoList().size()>1){
result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"等"+(dto.getOrdOrderDetailsVoList().size()-1)+"件商品");
}else{
@ -193,6 +252,115 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder
result.setTrade_no_url(tradeNoUrl);
String [] a =new String []{"pay"};
result.setBus(a);
//新人限购礼包 该状态
LpkCustomer customer=lpkCustomerService.getOne(new QueryWrapper<LpkCustomer>().eq("sid",dto.getCustomerSid()));
customer.setIsPurchase("0");
lpkCustomerService.updateById(customer);
return rb.success().setData(result);
}
@Transactional(rollbackFor = Exception.class)
public ResultBean createNewUserBagOrder(OrdOrderDto dto) {
ResultBean rb = ResultBean.fireFail();
PayResult result=new PayResult();
List<OrdOrderDetailVo> ordOrderDetailVos=new ArrayList<>();
List<GiftBagGoodss> vos=appletGiftBagService.getGoodsByBagSid(dto.getBagSid()).getData();
dto.setTotalTee(vos.get(0).getPrefPrice());
dto.setCardNumber(1);
double totalAmount=0;
for (GiftBagGoodss vo : vos) {
OrdOrderDetailVo vo1 =new OrdOrderDetailVo();
LpkGoods goods = lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid", vo.getGoodsSid()));
vo1.setGoodsSid(vo.getGoodsSid());
vo1.setGoodsName(vo.getName());
vo1.setPartNumber(Integer.parseInt(vo.getGoodsNumber()));
vo1.setNumofPart(Double.valueOf(vo.getWeight()));
vo1.setPriceUnit(Double.valueOf(goods.getPrice()));
vo1.setPricePart((Double.valueOf(goods.getPrice())*Double.valueOf(goods.getWeight())));
totalAmount= Double.valueOf(vo1.getPricePart())*Double.valueOf(vo1.getPartNumber())+totalAmount;
ordOrderDetailVos.add(vo1);
}
dto.setOrdOrderDetailsVoList(ordOrderDetailVos);
Map<String,Object>map =new HashMap<>();
LpkCustomerVo vo= lpkCustomerService.getCustomerInfo(dto.getCustomerSid()).getData();
Map<String, Object> sendBody=buildMessageBody( vo.getSid(), vo.getWxMpOpenid(),dto.getTotalTee(),dto.getOrdOrderDetailsVoList(),or);
ResponseEntity<ResultBean> postForEntity=new RestTemplate().postForEntity("https://supervise.yxtsoft.com/wxPay/order/createOrder", sendBody,ResultBean.class);
ResultBean<PayOrderVo> rb1= postForEntity.getBody();
LinkedHashMap rb2= (LinkedHashMap)postForEntity.getBody().getData();
if(!rb1.getCode().equals("200")){
return rb1;
}
OrdOrder order=new OrdOrder();
BeanUtil.copyProperties(dto, order, "id", "sid");
order.setCreateTime(new Date());
order.setMainSid(rb2.get("mainSid").toString());
order.setOutTradeNo(rb2.get("outTradeNo").toString());
order.setPayStatus(2);
order.setPayTime(new Date());
order.setCardNumber(dto.getCardNumber());
order.setSource(0);
order.setUserSid(vo.getSid());
order.setOpenId(vo.getWxMpOpenid());
order.setTotalTee(dto.getTotalTee());
order.setMeet(removeZeros(String.valueOf(totalAmount)));//应付金额
if(dto.getOrdOrderDetailsVoList().size()>1){
order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"等"+(dto.getOrdOrderDetailsVoList().size()-1)+"件商品");
}else{
order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"商品");
}
// order.setName("商品");
order.setTimeRemarks(10);
order.setReturnUrl(or);
baseMapper.insert(order);
List<OrdOrderDetail> ordOrders=new ArrayList<>();
dto.getOrdOrderDetailsVoList().forEach(s->{
OrdOrderDetail ordOrderDetails=new OrdOrderDetail();
BeanUtil.copyProperties(s, ordOrderDetails, "id", "sid");
ordOrderDetails.setOrderSid(order.getSid());
ordOrders.add(ordOrderDetails);
});
ordOrderDetailsService.saveBatch(ordOrders);
//生成订单 删除购物车
if(dto.getOrdOrderDetailsVoList().size()>1){
result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"等"+(dto.getOrdOrderDetailsVoList().size()-1)+"件商品");
}else{
result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"商品");
}
result.setPrice(dto.getTotalTee());
// result.setOrderId(rbData.getOutTradeNo());
result.setOrderId(rb2.get("outTradeNo").toString());
result.setRemainder(String.valueOf(10*60));
PayUrl payUrl=new PayUrl();
payUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/pay");
PayParams aVoid=new PayParams();
aVoid.setMainSid(rb2.get("mainSid").toString());
payUrl.setParams(aVoid);
OrderUrl orderUrl=new OrderUrl();
OrderParams orderParams=new OrderParams();
orderParams.setMainSid("");
orderUrl.setParams(orderParams);
TradeNoUrl tradeNoUrl=new TradeNoUrl();
tradeNoUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/orderQuery");
TradeParams tradeParams=new TradeParams();
tradeParams.setMainSid(rb2.get("mainSid").toString());
tradeNoUrl.setParams(tradeParams);
// result.setOrder_url(orderUrl);
result.setPay_url(payUrl);
result.setTrade_no_url(tradeNoUrl);
String [] a =new String []{"pay"};
result.setBus(a);
//新人限购礼包 该状态
LpkCustomer customer=lpkCustomerService.getOne(new QueryWrapper<LpkCustomer>().eq("sid",dto.getCustomerSid()));
customer.setIsPurchase("0");
lpkCustomerService.updateById(customer);
return rb.success().setData(result);
}
private static Map<String, Object> buildMessageBody(String userSid, String openId, String totalTee, List<OrdOrderDetailVo> detailVos,String returnUrl){
@ -214,4 +382,111 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder
return mp_template_msg;
}
public ResultBean<PagerVo<OrdOrderVo>> orderList(PagerQuery<OrdOrderQuery> pq) {
ResultBean rb=new ResultBean().fail();
OrdOrderQuery query = pq.getParams();
IPage<OrdOrder> page = PagerUtil.queryToPage(pq);
QueryWrapper<OrdOrder> qw = new QueryWrapper<>();
if (StringUtils.isBlank(query.getCustomerSid())){
return rb.setMsg("参数不全");
}
if(StringUtils.isNotBlank(query.getState())){
qw.eq("payStatus",query.getState());
}
qw.eq("userSid",query.getCustomerSid());
qw.orderByDesc("createTime");
IPage<OrdOrderVo> pagging = baseMapper.orderList(page, qw);
for (OrdOrderVo record : pagging.getRecords()) {
List<OrdOrderDetail> details=ordOrderDetailService.list(new QueryWrapper<OrdOrderDetail>().eq("orderSid",record.getSid()));
List<String> urls=new ArrayList<>();
for (OrdOrderDetail detail : details) {
LpkGoods lpkGoods=lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid",detail.getGoodsSid()));
urls.add(fileUploadComponent.getUrlPrefix()+lpkGoods.getPicUrl());
}
record.setCount(String.valueOf(details.size()));
record.setPicUrls(urls);
}
PagerVo<LpkStoreVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
public ResultBean<OrdOrderVo> getOrderDetails(String sid) {
ResultBean rb=new ResultBean().fail();
OrdOrderVo pagging = baseMapper.getOrderDetails(sid);
List<OrdOrderDetail> details=ordOrderDetailService.list(new QueryWrapper<OrdOrderDetail>().eq("orderSid",pagging.getSid()));
if(StringUtils.isBlank(pagging.getMeet())){
pagging.setMeet(pagging.getTotalTee());
}
DecimalFormat decimalFormat = new DecimalFormat("#0.00");
pagging.setSurcharge(removeZeros(String.valueOf(decimalFormat.format(Double.valueOf(pagging.getTotalTee())-Double.valueOf(pagging.getMeet())))));
for (OrdOrderDetail detail : details) {
LpkGoods lpkGoods=lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid",detail.getGoodsSid()));
detail.setPicUrl(fileUploadComponent.getUrlPrefix()+lpkGoods.getPicUrl());
detail.setRemarks(removeZeros(String.valueOf(detail.getNumofPart()))+"斤/份,"+"共"+detail.getPartNumber()+"份");
}
pagging.setOrdOrderDetails(details);
SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
pagging.setEndTime(sdf1.format(DateUtil.offsetMinute(pagging.getCreateTime(),pagging.getTimeRemarks())));
if(pagging.getPayStatus()==2){
PayResult result=new PayResult();
if(details.size()>1){
result.setGoods(details.get(0).getGoodsName().toString()+"等"+(details.size()-1)+"件商品");
}else{
result.setGoods(details.get(0).getGoodsName().toString()+"商品");
}
result.setPrice(pagging.getTotalTee());
// result.setOrderId(rbData.getOutTradeNo());
result.setOrderId(pagging.getOutTradeNo());
result.setRemainder(String.valueOf(10*60));
PayUrl payUrl=new PayUrl();
payUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/pay");
PayParams aVoid=new PayParams();
aVoid.setMainSid(pagging.getMainSid());
payUrl.setParams(aVoid);
OrderUrl orderUrl=new OrderUrl();
OrderParams orderParams=new OrderParams();
orderParams.setMainSid("");
orderUrl.setParams(orderParams);
TradeNoUrl tradeNoUrl=new TradeNoUrl();
tradeNoUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/orderQuery");
TradeParams tradeParams=new TradeParams();
tradeParams.setMainSid(pagging.getMainSid());
tradeNoUrl.setParams(tradeParams);
// result.setOrder_url(orderUrl);
result.setPay_url(payUrl);
result.setTrade_no_url(tradeNoUrl);
String [] a =new String []{"pay"};
result.setBus(a);
pagging.setResult(result);
}
return rb.success().setData(pagging);
}
public ResultBean changePayState(String sid) {
ResultBean rb=new ResultBean().fail();
OrdOrder order=baseMapper.selectOne(new QueryWrapper<OrdOrder>().eq("sid",sid));
if(order.getPayStatus()==2){
order.setPayStatus(3);
baseMapper.updateById(order);
}
return rb.success().setData(order);
}
/**
* 去除多余.0
* @param num
* @return
*/
public static String removeZeros(String num) {
if (num.indexOf(".") > 0) {
// 去掉多余的0
num = num.replaceAll("0+?$", "");
// 如果最后一位是. 则去掉
num = num.replaceAll("[.]$", "");
}
return num;
}
}

29
src/main/java/com/yxt/yythmall/biz/recommendnewuserbag/RecommendNewUserBagMapper.java

@ -0,0 +1,29 @@
package com.yxt.yythmall.biz.recommendnewuserbag;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoodss;
import com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBag;
import com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/11/21 15:03
*/
@Mapper
public interface RecommendNewUserBagMapper extends BaseMapper<RecommendNewUserBag> {
IPage<RecommendNewUserBagVo> giftBagListPage(IPage<RecommendNewUserBag> page, @Param(Constants.WRAPPER) QueryWrapper<RecommendNewUserBag> qw);
List<RecommendNewUserBagVo> giftBagList();
List<RecommendNewUserBagVo> giftBagGoodsList();
List<GiftBagGoodss> getGoodsByBagSid(@Param("bagSid") String bagSid);
int saveBags(@Param("bags") List<RecommendNewUserBag> bags);
}

62
src/main/java/com/yxt/yythmall/biz/recommendnewuserbag/RecommendNewUserBagMapper.xml

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.yythmall.biz.recommendnewuserbag.RecommendNewUserBagMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<insert id="saveBags" parameterType="java.util.List">
insert into lpk_giftbag(sid,createTime,`name`,dateStart,dateEnd)
values
<foreach collection="bags" item="item" index="index" separator=",">
(#{item.sid},#{item.createTime},#{item.name},#{item.dateStart},#{item.dateEnd})
</foreach>
</insert>
<select id="giftBagListPage" resultType="com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagVo">
select
sid,
`name`,
date_format(dateStart, '%Y-%m-%d') as dateStart,
date_format(dateEnd, '%Y-%m-%d') as dateEnd,
price,
iconUrl,
isEnable,
isGrounding,
isRecommend
from recommend_newuser_bag
<where>
${ew.sqlSegment}
</where>
</select>
<select id="giftBagList" resultType="com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagVo">
select
*
from recommend_newuser_bag
where isGrounding=1
order by isRecommend desc,createTime desc
</select>
<select id="giftBagGoodsList" resultType="com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagVo">
select
a.sid,
a.name ,
a.iconUrl,
a.price ,
a.preferentialPrice as prefPrice
from recommend_newuser_bag a
</select>
<select id="getGoodsByBagSid" resultType="com.yxt.yythmall.api.appletgiftbag.GiftBagGoodss">
select
a.preferentialPrice as prefPrice,
c.name as name,
c.sid as goodsSid,
c.specificationUnit as specificationUnit,
c.unitName as unitName,
b.goodsNumber as goodsNumber,
c.weight as weight
from recommend_newuser_bag a
left join recommend_newuser_bag_details b on b.giftbagSid=a.sid
left join lpk_goods c on c.sid =b.goodsSid
where a.sid=#{bagSid}
</select>
</mapper>

79
src/main/java/com/yxt/yythmall/biz/recommendnewuserbag/RecommendNewUserBagRest.java

@ -0,0 +1,79 @@
package com.yxt.yythmall.biz.recommendnewuserbag;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagDto;
import com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagQuery;
import com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/11/21 15:03
*/
@Api(tags = "小程序礼包信息")
@RestController
@RequestMapping("ecommendnewuserbag")
public class RecommendNewUserBagRest {
@Autowired
RecommendNewUserBagService recommendNewUserBagService;
@ApiOperation("礼包信息列表")
@PostMapping("/giftBagListPage")
public ResultBean<PagerVo<RecommendNewUserBagVo>> giftBagListPage(@RequestBody PagerQuery<RecommendNewUserBagQuery> pq) {
return recommendNewUserBagService.giftBagListPage(pq);
}
@ApiOperation("保存修改")
@PostMapping("/saveGiftBag")
public ResultBean<String> saveGiftBag(@RequestBody RecommendNewUserBagDto dto) {
return recommendNewUserBagService.saveGiftBag(dto);
}
@ApiOperation("礼包初始化")
@GetMapping("/giftBagInit/{sid}")
public ResultBean giftBagInit(@PathVariable String sid) {
return recommendNewUserBagService.giftBagInit(sid);
}
@ApiOperation("删除礼包")
@DeleteMapping("/deleteBag/{sid}")
public ResultBean deleteBag(@PathVariable("sid") String sid) {
return recommendNewUserBagService.deleteBag(sid);
}
@ApiOperation("礼包信息列表")
@GetMapping("/giftBagList")
public ResultBean giftBagList() {
return recommendNewUserBagService.giftBagList();
}
@GetMapping("/isGrounding/{sid}/{state}")
@ApiOperation(value = "设置是否上下架")
public ResultBean isGrounding(@PathVariable("sid")String sid,@PathVariable("state") String state) {
return recommendNewUserBagService.isGrounding(sid, state);
}
@ApiOperation("小程序礼包信息列表")
@GetMapping("/recommendNewUserBagList")
public ResultBean<List<RecommendNewUserBagVo>> recommendNewUserBagList() {
return recommendNewUserBagService.recommendNewUserBagList();
}
@ApiOperation("礼包初始化")
@GetMapping("/getGiftBagBySid/{sid}")
public ResultBean getGiftBagBySid(@PathVariable String sid) {
return recommendNewUserBagService.getGiftBagBySid(sid);
}
@ApiOperation("新人专属购买礼包")
@PostMapping("/newUserQuota")
public ResultBean newUserQuota() {
return recommendNewUserBagService.newUserQuota();
}
}

302
src/main/java/com/yxt/yythmall/biz/recommendnewuserbag/RecommendNewUserBagService.java

@ -0,0 +1,302 @@
package com.yxt.yythmall.biz.recommendnewuserbag;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoods;
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoodss;
import com.yxt.yythmall.api.appletgiftbag.RecommendRecord;
import com.yxt.yythmall.api.lpkgoods.LpkGoods;
import com.yxt.yythmall.api.recommendnewuserbag.*;
import com.yxt.yythmall.api.recommendnewuserbagdetails.RecommendNewUserBagDetails;
import com.yxt.yythmall.biz.lpkgoods.LpkGoodsService;
import com.yxt.yythmall.biz.recommendnewuserbagdetails.RecommendNewUserBagDetailsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/11/21 15:03
*/
@Service
public class RecommendNewUserBagService extends MybatisBaseService<RecommendNewUserBagMapper, RecommendNewUserBag> {
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private RecommendNewUserBagDetailsService recommendNewUserBagDetailsService;
@Autowired
private LpkGoodsService lpkGoodsService;
public ResultBean<PagerVo<RecommendNewUserBagVo>> giftBagListPage(PagerQuery<RecommendNewUserBagQuery> pq) {
ResultBean rb = ResultBean.fireFail();
RecommendNewUserBagQuery query = pq.getParams();
QueryWrapper<RecommendNewUserBag> qw = new QueryWrapper<>();
qw.eq("1", "1");
if (StringUtils.isNotBlank(query.getName())) {
qw.like("name", query.getName());
}
qw.orderByDesc("isRecommend");
qw.orderByDesc("createTime");
IPage<RecommendNewUserBag> page = PagerUtil.queryToPage(pq);
IPage<RecommendNewUserBagVo> pagging = baseMapper.giftBagListPage(page, qw);
PagerVo<RecommendNewUserBagVo> p = PagerUtil.pageToVo(pagging, null);
List<RecommendNewUserBagVo> records = pagging.getRecords();
records.removeAll(Collections.singleton(null));
if (!records.isEmpty()) {
for (RecommendNewUserBagVo record : records) {
if (StringUtils.isNotBlank(record.getIconUrl())) {
record.setIconUrl(fileUploadComponent.getUrlPrefix() + record.getIconUrl());
}
}
}
return rb.success().setData(p);
}
@Transactional(rollbackFor = Exception.class)
public ResultBean<String> saveGiftBag(RecommendNewUserBagDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = "";
if (StringUtils.isNotBlank(dto.getSid())) {
sid = dto.getSid();
recommendNewUserBagDetailsService.deleteGoodsByBagSid(dto.getSid());
RecommendNewUserBag RecommendNewUserBag = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, RecommendNewUserBag, "id", "sid");
RecommendNewUserBag.setCreateTime(new DateTime());
if (StringUtils.isNotBlank(dto.getIconUrl())) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
String path = dto.getIconUrl().substring(urlPrefix.length());
RecommendNewUserBag.setIconUrl(path);
}
baseMapper.updateById(RecommendNewUserBag);
if (!dto.getGoods().isEmpty()) {
List<GiftBagGoods> goodsList = dto.getGoods();
for (GiftBagGoods goods : goodsList) {
RecommendNewUserBagDetails RecommendNewUserBagGoods = new RecommendNewUserBagDetails();
RecommendNewUserBagGoods.setCreateTime(new DateTime());
RecommendNewUserBagGoods.setGoodsSid(goods.getGoodsSid());
RecommendNewUserBagGoods.setGiftbagSid(RecommendNewUserBag.getSid());
RecommendNewUserBagGoods.setGoodsNumber(goods.getGoodsNumber());
RecommendNewUserBagGoods.setPrice(Double.valueOf(goods.getPrice()));
recommendNewUserBagDetailsService.insert(RecommendNewUserBagGoods);
}
}
} else {
RecommendNewUserBag RecommendNewUserBag = new RecommendNewUserBag();
sid = RecommendNewUserBag.getSid();
BeanUtil.copyProperties(dto, RecommendNewUserBag, "id", "sid");
RecommendNewUserBag.setCreateTime(new DateTime());
if (StringUtils.isNotBlank(dto.getIconUrl())) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
String path = dto.getIconUrl().substring(urlPrefix.length());
RecommendNewUserBag.setIconUrl(path);
}
baseMapper.insert(RecommendNewUserBag);
if (!dto.getGoods().isEmpty()) {
List<GiftBagGoods> goodsList = dto.getGoods();
for (GiftBagGoods goods : goodsList) {
RecommendNewUserBagDetails RecommendNewUserBagGoods = new RecommendNewUserBagDetails();
RecommendNewUserBagGoods.setCreateTime(new DateTime());
RecommendNewUserBagGoods.setGoodsSid(goods.getGoodsSid());
RecommendNewUserBagGoods.setGiftbagSid(RecommendNewUserBag.getSid());
RecommendNewUserBagGoods.setGoodsNumber(goods.getGoodsNumber());
RecommendNewUserBagGoods.setPrice(Double.valueOf(goods.getPrice()));
recommendNewUserBagDetailsService.insert(RecommendNewUserBagGoods);
}
}
}
return rb.success().setData(sid);
}
public ResultBean giftBagInit(String sid) {
ResultBean rb = ResultBean.fireFail();
RecommendNewUserBagInitVo vo = new RecommendNewUserBagInitVo();
RecommendNewUserBag entity = fetchBySid(sid);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (null != entity) {
BeanUtil.copyProperties(entity, vo);
if (null != entity.getDateStart()) {
vo.setDateStart(sdf.format(entity.getDateStart()));
}
if (null != entity.getDateEnd()) {
vo.setDateEnd(sdf.format(entity.getDateEnd()));
}
if (StringUtils.isNotBlank(entity.getIconUrl())) {
vo.setIconUrl(fileUploadComponent.getUrlPrefix() + entity.getIconUrl());
}
List<GiftBagGoods> goods = new ArrayList<>();
List<RecommendNewUserBagDetails> records = recommendNewUserBagDetailsService.getRecordsByBagSid(sid);
if (!records.isEmpty()) {
for (RecommendNewUserBagDetails record : records) {
GiftBagGoods bagGoods = new GiftBagGoods();
if (StringUtils.isNotBlank(record.getGoodsNumber())) {
bagGoods.setGoodsNumber(record.getGoodsNumber());
}
if (StringUtils.isNotBlank(record.getGoodsSid())) {
bagGoods.setGoodsSid(record.getGoodsSid());
LpkGoods lpkGoods = lpkGoodsService.fetchBySid(record.getGoodsSid());
if (null != lpkGoods) {
if (StringUtils.isNotBlank(lpkGoods.getName())) {
bagGoods.setName(lpkGoods.getName());
}
if (StringUtils.isNotBlank(lpkGoods.getPicUrl())) {
bagGoods.setIconUrl(lpkGoods.getPicUrl());
}
if (StringUtils.isNotBlank(lpkGoods.getUnitName())) {
bagGoods.setUnitName(lpkGoods.getUnitName());
}
if (StringUtils.isNotBlank(lpkGoods.getPrice())) {
bagGoods.setPrice(lpkGoods.getPrice());
}
bagGoods.setWeight(lpkGoods.getWeight());
bagGoods.setSpecificationUnit(lpkGoods.getSpecificationUnit());
}
}
goods.add(bagGoods);
}
}
vo.setGoods(goods);
}
return rb.success().setData(vo);
}
public ResultBean deleteBag(String sid) {
ResultBean rb = ResultBean.fireFail();
RecommendNewUserBag RecommendNewUserBag = fetchBySid(sid);
if (null != RecommendNewUserBag) {
baseMapper.deleteById(RecommendNewUserBag.getId());
recommendNewUserBagDetailsService.deleteGoodsByBagSid(sid);
}
return rb.success();
}
public ResultBean giftBagList() {
ResultBean rb = ResultBean.fireFail();
List<RecommendNewUserBagVo> pagging = baseMapper.giftBagList();
return rb.success().setData(pagging);
}
public ResultBean isGrounding(String sid,String state) {
ResultBean rb = new ResultBean().fail();
RecommendNewUserBag bag=baseMapper.selectOne(new QueryWrapper<RecommendNewUserBag>().eq("sid",sid));
bag.setIsGrounding(state);
baseMapper.updateById(bag);
return rb.success().setMsg("修改成功");
}
public int saveBags(List<RecommendNewUserBag> bags) {
return baseMapper.saveBags(bags);
}
public ResultBean<List<RecommendNewUserBagVo>> recommendNewUserBagList() {
ResultBean rb = ResultBean.fireFail();
List<RecommendNewUserBagVo> list=baseMapper.giftBagList();
list.forEach(s->{
// s.setPrice(Double.valueOf(aa(s.getPrice())));
List<com.yxt.yythmall.api.appletgiftbag.GiftBagGoods> list1=recommendNewUserBagDetailsService.getGoodsByBagSidB(s.getSid());
list1.forEach(l->{
l.setCount("共"+Integer.valueOf(l.getGoodsNumber())+l.getUnitName());
l.setSpec(l.getWeight()+l.getSpecificationUnit()+"/"+l.getUnitName());
});
// List<RecommendNewUserBagGoods> RecommendNewUserBagGoods=RecommendNewUserBagGoodsService.list(new QueryWrapper<RecommendNewUserBagGoods>().eq("giftbagSid",s.getSid()));
s.setCount(list1.size()+"种蔬菜");
s.setIconUrl(fileUploadComponent.getUrlPrefix() +s.getIconUrl());
s.setGiftBagGoods(list1);
});
return rb.success().setData(list);
}
public ResultBean<RecommendNewUserBagDetailVo> getGiftBagBySid(String sid ) {
ResultBean rb = ResultBean.fireFail();
List<com.yxt.yythmall.api.appletgiftbag.GiftBagGoods> goodsList=recommendNewUserBagDetailsService.getGoodsByBagSidA(sid);
RecommendNewUserBagDetailVo RecommendNewUserBagVo=new RecommendNewUserBagDetailVo();
RecommendNewUserBag s= baseMapper.selectOne(new QueryWrapper<RecommendNewUserBag>().eq("sid",sid));
double i=0;
DecimalFormat decimalFormat = new DecimalFormat("#0.00");
for(com.yxt.yythmall.api.appletgiftbag.GiftBagGoods goods:goodsList){
// i=i+Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getGoodsNumber());
i=i+Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getWeight())*Double.valueOf(goods.getGoodsNumber());
goods.setIconUrl(fileUploadComponent.getUrlPrefix() +goods.getIconUrl());
goods.setTotalValue(String.valueOf(decimalFormat.format(Double.valueOf(goods.getGoodsNumber())*Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getWeight()))));
// goods.setJPrice(String.valueOf(decimalFormat.format(Double.valueOf(goods.getPrice())*Double.valueOf(goods.getWeight()))));
goods.setPrice(String.valueOf(decimalFormat.format(Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getWeight()))));
}
RecommendNewUserBagVo.setPrice(decimalFormat.format(i));
RecommendNewUserBagVo.setGoods(goodsList);
RecommendNewUserBagVo.setName(s.getName());
return rb.success().setData(RecommendNewUserBagVo);
}
public static String aa(double a){
BigDecimal d=new BigDecimal(a);
String c= d.setScale(2,BigDecimal.ROUND_HALF_UP).toString();
return String.valueOf(c);
}
public ResultBean recommendRecord(String sid ) {
ResultBean rb=new ResultBean().fail();
RecommendNewUserBagVo vo=new RecommendNewUserBagVo();
RecommendNewUserBag bag=baseMapper.selectOne(new QueryWrapper<RecommendNewUserBag>().eq("sid","e49555f2-5370-45b0-9637-aa4d54c22e31"));
vo.setRemarks(bag.getRemarks());
vo.setIconUrl(fileUploadComponent.getUrlPrefix() +bag.getIconUrl());
RecommendRecord recommendRecord=new RecommendRecord();
recommendRecord.setContent("梧桐居助力您获得7斤白菜");
RecommendRecord recommendRecord1=new RecommendRecord();
recommendRecord1.setContent("龙助力您获得7斤白菜");
RecommendRecord recommendRecord2=new RecommendRecord();
recommendRecord2.setContent("美人助力您获得15斤土豆");
List<RecommendRecord> list=new ArrayList<>();
list.add(recommendRecord);
list.add(recommendRecord1);
list.add(recommendRecord2);
vo.setRecordList(list);
return rb.success().setData(vo);
}
public ResultBean newUserQuota() {
ResultBean rb=new ResultBean().fail();
List<RecommendNewUserBagVo> s=baseMapper.giftBagGoodsList();
for (RecommendNewUserBagVo RecommendNewUserBagVo : s) {
List<RecommendNewUserBagDetails> giftBagGoods=recommendNewUserBagDetailsService.list(new QueryWrapper<RecommendNewUserBagDetails>().eq("giftbagSid",RecommendNewUserBagVo.getSid()));
for(RecommendNewUserBagDetails goods:giftBagGoods){
LpkGoods lpkGoods=lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid",goods.getGoodsSid()));
RecommendNewUserBagVo.setWeight(removeZeros(String.valueOf(Double.valueOf(lpkGoods.getWeight())*Double.valueOf(goods.getGoodsNumber())+Double.valueOf(RecommendNewUserBagVo.getWeight()))));
}
RecommendNewUserBagVo.setIconUrl(fileUploadComponent.getUrlPrefix() +RecommendNewUserBagVo.getIconUrl());
}
return rb.success().setData(s);
}
public ResultBean<List<GiftBagGoodss>> getGoodsByBagSid(String bagSid) {
ResultBean rb=new ResultBean().fail();
List<GiftBagGoodss> s=baseMapper.getGoodsByBagSid(bagSid);
return rb.success().setData(s);
}
/**
* 去除多余.0
* @param num
* @return
*/
public static String removeZeros(String num) {
if (num.indexOf(".") > 0) {
// 去掉多余的0
num = num.replaceAll("0+?$", "");
// 如果最后一位是. 则去掉
num = num.replaceAll("[.]$", "");
}
return num;
}
}

36
src/main/java/com/yxt/yythmall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsMapper.java

@ -0,0 +1,36 @@
package com.yxt.yythmall.biz.recommendnewuserbagdetails;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoods;
import com.yxt.yythmall.api.recommendnewuserbagdetails.RecommendNewUserBagDetails;
import com.yxt.yythmall.api.recommendnewuserbagdetails.RecommendNewUserBagDetailsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/11/21 15:03
*/
@Mapper
public interface RecommendNewUserBagDetailsMapper extends BaseMapper<RecommendNewUserBagDetails> {
int deleteGoodsByBagSid(@Param("sid") String sid);
@Select("select goods.name as goodsName,bads.goodsNumber ,bads.goodsSid,goods.picUrl,goods.price,goods.unitName,goods.remarks " +
" from applet_giftbag_goods bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}")
List<RecommendNewUserBagDetailsVo> getGoodsByBagSid(String sid);
@Select("select goods.name as name,bads.goodsNumber ,bads.goodsSid,goods.picUrl as iconUrl,goods.price as jPrice,goods.unitName,goods.content as remark " +
" ,goods.weight, goods.specificationUnit from applet_giftbag_goods bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}")
List<GiftBagGoods> getGoodsByBagSidA(String sid);
@Select("select goods.name as name,bads.goodsNumber ,bads.goodsSid,goods.picUrl as iconUrl,goods.price as jPrice,goods.unitName,goods.content as remark " +
" ,goods.weight, goods.specificationUnit from applet_giftbag_goods bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}")
List<GiftBagGoods> getGoodsByBagSidB(String sid);
List<RecommendNewUserBagDetails> getRecordsByBagSid(@Param("sid") String sid);
int saveBagGoods(@Param("bagGoods") List<RecommendNewUserBagDetails> bagGoods);
}

24
src/main/java/com/yxt/yythmall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsMapper.xml

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.yythmall.biz.recommendnewuserbagdetails.RecommendNewUserBagDetailsMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<delete id="deleteGoodsByBagSid">
DELETE
FROM recommend_newuser_bag_details
WHERE giftbagSid = #{sid}
</delete>
<select id="getRecordsByBagSid" resultType="com.yxt.yythmall.api.recommendnewuserbagdetails.RecommendNewUserBagDetails">
select *
from recommend_newuser_bag_details
WHERE giftbagSid = #{sid}
</select>
<insert id="saveBagGoods" parameterType="java.util.List">
insert into recommend_newuser_bag_details(sid,createTime,giftbagSid,goodsSid,goodsNumber)
values
<foreach collection="bagGoods" item="item" index="index" separator=",">
(#{item.sid},#{item.createTime},#{item.giftbagSid},#{item.goodsSid},#{item.goodsNumber})
</foreach>
</insert>
</mapper>

24
src/main/java/com/yxt/yythmall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsRest.java

@ -0,0 +1,24 @@
package com.yxt.yythmall.biz.recommendnewuserbagdetails;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author wangpengfei
* @date 2023/11/21 15:03
*/
@Api(tags = "礼包包含商品信息")
@RestController
@RequestMapping("recobagdetails")
public class RecommendNewUserBagDetailsRest {
@Autowired
RecommendNewUserBagDetailsService recommendNewUserBagDetailsService;
}

40
src/main/java/com/yxt/yythmall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsService.java

@ -0,0 +1,40 @@
package com.yxt.yythmall.biz.recommendnewuserbagdetails;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoods;
import com.yxt.yythmall.api.recommendnewuserbagdetails.RecommendNewUserBagDetails;
import com.yxt.yythmall.api.recommendnewuserbagdetails.RecommendNewUserBagDetailsVo;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/11/21 15:03
*/
@Service
public class RecommendNewUserBagDetailsService extends MybatisBaseService<RecommendNewUserBagDetailsMapper, RecommendNewUserBagDetails> {
public int deleteGoodsByBagSid(String sid) {
return baseMapper.deleteGoodsByBagSid(sid);
}
public List<RecommendNewUserBagDetails> getRecordsByBagSid(String sid) {
return baseMapper.getRecordsByBagSid(sid);
}
public List<RecommendNewUserBagDetailsVo> getGoodsByBagSid(String sid) {
return baseMapper.getGoodsByBagSid(sid);
}
public List<GiftBagGoods> getGoodsByBagSidA(String sid) {
return baseMapper.getGoodsByBagSidA(sid);
}
public List<GiftBagGoods> getGoodsByBagSidB(String sid) {
return baseMapper.getGoodsByBagSidB(sid);
}
public int saveBagGoods(List<RecommendNewUserBagDetails> bagGoods) {
return baseMapper.saveBagGoods(bagGoods);
}
}

93
src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartService.java

@ -13,16 +13,21 @@ import com.yxt.common.core.vo.PagerVo;
import com.yxt.yythmall.api.empcardbuildrecord.EmpCardBuildRecord;
import com.yxt.yythmall.api.empcardbuildrecord.EmpCardBuildRecordQuery;
import com.yxt.yythmall.api.empcardbuildrecord.EmpCardBuildRecordVo;
import com.yxt.yythmall.api.lpkcustomer.LpkCustomer;
import com.yxt.yythmall.api.lpkgiftcard.LpkGiftCardQuery;
import com.yxt.yythmall.api.ordorder.OrdOrderDto;
import com.yxt.yythmall.api.ordorderdetails.OrdOrderDetailVo;
import com.yxt.yythmall.api.shoppingcart.ShoppingCart;
import com.yxt.yythmall.api.shoppingcart.ShoppingCartDto;
import com.yxt.yythmall.api.shoppingcart.ShoppingCartQuery;
import com.yxt.yythmall.api.shoppingcart.ShoppingCartVo;
import com.yxt.yythmall.biz.empcard.EmpCardService;
import com.yxt.yythmall.biz.lpkcustomer.LpkCustomerService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@ -34,6 +39,8 @@ import java.util.List;
public class ShoppingCartService extends MybatisBaseService<ShoppingCartMapper, ShoppingCart> {
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
LpkCustomerService lpkCustomerService;
public ResultBean save(ShoppingCartDto dto) {
ResultBean rb = ResultBean.fireFail();
@ -62,7 +69,7 @@ public class ShoppingCartService extends MybatisBaseService<ShoppingCartMapper,
ShoppingCart entity=new ShoppingCart();
List<ShoppingCartVo> list= baseMapper.ShoppingCartList(query.getCustomerSid(),query.getBrandId());
list.forEach(s->{
s.setTotalPrice(String.valueOf((int)(Double.valueOf(s.getPrice())* Double.valueOf(s.getGoodsNumber()))));
s.setTotalPrice(removeZeros(String.valueOf((Double.valueOf(s.getPrice())* Double.valueOf(s.getGoodsNumber())))));
s.setIconUrl(fileUploadComponent.getUrlPrefix() +s.getIconUrl());
});
@ -100,8 +107,92 @@ public class ShoppingCartService extends MybatisBaseService<ShoppingCartMapper,
weight=Double.valueOf(vo.getWeight())*Double.valueOf(vo.getGoodsNumber())+weight;
}
ShoppingCartVo vo =new ShoppingCartVo();
// vo.setText("1.20斤起订量。\n" +
// "2.新用户正好20斤5折。\n" +
// "3.20-100斤加10%附加额。\n" +
// "4.101斤-200斤加5%附加额。");
vo.setCustomerSid(query.getCustomerSid());
vo.setTotalPrice(String.valueOf((int) price));
vo.setTotalWeight(String.valueOf((int)weight));
vo=price(vo);
return rb.success().setData(vo);
}
private ShoppingCartVo price(ShoppingCartVo vo){
int weight=Integer.parseInt(vo.getTotalWeight());
LpkCustomer lpkCustomer=lpkCustomerService.getOne(new QueryWrapper<LpkCustomer>().eq("sid",vo.getCustomerSid()));
vo.setRemarks("已减免附加费");
if(weight<=99){
if(weight<=20){
vo.setRemarks("不足20斤,请继续选菜");
}else{
double a =1.1;
double d=Double.valueOf(vo.getTotalPrice());
double t=Double.valueOf(vo.getTotalPrice())*a;
BigDecimal bg = new BigDecimal(t);
vo.setTotalPrice(String.valueOf(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
// String c =String.valueOf(Double.valueOf(vo.getTotalPrice())-d);
double f=Double.valueOf(vo.getTotalPrice())-d;
BigDecimal bgd = new BigDecimal(f);
String c =String.valueOf(bgd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
vo.setRemarks("包含附加费"+removeZeros(c)+"元");
}
// if(weight==20){
// if(lpkCustomer.getIsPurchase().equals("1")){
// double a =0.5;
// double t=Double.valueOf(vo.getTotalPrice())*a;
// BigDecimal bg = new BigDecimal(t);
// vo.setTotalPrice(String.valueOf(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
// vo.setRemarks("已享受新人专享5折优惠");
// }else{
// double a =1.1;
// double d=Double.valueOf(vo.getTotalPrice());
// double t=Double.valueOf(vo.getTotalPrice())*a;
// BigDecimal bg = new BigDecimal(t);
// vo.setTotalPrice(String.valueOf(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
// double f=Double.valueOf(vo.getTotalPrice())-d;
// BigDecimal bgd = new BigDecimal(f);
// String c =String.valueOf(bgd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
// vo.setRemarks("包含附加费"+removeZeros(c)+"元");
// }
// }else{
// double a =1.1;
// double d=Double.valueOf(vo.getTotalPrice());
// double t=Double.valueOf(vo.getTotalPrice())*a;
// BigDecimal bg = new BigDecimal(t);
// vo.setTotalPrice(String.valueOf(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
//// String c =String.valueOf(Double.valueOf(vo.getTotalPrice())-d);
// double f=Double.valueOf(vo.getTotalPrice())-d;
// BigDecimal bgd = new BigDecimal(f);
// String c =String.valueOf(bgd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
// vo.setRemarks("包含附加费"+removeZeros(c)+"元");
// }
}else if(weight>=100 && weight<=199){
double a =1.05;
double d=Double.valueOf(vo.getTotalPrice());
double t=Double.valueOf(vo.getTotalPrice())*a;
BigDecimal bg = new BigDecimal(t);
vo.setTotalPrice(String.valueOf(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
// String c =String.valueOf(Double.valueOf(vo.getTotalPrice())-d);
double f=Double.valueOf(vo.getTotalPrice())-d;
BigDecimal bgd = new BigDecimal(f);
String c =String.valueOf(bgd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
vo.setRemarks("包含附加费"+removeZeros(c)+"元");
}
return vo;
}
/**
* 去除多余.0
* @param num
* @return
*/
public static String removeZeros(String num) {
if (num.indexOf(".") > 0) {
// 去掉多余的0
num = num.replaceAll("0+?$", "");
// 如果最后一位是. 则去掉
num = num.replaceAll("[.]$", "");
}
return num;
}
}

3
src/main/java/com/yxt/yythmall/biz/transferrecords/TransferRecordsMapper.java

@ -5,9 +5,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.yythmall.api.transferrecords.TransferRecords;
import com.yxt.yythmall.api.transferrecords.TransferRecordsQuery;
import com.yxt.yythmall.api.transferrecords.TransferRecordsVo;
import com.yxt.yythmall.api.vegecallerreserveorder.VegeCellarReserveOrder;
import com.yxt.yythmall.api.vegecallerreserveorder.VegeCellarReserveOrderQuery;
import com.yxt.yythmall.api.vegecallerreserveorder.VegeCellarReserveOrderVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

61
src/main/java/com/yxt/yythmall/biz/transferrecords/TransferRecordsMapper.xml

@ -6,38 +6,53 @@
<select id="orderListByUserSid" resultType="com.yxt.yythmall.api.transferrecords.TransferRecordsVo">
SELECT
sid ,
'转赠' as type,
transferCode,
createTime ,
remarks,
case state
when 1 then '已分享'
when 2 then '已领取'
end stateValue
s.sid,
'转赠' AS type,
s.transferCode,
s.createTime,
s.remarks,
r.nick as fxNick,
d.nick as lqNick,
s.state,
CASE
state
WHEN 1 THEN
'已分享'
WHEN 2 THEN
'已领取'
END stateValue
FROM
transfer_records
transfer_records s
LEFT JOIN lpk_customer r on r.sid =s.customerSid
left join lpk_customer d on d.sid =s.recipientSid
WHERE
customerSid=#{query.customerSid}
order by s.createTime desc
</select>
<select id="orderListByUserSid1" resultType="com.yxt.yythmall.api.transferrecords.TransferRecordsVo">
SELECT
sid,
'领取' as type,
transferCode,
createTime ,
remarks,
case state
when 1 then '已分享'
when 2 then '已领取'
end stateValue
s.sid,
'转赠' AS type,
s.transferCode,
s.createTime,
s.remarks,
r.nick as fxNick,
d.nick as lqNick,
s.state,
CASE
state
WHEN 1 THEN
'已分享'
WHEN 2 THEN
'已领取'
END stateValue
FROM
transfer_records
transfer_records s
LEFT JOIN lpk_customer r on r.sid =s.customerSid
left join lpk_customer d on d.sid =s.recipientSid
WHERE
recipientSid =#{query.customerSid}
order by s.createTime desc
</select>
</mapper>

26
src/main/java/com/yxt/yythmall/biz/transferrecords/TransferRecordsService.java

@ -10,6 +10,7 @@ import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.yythmall.api.customerstore.CustomerStoreDto;
import com.yxt.yythmall.api.lpkgiftcard.GoodsVo;
import com.yxt.yythmall.api.lpkgoods.LpkGoods;
@ -22,9 +23,6 @@ import com.yxt.yythmall.api.transferrecordsgoodsdetails.TransferRecordsGoodsDeta
import com.yxt.yythmall.api.vegecallerreservedetails.VegeCellarReserveDetails;
import com.yxt.yythmall.api.vegecallerreserveorder.OrderGoodsVo;
import com.yxt.yythmall.api.vegecallerreserveorder.VegeCellarReserveOrder;
import com.yxt.yythmall.api.vegecallerreserveorder.VegeCellarReserveOrderQuery;
import com.yxt.yythmall.api.vegecallerreserveorder.VegeCellarReserveOrderVo;
import com.yxt.yythmall.api.vegetablecellar.VegetableCellar;
import com.yxt.yythmall.biz.customerstore.CustomerStoreService;
import com.yxt.yythmall.biz.lpkgiftcard.LpkGiftCardService;
import com.yxt.yythmall.biz.lpkgiftcard.generateRule.UniqueIdGenerator;
@ -90,14 +88,28 @@ public class TransferRecordsService extends MybatisBaseService<TransferRecordsMa
// orderGoodsVo.setUnitName(lpkGoods.getUnitName());
// goodsVo.add(orderGoodsVo);
if(StringUtils.isBlank(vo.getGoodss())){
vo.setGoodss(lpkGoods.getName()+":"+goods1.getGoodsNumber()+lpkGoods.getUnitName());
vo.setGoodss(lpkGoods.getName()+":"+removeZeros(String.valueOf(goods1.getGoodsNumber()))+lpkGoods.getUnitName());
}else{
vo.setGoodss(vo.getGoodss()+" "+lpkGoods.getName()+":"+goods1.getGoodsNumber()+lpkGoods.getUnitName());
vo.setGoodss(vo.getGoodss()+" "+lpkGoods.getName()+":"+removeZeros(String.valueOf(goods1.getGoodsNumber()))+lpkGoods.getUnitName());
}
}
// vo.setGoodsVo(goodsVo);
}
return rb.success().setData(1);
PagerVo<TransferRecordsVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
/**
* 去除多余.0
* @param num
* @return
*/
public static String removeZeros(String num) {
if (num.indexOf(".") > 0) {
// 去掉多余的0
num = num.replaceAll("0+?$", "");
// 如果最后一位是. 则去掉
num = num.replaceAll("[.]$", "");
}
return num;
}
}

2
src/main/java/com/yxt/yythmall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsMapper.java

@ -23,6 +23,6 @@ public interface TransferRecordsGoodsDetailsMapper extends BaseMapper<TransferRe
List<TransferRecordsGoodsDetails> selByOrderSid(String orderSid);
List<TransferRecordsGoodsDetails> selInOrderSid(@Param("orderSids") List<String> orderSids);
@Select("select *,goodsNumber as goodsNumber from lpk_reserve_order_goods where orderSid=#{orderSid}")
@Select("select *,goodsNumber as goodsNumber from transfer_records_goods_details where orderSid=#{orderSid}")
List<TransferRecordsGoodsDetails> selByOrderSids(String orderSid);
}

2
src/main/java/com/yxt/yythmall/biz/vegecallerreservedetail/VegeCellarReserveDetailsRest.java

@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RestController;
*/
@Api(tags = "预约订单信息")
@RestController
@RequestMapping("lpksreservoordersss")
@RequestMapping("vegecellarreservedetails")
public class VegeCellarReserveDetailsRest {
@Autowired
VegeCellarReserveDetailsService vegeCellarReserveOrderService;

37
src/main/java/com/yxt/yythmall/biz/vegecallerreserveorder/ReserveOrderVo.java

@ -0,0 +1,37 @@
package com.yxt.yythmall.biz.vegecallerreserveorder;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import com.yxt.yythmall.api.lpkreserveorder.OrderGoodsVo;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @author Fan
* @description
* @date 2023/11/27 15:11
*/
@Data
public class ReserveOrderVo implements Vo {
private String reserveDate;
private String customerSid;
private String storeSid;
private String storeName;
private String storeLinker;
private String storePhone;
private String storeAddress;
private String affiliation;
private String userName;
private String userPhone;
private String bankSid;
private String bankName;
private String bankLinker;
private String bankPhone;
private String bankAddress;
private String goodsSid;
private String goodsName;
private String goodsNumber;
}

7
src/main/java/com/yxt/yythmall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.java

@ -3,16 +3,13 @@ package com.yxt.yythmall.biz.vegecallerreserveorder;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.yythmall.api.vegecallerreserveorder.VegeCellarReserveOrder;
import com.yxt.yythmall.api.vegecallerreserveorder.VegeCellarReserveOrderQuery;
import com.yxt.yythmall.api.vegecallerreserveorder.VegeCellarReserveOrderVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @author wangpengfei
@ -28,6 +25,8 @@ public interface VegeCellarReserveOrderMapper extends BaseMapper<VegeCellarReser
//
//// IPage<VegeCellarReserveOrderCardVo> orderListByUserSid(IPage<VegeCellarReserveOrder> page, @Param(Constants.WRAPPER) QueryWrapper<VegeCellarReserveOrder> qw);
IPage<VegeCellarReserveOrderVo> orderListByUserSid(IPage<VegeCellarReserveOrder> page, @Param("query") VegeCellarReserveOrderQuery query);
PagerVo<ReserveOrderVo> pageOfCustomer(IPage<VegeCellarReserveOrder> page,QueryWrapper<VegeCellarReserveOrder> qw);
//
// List<ReserveOrderExport> exportExcel(@Param("qw") VegeCellarReserveOrderQuery qw);
// List<ReserveOrderExportByStore> exportExcelByStore(@Param(Constants.WRAPPER) QueryWrapper<VegeCellarReserveOrderQuery> qw);

32
src/main/java/com/yxt/yythmall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.xml

@ -259,6 +259,7 @@
<where>
o.customerSid=#{query.customerSid} and state=#{query.state}
</where>
order by o.reserveDate desc
</select>
<select id="exportExcel" resultType="com.yxt.yythmall.api.lpkreserveorder.ReserveOrderExport">
select
@ -446,4 +447,35 @@
${ew.sqlSegment}
</where>
</select>
<select id="pageOfCustomer" resultType="com.yxt.yythmall.biz.vegecallerreserveorder.ReserveOrderVo">
select
date_format(vo.reserveDate,'%Y-%m-%d') reserveDate,
vo.customerSid,
vo.storeSid,
max(ls.name) storeName,
max(ls.linker) storeLinker,
max(ls.phone) storePhone,
max(ls.address) storeAddress,
max(vo.affiliation) affiliation,
max(vo.userName) userName,
max(vo.userPhone) userPhone,
max(lb.sid) bankSid,
max(lb.name) bankName,
max(lb.linker) bankLinker,
max(lb.linkPhone) bankPhone,
max(lb.address) bankAddress,
vd.goodsSid,
max(vd.goodsName) goodsName,
sum(vd.goodsNumber) goodsNumber
from vege_cellar_reserve_order vo
LEFT JOIN lpk_store ls ON ls.sid=vo.storeSid
LEFT JOIN lpk_bank lb ON lb.sid=ls.bankSid
left join vege_cellar_reserve_details vd on vo.sid=vd.orderSid
left join lpk_goods lg on vd.goodsSid=lg.sid
<where>
${ew.sqlSegment}
</where>
GROUP BY vo.reserveDate,vo.storeSid,vo.customerSid,vd.goodsSid
</select>
</mapper>

66
src/main/java/com/yxt/yythmall/biz/vegecallerreserveorder/VegeCellarReserveOrderService.java

@ -3,47 +3,29 @@ package com.yxt.yythmall.biz.vegecallerreserveorder;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.yythmall.api.lpkgiftbaggoods.LpkGiftBagGoodsVo;
import com.yxt.yythmall.api.lpkgiftcard.AppletVo;
import com.yxt.yythmall.api.lpkgiftcard.GoodsVo;
import com.yxt.yythmall.api.lpkgoods.LpkGoods;
import com.yxt.yythmall.api.lpkreserveorder.LpkReserveOrderQuery;
import com.yxt.yythmall.api.lpkstore.LpkStore;
import com.yxt.yythmall.api.lpkstore.StoreSelect;
import com.yxt.yythmall.api.vegecallerreservedetails.VegeCellarReserveDetails;
import com.yxt.yythmall.api.vegecallerreserveorder.*;
import com.yxt.yythmall.biz.lpkgiftbaggoods.LpkGiftBagGoodsService;
import com.yxt.yythmall.biz.lpkgiftcard.LpkGiftCardMapper;
import com.yxt.yythmall.biz.lpkgiftcard.generateRule.UniqueIdGenerator;
import com.yxt.yythmall.biz.lpkgoods.LpkGoodsService;
import com.yxt.yythmall.biz.lpkstore.LpkStoreService;
import com.yxt.yythmall.biz.vegecallerreservedetail.VegeCellarReserveDetailsService;
import com.yxt.yythmall.utils.StyleUtils;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@ -64,6 +46,7 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar
// private FileUploadComponent fileUploadComponent;
@Autowired
private LpkGoodsService lpkGoodsService;
// @Autowired
// private HttpServletResponse response;
//
@ -85,9 +68,10 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar
order.setStoreName(lpkStore.getName());
baseMapper.insert(order);
dto.setOrderSid(order.getSid());
vegeCellarReserveDetailsService.submissionDetail(dto);
return rb.success().setData("预约成功");
rb = vegeCellarReserveDetailsService.submissionDetail(dto);
return rb;
}
public ResultBean addGoodsOrder(VegeCellarReserveOrderDto dto) {
ResultBean rb = new ResultBean().fail();
boolean b = isSatAndSun(dto.getReserveDate());
@ -108,6 +92,7 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar
vegeCellarReserveDetailsService.addDetail(dto);
return rb.success().setData("预约成功");
}
public ResultBean minusGoodsOrder(VegeCellarReserveOrderDto dto) {
ResultBean rb = new ResultBean().fail();
boolean b = isSatAndSun(dto.getReserveDate());
@ -130,9 +115,9 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar
}
public boolean isSatAndSun(String date) {
DateTime dateTime = DateUtil.parse(date);; // 获取当前时间
DateTime dateTime = DateUtil.parse(date);
; // 获取当前时间
int dayOfWeek = dateTime.dayOfWeekEnum().getValue();// 获取星期几(1-7)
System.out.println(dayOfWeek);
if (dayOfWeek == 1 || dayOfWeek == 7) {
@ -141,6 +126,7 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar
return true;
}
}
// @Test
// public void isSatAndSun(){
// String date="2023-12-11";
@ -722,4 +708,36 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar
// return new ResultBean().success().setData(baseMapper.selOrderByCardSid(sid));
// }
private QueryWrapper<VegeCellarReserveOrder> buildQuery(LpkReserveOrderQuery query) {
QueryWrapper<VegeCellarReserveOrder> qw = new QueryWrapper<>();
if (StrUtil.isNotBlank(query.getStartDate())) {
qw.ge("date_format(vo.reserveDate,'%Y-%m-%d')", query.getStartDate());
}
if (StrUtil.isNotBlank(query.getEndDate())) {
qw.le("date_format(vo.reserveDate,'%Y-%m-%d')", query.getEndDate());
}
if (StrUtil.isNotBlank(query.getBankSid())) {
qw.eq("lb.sid", query.getBankSid());
}
if (StrUtil.isNotBlank(query.getStore())) {
qw.eq("vo.storeSid", query.getStore());
}
if (StrUtil.isNotBlank(query.getCardType())) {
qw.eq("vo.affiliation", query.getCardType());
}
qw.orderByAsc("vo.reserveDate");
return qw;
}
public ResultBean<PagerVo<ReserveOrderVo>> pageOfCustomer(PagerQuery<LpkReserveOrderQuery> pq) {
ResultBean rb = ResultBean.fireFail();
LpkReserveOrderQuery query = pq.getParams();
QueryWrapper<VegeCellarReserveOrder> qw = buildQuery(query);
IPage<VegeCellarReserveOrder> page = PagerUtil.queryToPage(pq);
PagerVo<ReserveOrderVo> pagerVo = baseMapper.pageOfCustomer(page,qw);
return rb.success().setData(pagerVo);
}
}

12
src/main/java/com/yxt/yythmall/biz/vegereplenish/VegeReplenishService.java

@ -55,6 +55,8 @@ public class VegeReplenishService extends MybatisBaseService<VegeReplenishMapper
private EmpCardGiftService empCardGiftService;
@Autowired
private EmpCardGiftGoodsService empCardGiftGoodsService;
@Autowired
private LpkGoodsService lpkGoodsService;
@Transactional(rollbackFor = Exception.class)
public ResultBean<String> saveBindRecord(BindCardDto dto, String type) {
@ -83,6 +85,9 @@ public class VegeReplenishService extends MybatisBaseService<VegeReplenishMapper
detail.setGoodsNumber(Integer.parseInt(g.getGoodsNumber()));
detail.setOrderSid(entity.getSid());
detail.setCreateTime(new DateTime());
if (StringUtils.isNotBlank(g.getName())) {
detail.setGoodsName(g.getName());
}
vegeReplenishDetailService.insert(detail);
});
}
@ -102,6 +107,9 @@ public class VegeReplenishService extends MybatisBaseService<VegeReplenishMapper
detail.setGoodsNumber(Integer.parseInt(g.getGoodsNumber()));
detail.setOrderSid(entity.getSid());
detail.setCreateTime(new DateTime());
if (StringUtils.isNotBlank(g.getName())) {
detail.setGoodsName(g.getName());
}
vegeReplenishDetailService.insert(detail);
});
}
@ -116,6 +124,10 @@ public class VegeReplenishService extends MybatisBaseService<VegeReplenishMapper
goods.stream().forEach(g -> {
VegeReplenishDetail detail = new VegeReplenishDetail();
detail.setGoodsSid(g.getGoodsSid());
LpkGoods lpkGoods = lpkGoodsService.fetchBySid(g.getGoodsSid());
if (null != lpkGoods) {
detail.setGoodsName(lpkGoods.getName());
}
detail.setGoodsNumber(g.getGoodsNumber());
detail.setOrderSid(entity.getSid());
detail.setCreateTime(new DateTime());

2
src/main/java/com/yxt/yythmall/biz/vegetablecellar/VegetableCellarRest.java

@ -22,7 +22,7 @@ public class VegetableCellarRest {
@Autowired
VegetableCellarService VegetableCellarService;
@ApiOperation("创建记录列表")
@PostMapping("/addGoods")
@GetMapping("/addGoods")
public ResultBean addGoods(@RequestParam("mainSid") String mainSid) {
return VegetableCellarService.addGoods(mainSid);
}

26
src/main/java/com/yxt/yythmall/biz/vegetablecellar/VegetableCellarService.java

@ -8,6 +8,7 @@ import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.yythmall.api.lpkcustomer.LpkCustomer;
import com.yxt.yythmall.api.lpkgoods.LpkGoods;
import com.yxt.yythmall.api.ordorder.OrdOrder;
import com.yxt.yythmall.api.ordorderdetails.OrdOrderDetail;
@ -16,6 +17,7 @@ import com.yxt.yythmall.api.transferrecords.TransferRecords;
import com.yxt.yythmall.api.transferrecordsgoodsdetails.TransferRecordsGoodsDetails;
import com.yxt.yythmall.api.vegetablecellar.*;
import com.yxt.yythmall.biz.empcard.EmpCardService;
import com.yxt.yythmall.biz.lpkcustomer.LpkCustomerService;
import com.yxt.yythmall.biz.lpkgoods.LpkGoodsService;
import com.yxt.yythmall.biz.ordorder.OrdOrderService;
import com.yxt.yythmall.biz.ordorderdetails.OrdOrderDetailService;
@ -24,7 +26,9 @@ import com.yxt.yythmall.biz.transferrecords.TransferRecordsService;
import com.yxt.yythmall.biz.transferrecordsgoodsdetails.TransferRecordsGoodsDetailsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
@ -46,16 +50,20 @@ public class VegetableCellarService extends MybatisBaseService<VegetableCellarMa
TransferRecordsGoodsDetailsService transferRecordsGoodsDetailsService;
@Autowired
LpkGoodsService lpkGoodsService;
@Autowired
LpkCustomerService lpkCustomerService;
@Transactional(rollbackFor = Exception.class)
public ResultBean addGoods(String mainSid) {
ResultBean rb = ResultBean.fireFail();
OrdOrder ordOrder=ordOrderService.getOne(new QueryWrapper<OrdOrder>().eq("mainSid",mainSid));
List<OrdOrderDetail> detailList=ordOrderDetailService.list(new QueryWrapper<OrdOrderDetail>().eq("orderSid",ordOrder.getSid()));
for(OrdOrderDetail detail:detailList){
LpkGoods cl=lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid",detail.getGoodsSid()));
VegetableCellar vegetableCellar=baseMapper.selectOne(new QueryWrapper<VegetableCellar>().eq("customerSid",ordOrder.getUserSid())
.eq("goodsSid",detail.getGoodsSid()).eq("affiliation",ordOrder.getVegeCellarType()));
.eq("goodsSid",detail.getGoodsSid()).eq("affiliation",cl.getBrandId()));
if(vegetableCellar==null){
VegetableCellar vegetable=new VegetableCellar();
vegetable.setAffiliation(ordOrder.getVegeCellarType());
vegetable.setAffiliation(String.valueOf(cl.getBrandId()));
vegetable.setGoodsSid(detail.getGoodsSid());
vegetable.setGoodsNumber(String.valueOf(detail.getPartNumber()));
vegetable.setCustomerSid(ordOrder.getUserSid());
@ -65,8 +73,15 @@ public class VegetableCellarService extends MybatisBaseService<VegetableCellarMa
baseMapper.updateById(vegetableCellar);
}
}
LpkCustomer customer=lpkCustomerService.getOne(new QueryWrapper<LpkCustomer>().eq("sid",ordOrder.getUserSid()));
customer.setIsPurchase("0");
lpkCustomerService.updateById(customer);
ordOrder.setPayStatus(4);
ordOrder.setPayTime(new Date());
ordOrderService.updateById(ordOrder);
return rb.success().setMsg("成功");
}
@Transactional(rollbackFor = Exception.class)
public ResultBean saveGoods(VegetableCellarDto dto) {
ResultBean rb = ResultBean.fireFail();
@ -92,6 +107,7 @@ public class VegetableCellarService extends MybatisBaseService<VegetableCellarMa
}
return rb.success().setMsg("成功");
}
@Transactional(rollbackFor = Exception.class)
public ResultBean save1Goods(VegetableCellarDto dto) {
ResultBean rb = ResultBean.fireFail();
for(vegeVo detail:dto.getVos()){
@ -111,9 +127,10 @@ public class VegetableCellarService extends MybatisBaseService<VegetableCellarMa
}
return rb.success().setMsg("成功");
}
@Transactional(rollbackFor = Exception.class)
public ResultBean receiveTransferGoods(VegetableCellarDto dto) {
ResultBean rb = ResultBean.fireFail();
TransferRecords transferRecords=transferRecordsService.getOne(new QueryWrapper<TransferRecords>().eq("sid",dto.getTransferSid()).eq("state","0"));
TransferRecords transferRecords=transferRecordsService.getOne(new QueryWrapper<TransferRecords>().eq("sid",dto.getTransferSid()).eq("state","1"));
if(transferRecords==null){
return rb.setMsg("已经被领取");
}
@ -121,7 +138,7 @@ public class VegetableCellarService extends MybatisBaseService<VegetableCellarMa
for(TransferRecordsGoodsDetails detail:list){
LpkGoods cl=lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid",detail.getGoodsSid()));
VegetableCellar vegetableCellar=baseMapper.selectOne(new QueryWrapper<VegetableCellar>().eq("customerSid",dto.getCustomerSid())
.eq("goodsSid",detail.getGoodsSid()).eq("affiliation",transferRecords.getAffiliation()));
.eq("goodsSid",detail.getGoodsSid()).eq("affiliation",cl.getBrandId()));
if(vegetableCellar==null){
VegetableCellar vegetable=new VegetableCellar();
vegetable.setAffiliation(String.valueOf(cl.getBrandId()));
@ -135,6 +152,7 @@ public class VegetableCellarService extends MybatisBaseService<VegetableCellarMa
}
transferRecords.setState("2");
transferRecords.setRecipientSid(dto.getCustomerSid());
transferRecords.setRecipientTime(new Date());
transferRecordsService.updateById(transferRecords);
}
return rb.success().setMsg("成功");

10
src/main/java/com/yxt/yythmall/config/SaTokenConfigure.java

@ -34,7 +34,10 @@ public class SaTokenConfigure implements WebMvcConfigurer {
.excludePathPatterns("/empcard/isSaturAndSun/**")
.excludePathPatterns("/lpkgiftcard/getReservationBySid/**")
.excludePathPatterns("/lpksreservoorder/submission")
.excludePathPatterns("/lpksreservoorder/exportExcelByStore")
.excludePathPatterns("/empsreservoorder/createNewUserBagOrder")
.excludePathPatterns("/lpksreservoorders/submission")
.excludePathPatterns("/empsreservoorder/ordersList")
.excludePathPatterns("/empsreservoorder/submission")
.excludePathPatterns("/empsreservoorder/submissionEmp")
.excludePathPatterns("/empcardgift/generateCard")
@ -43,6 +46,13 @@ public class SaTokenConfigure implements WebMvcConfigurer {
.excludePathPatterns("/lpksreservoorder/orderByCardSid/**")
.excludePathPatterns("/lpksreservoorder/orderListByUserSid/**")
.excludePathPatterns("/lpksreservoorder/orderDetails/**")
.excludePathPatterns("/newcomerrecorecord/recommendNewUsers")
.excludePathPatterns("/newcomerrecorecord/recommendedAssistance")
.excludePathPatterns("/newcomerrecorecord/recordList/**")
.excludePathPatterns("/transferrecords/transferRecordsList")
.excludePathPatterns("/empsreservoorder/createVegeOrder")
.excludePathPatterns("/empsreservoorder/OrderDetails/**")
.excludePathPatterns("/empsreservoorder/changePayState/**")
.excludePathPatterns("/lpkgoods/goodsDetails/**")
.excludePathPatterns("/lpkstore/getAllStoreByQuery")
.excludePathPatterns("/vegetablecellar/receiveTransferGoods")

2
src/main/resources/application-pro.yml

@ -22,7 +22,7 @@ spring:
timeout: 0 # 连接超时时间(毫秒)
image:
upload:
path: D:/webapps/lipinka/yyth-ui/upload/
path: D:/webapps/lipinka/yythmall-ui/upload/
url:
prefix: https://supervise.yxtsoft.com/lpk/upload/
import:

Loading…
Cancel
Save