From 5df1c7ec71034bd48d7c0a4720db987d25806ff9 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Thu, 18 Jan 2024 09:26:25 +0800 Subject: [PATCH] 1/18 --- .../api/appletgiftbag/GiftBagGoods.java | 19 ++-- .../api/appletgiftbag/GiftBagGoodss.java | 61 ++++++++++ .../yythmall/api/appletgiftbag/GoodsV.java | 16 +++ .../yythmall/api/appletgiftbag/MyGoodsVo.java | 23 ++++ .../yythmall/api/lpkgiftcard/GoodsTypeVo.java | 13 +++ .../api/lpkgiftcard/LpkGiftCardQuery.java | 3 + .../api/shoppingcart/ShoppingCart.java | 29 +++++ .../api/shoppingcart/ShoppingCartDto.java | 28 +++++ .../api/shoppingcart/ShoppingCartQuery.java | 15 +++ .../api/shoppingcart/ShoppingCartVo.java | 34 ++++++ .../api/shoppingcart/ShoppingGoodsVo.java | 8 ++ .../biz/lpkgiftcard/LpkGiftCardRest.java | 12 ++ .../biz/lpkgiftcard/LpkGiftCardService.java | 65 +++++++++++ .../yythmall/biz/lpkgoods/LpkGoodsMapper.java | 4 + .../yythmall/biz/lpkgoods/LpkGoodsMapper.xml | 32 +++++- .../yythmall/biz/lpkgoods/LpkGoodsRest.java | 7 +- .../biz/lpkgoods/LpkGoodsService.java | 24 ++++ .../biz/shoppingcart/ShoppingCartMapper.java | 23 ++++ .../biz/shoppingcart/ShoppingCartMapper.xml | 21 ++++ .../biz/shoppingcart/ShoppingCartRest.java | 54 +++++++++ .../biz/shoppingcart/ShoppingCartService.java | 107 ++++++++++++++++++ .../yxt/yythmall/config/SaTokenConfigure.java | 8 ++ 22 files changed, 595 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/yxt/yythmall/api/appletgiftbag/GiftBagGoodss.java create mode 100644 src/main/java/com/yxt/yythmall/api/appletgiftbag/GoodsV.java create mode 100644 src/main/java/com/yxt/yythmall/api/appletgiftbag/MyGoodsVo.java create mode 100644 src/main/java/com/yxt/yythmall/api/lpkgiftcard/GoodsTypeVo.java create mode 100644 src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCart.java create mode 100644 src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartDto.java create mode 100644 src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartQuery.java create mode 100644 src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartVo.java create mode 100644 src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingGoodsVo.java create mode 100644 src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartMapper.java create mode 100644 src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartMapper.xml create mode 100644 src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartRest.java create mode 100644 src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartService.java diff --git a/src/main/java/com/yxt/yythmall/api/appletgiftbag/GiftBagGoods.java b/src/main/java/com/yxt/yythmall/api/appletgiftbag/GiftBagGoods.java index 196e1e2..e612dc3 100644 --- a/src/main/java/com/yxt/yythmall/api/appletgiftbag/GiftBagGoods.java +++ b/src/main/java/com/yxt/yythmall/api/appletgiftbag/GiftBagGoods.java @@ -26,16 +26,17 @@ public class GiftBagGoods { private String specificationUnit; //规格单位 private String totalValue; //总价值 private String spec; //总价值 - private String count; //总价值 + private String count="0"; //总价值 + private String mefenPrice; - public String getJPrice() { - - if (StringUtils.isBlank(jPrice)) { - jPrice = "0"; - } - DecimalFormat decimalFormat = new DecimalFormat("#0.00"); - return decimalFormat.format(Double.valueOf(jPrice)); - } +// public String getJPrice() { +// +// if (StringUtils.isBlank(jPrice)) { +// jPrice = "0"; +// } +// DecimalFormat decimalFormat = new DecimalFormat("#0.00"); +// return decimalFormat.format(Double.valueOf(jPrice)); +// } public String getMefenPrice() { double dj = 0.0; diff --git a/src/main/java/com/yxt/yythmall/api/appletgiftbag/GiftBagGoodss.java b/src/main/java/com/yxt/yythmall/api/appletgiftbag/GiftBagGoodss.java new file mode 100644 index 0000000..ae0aaf6 --- /dev/null +++ b/src/main/java/com/yxt/yythmall/api/appletgiftbag/GiftBagGoodss.java @@ -0,0 +1,61 @@ +package com.yxt.yythmall.api.appletgiftbag; + +import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.StrUtil; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/16 12:07 + */ +@Data +public class GiftBagGoodss { + private String goodsSid; + private String goodsNumber = "0";//份数 + private String name; //商品名 + private String unitName; //单位 + private String price; //商品单价 + private String iconUrl;//图片 + private String remark; //备注 + private String weight; //每份的重量 + private String jPrice; //每斤单价 + private String specificationUnit; //规格单位 + private String totalValue; //总价值 + private String spec; //总价值 + private String count="0"; //总价值 + private String mefenPrice="0"; + private boolean showCart=false; + + + + public String getSubtotal() { + double dj = 0.0; + if (StrUtil.isNotBlank(price)) { + try { + dj = Double.parseDouble(price); + } catch (Exception e) { + e.printStackTrace(); + } + } + int js = 1; + if (StrUtil.isNotBlank(weight)) { + try { + js = Integer.parseInt(weight); + } catch (Exception e) { + e.printStackTrace(); + } + } + int fs = 1; + if (StrUtil.isNotBlank(goodsNumber)) { + try { + fs = Integer.parseInt(goodsNumber); + } catch (Exception e) { + e.printStackTrace(); + } + } + double mfjg = dj * js * fs; + int m=(int)mfjg; +// return NumberUtil.decimalFormatMoney(mfjg); + return String.valueOf(m); + } +} diff --git a/src/main/java/com/yxt/yythmall/api/appletgiftbag/GoodsV.java b/src/main/java/com/yxt/yythmall/api/appletgiftbag/GoodsV.java new file mode 100644 index 0000000..d36cdd7 --- /dev/null +++ b/src/main/java/com/yxt/yythmall/api/appletgiftbag/GoodsV.java @@ -0,0 +1,16 @@ +package com.yxt.yythmall.api.appletgiftbag; + +import lombok.Data; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/1/17 10:18 + */ +@Data +public class GoodsV { + private String weight; + private String price; + private List giftBagGoodssList; +} diff --git a/src/main/java/com/yxt/yythmall/api/appletgiftbag/MyGoodsVo.java b/src/main/java/com/yxt/yythmall/api/appletgiftbag/MyGoodsVo.java new file mode 100644 index 0000000..1b38a96 --- /dev/null +++ b/src/main/java/com/yxt/yythmall/api/appletgiftbag/MyGoodsVo.java @@ -0,0 +1,23 @@ +package com.yxt.yythmall.api.appletgiftbag; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/18 8:50 + */ +@Data +public class MyGoodsVo { + private String goodsSid; + private String name; //商品名 + private String goodsNumber ;//份数 + private String residue ;//剩余 + private String iconUrl;//图片 + private String weight; //每份的重量 + private String remark; //备注 + private String type; //0 百姓菜窖 1 精品菜窖 2 企业菜窖 + private String specificationUnit; //规格单位 + + + +} diff --git a/src/main/java/com/yxt/yythmall/api/lpkgiftcard/GoodsTypeVo.java b/src/main/java/com/yxt/yythmall/api/lpkgiftcard/GoodsTypeVo.java new file mode 100644 index 0000000..7f5e035 --- /dev/null +++ b/src/main/java/com/yxt/yythmall/api/lpkgiftcard/GoodsTypeVo.java @@ -0,0 +1,13 @@ +package com.yxt.yythmall.api.lpkgiftcard; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/15 15:06 + */ +@Data +public class GoodsTypeVo { + private String name; + private String sid; +} diff --git a/src/main/java/com/yxt/yythmall/api/lpkgiftcard/LpkGiftCardQuery.java b/src/main/java/com/yxt/yythmall/api/lpkgiftcard/LpkGiftCardQuery.java index e27140a..92fae38 100644 --- a/src/main/java/com/yxt/yythmall/api/lpkgiftcard/LpkGiftCardQuery.java +++ b/src/main/java/com/yxt/yythmall/api/lpkgiftcard/LpkGiftCardQuery.java @@ -12,4 +12,7 @@ import lombok.Data; @Data public class LpkGiftCardQuery implements Query { private String customerSid; + private String name; + private String sid; + private String affiliation; } diff --git a/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCart.java b/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCart.java new file mode 100644 index 0000000..3da3378 --- /dev/null +++ b/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCart.java @@ -0,0 +1,29 @@ +package com.yxt.yythmall.api.shoppingcart; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class ShoppingCart { + 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 isEnable; + private String goodsSid; + private String goodsName; + private String goodsNumber; + private String affiliation; + private String price; + private String customerSid; + private String weight; //每份重量 + + +} diff --git a/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartDto.java b/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartDto.java new file mode 100644 index 0000000..e5b3cbc --- /dev/null +++ b/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartDto.java @@ -0,0 +1,28 @@ +package com.yxt.yythmall.api.shoppingcart; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class ShoppingCartDto implements Dto { + + + + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String goodsSid;//商品sid + private String goodsName;//商品名称 + private String goodsNumber;//商品数量 + private String affiliation;//所属菜窖 1百姓菜窖 2 精品菜窖 3企业菜窖 + private String price;//价格 + private String customerSid; //客户sid + private String weight; //每份重量 + +} diff --git a/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartQuery.java b/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartQuery.java new file mode 100644 index 0000000..853b8ae --- /dev/null +++ b/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartQuery.java @@ -0,0 +1,15 @@ +package com.yxt.yythmall.api.shoppingcart; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class ShoppingCartQuery implements Query { + private String customerSid; //客户 + private String affiliation; //类型 + +} diff --git a/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartVo.java b/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartVo.java new file mode 100644 index 0000000..38208a2 --- /dev/null +++ b/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartVo.java @@ -0,0 +1,34 @@ +package com.yxt.yythmall.api.shoppingcart; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class ShoppingCartVo implements Vo { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String goodsSid;//商品sid + private String goodsName;//商品名称 + private String goodsNumber;//商品数量 + private String affiliation;//所属菜窖 1百姓菜窖 2 精品菜窖 3企业菜窖 + private String price;//价格 + private String jPrice;//价格 + private String customerSid; //客户sid + + private String weight; //每份重量 + private String totalPrice; //总价格 + private String totalWeight; + + private String unitName; + private String iconUrl; + private String specificationUnit; + + +} diff --git a/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingGoodsVo.java b/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingGoodsVo.java new file mode 100644 index 0000000..21ccfd1 --- /dev/null +++ b/src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingGoodsVo.java @@ -0,0 +1,8 @@ +package com.yxt.yythmall.api.shoppingcart; + +/** + * @author wangpengfei + * @date 2024/1/17 14:03 + */ +public class ShoppingGoodsVo { +} diff --git a/src/main/java/com/yxt/yythmall/biz/lpkgiftcard/LpkGiftCardRest.java b/src/main/java/com/yxt/yythmall/biz/lpkgiftcard/LpkGiftCardRest.java index fee8f9b..cd5c798 100644 --- a/src/main/java/com/yxt/yythmall/biz/lpkgiftcard/LpkGiftCardRest.java +++ b/src/main/java/com/yxt/yythmall/biz/lpkgiftcard/LpkGiftCardRest.java @@ -179,4 +179,16 @@ public class LpkGiftCardRest { public ResultBean cardShareGoodsDetail(@PathVariable("sid") String sid) { return lpkGiftCardService.cardShareGoodsDetail(sid); } + + @ApiOperation("获取所有的类型") + @GetMapping("/getAllGoodsType/{type}") + public ResultBean getAllType(@PathVariable("type") String type ) { + return lpkGiftCardService.getAllType(type); + } + @ApiOperation("根据类型查询商品") + @PostMapping("/getGoodsByType") + public ResultBean getGoodsByType(@RequestBody LpkGiftCardQuery query) { + return lpkGiftCardService. getGoodsByTypeSid(query); + } + } diff --git a/src/main/java/com/yxt/yythmall/biz/lpkgiftcard/LpkGiftCardService.java b/src/main/java/com/yxt/yythmall/biz/lpkgiftcard/LpkGiftCardService.java index 32507a0..5cb1748 100644 --- a/src/main/java/com/yxt/yythmall/biz/lpkgiftcard/LpkGiftCardService.java +++ b/src/main/java/com/yxt/yythmall/biz/lpkgiftcard/LpkGiftCardService.java @@ -26,6 +26,9 @@ 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.appletgiftbag.GoodsV; +import com.yxt.yythmall.api.appletgiftbag.MyGoodsVo; import com.yxt.yythmall.api.empcardgift.*; import com.yxt.yythmall.api.empcardgiftgoods.EmpCardGiftGoods; import com.yxt.yythmall.api.lpkcardbuildrecord.LpkCardBuildRecord; @@ -44,6 +47,8 @@ import com.yxt.yythmall.api.lpkreserveorder.*; import com.yxt.yythmall.api.lpkreserveordergoods.LpkReserveOrderGoods; import com.yxt.yythmall.api.lpkstore.LpkStoreDetailsVo; import com.yxt.yythmall.api.lpkstore.StoreSelect; +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.empcardgift.EmpCardGiftService; import com.yxt.yythmall.biz.empcardgiftgoods.EmpCardGiftGoodsService; @@ -56,6 +61,7 @@ import com.yxt.yythmall.biz.lpkgoods.LpkGoodsService; import com.yxt.yythmall.biz.lpkreserveorder.LpkReserveOrderService; import com.yxt.yythmall.biz.lpkreserveordergoods.LpkReserveOrderGoodsService; import com.yxt.yythmall.biz.lpkstore.LpkStoreService; +import com.yxt.yythmall.biz.shoppingcart.ShoppingCartService; import com.yxt.yythmall.utils.StyleUtils; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; @@ -114,6 +120,8 @@ public class LpkGiftCardService extends MybatisBaseService list=new ArrayList<>(); + list.add(vo); + list.add(vo1); + list.add(vo2); + list.add(vo3); + list.add(vo4); + list.add(vo5); + list.add(vo6); + list.add(vo7); + list.add(vo8); + return rb.success().setData(list); + } + public ResultBean getGoodsByTypeSid(LpkGiftCardQuery query) { + ResultBean rb=new ResultBean().fail(); + List giftBagGoodss=lpkGoodsService.getAllGoodsApplets().getData(); + ShoppingCartQuery query1=new ShoppingCartQuery(); + query1.setAffiliation(query.getAffiliation());query1.setCustomerSid(query.getCustomerSid()); + List l=shoppingCartService.shoppingCartList(query1).getData(); + l.forEach(s->{ + giftBagGoodss.forEach(d->{ + if(s.getGoodsSid().equals(d.getGoodsSid())){ + d.setGoodsNumber(s.getGoodsNumber()); + } + }); + }); + return rb.success().setData(giftBagGoodss); + } + } diff --git a/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsMapper.java b/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsMapper.java index c1fc7fb..10d84dc 100644 --- a/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsMapper.java +++ b/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsMapper.java @@ -5,6 +5,8 @@ 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.GiftBagGoods; +import com.yxt.yythmall.api.appletgiftbag.GiftBagGoodss; +import com.yxt.yythmall.api.appletgiftbag.MyGoodsVo; import com.yxt.yythmall.api.lpkgoods.LpkGoods; import com.yxt.yythmall.api.lpkgoods.LpkGoodsVo; import org.apache.ibatis.annotations.Mapper; @@ -27,4 +29,6 @@ public interface LpkGoodsMapper extends BaseMapper { LpkGoods getGoodsByName(@Param("goodName") String goodName); List getAllGoodsApplet(); + List getGoodsApplet(); + List getAllGoodsApplets(); } diff --git a/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsMapper.xml b/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsMapper.xml index 254c725..934673d 100644 --- a/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsMapper.xml +++ b/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsMapper.xml @@ -80,5 +80,35 @@ where isAppletGrounding=1 and useTo=1 order by createTime desc - + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsRest.java b/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsRest.java index d552513..f391486 100644 --- a/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsRest.java +++ b/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsRest.java @@ -3,6 +3,7 @@ package com.yxt.yythmall.biz.lpkgoods; 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.lpkgiftcard.LpkGiftCardQuery; import com.yxt.yythmall.api.lpkgoods.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -75,5 +76,9 @@ public class LpkGoodsRest { public ResultBean getAllGiftBag() { return lpkGoodsService.getAllGoodsApplet(); } - + @ApiOperation("我的菜窖列表") + @PostMapping("/vegeCellarList") + public ResultBean vegeCellarList(@RequestBody LpkGiftCardQuery query) { + return lpkGoodsService. vegeCellarList(query); + } } diff --git a/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsService.java b/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsService.java index a144598..e4d381c 100644 --- a/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsService.java +++ b/src/main/java/com/yxt/yythmall/biz/lpkgoods/LpkGoodsService.java @@ -12,6 +12,7 @@ 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.*; +import com.yxt.yythmall.api.lpkgiftcard.LpkGiftCardQuery; import com.yxt.yythmall.api.lpkgoods.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -174,9 +175,32 @@ public class LpkGoodsService extends MybatisBaseService> getAllGoodsApplets() { + ResultBean rb = ResultBean.fireFail(); + List list=baseMapper.getAllGoodsApplets(); + list.forEach(s->{ + double price=Double.valueOf(s.getPrice()); + double jPrice =Double.valueOf(s.getJPrice()); + s.setIconUrl(fileUploadComponent.getUrlPrefix() +s.getIconUrl()); + s.setJPrice(String.valueOf((int)price)); + s.setPrice(String.valueOf((int) jPrice)); + s.setMefenPrice(String.valueOf((int) (Double.valueOf(s.getJPrice())*Double.valueOf(s.getWeight())))); + }); + return rb.success().setData(list); + } public String aa(double a){ BigDecimal d=new BigDecimal(a); double c= d.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); return String.valueOf(c); } + + public ResultBean vegeCellarList(LpkGiftCardQuery query) { + ResultBean rb=new ResultBean().fail(); + List vo =baseMapper.getGoodsApplet(); + vo.forEach(s->{ + s.setResidue(String.valueOf((int)(Double.valueOf(s.getGoodsNumber())-2))); + s.setType("0"); + }); + return rb.success().setData(vo); + } } diff --git a/src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartMapper.java b/src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartMapper.java new file mode 100644 index 0000000..d678b8b --- /dev/null +++ b/src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartMapper.java @@ -0,0 +1,23 @@ +package com.yxt.yythmall.biz.shoppingcart; + +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.empcardbuildrecord.EmpCardBuildRecord; +import com.yxt.yythmall.api.empcardbuildrecord.EmpCardBuildRecordVo; +import com.yxt.yythmall.api.shoppingcart.ShoppingCart; +import com.yxt.yythmall.api.shoppingcart.ShoppingCartVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Mapper +public interface ShoppingCartMapper extends BaseMapper { + List ShoppingCartList(@Param("customerSid")String customerSid,@Param("affiliation")String affiliation); +} diff --git a/src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartMapper.xml b/src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartMapper.xml new file mode 100644 index 0000000..3ffb244 --- /dev/null +++ b/src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartRest.java b/src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartRest.java new file mode 100644 index 0000000..ee08903 --- /dev/null +++ b/src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartRest.java @@ -0,0 +1,54 @@ +package com.yxt.yythmall.biz.shoppingcart; + +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.empcardbuildrecord.EmpCardBuildRecordQuery; +import com.yxt.yythmall.api.empcardbuildrecord.EmpCardBuildRecordVo; +import com.yxt.yythmall.api.lpkgiftcard.LpkGiftCardQuery; +import com.yxt.yythmall.api.shoppingcart.ShoppingCartDto; +import com.yxt.yythmall.api.shoppingcart.ShoppingCartQuery; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Api(tags = "购物车") +@RestController +@RequestMapping("shoppingcart") +public class ShoppingCartRest { + @Autowired + ShoppingCartService shoppingCartService; + + + @ApiOperation("加入购物车") + @PostMapping("/addShoppingCart") + public ResultBean save(@RequestBody ShoppingCartDto dto) { + return shoppingCartService.save(dto); + } + @ApiOperation("减购物车") + @PostMapping("/minusShoppingCart") + public ResultBean minusShoppingCart(@RequestBody ShoppingCartDto dto) { + return shoppingCartService.minusShoppingCart(dto); + } + @ApiOperation("购物车列表") + @PostMapping("/shoppingCartList") + public ResultBean shoppingCartList(@RequestBody ShoppingCartQuery query) { + return shoppingCartService.shoppingCartList(query); + } + + @ApiOperation("删除购物车商品") + @PostMapping("/delShoppingCart/{sid}") + public ResultBean delShoppingCart(@PathVariable("sid") String sid) { + return shoppingCartService.delShoppingCart(sid); + } + @ApiOperation("计算购物车价格和重量") + @PostMapping("/getGoodsWeight") + public ResultBean getGoodsWeight(@RequestBody ShoppingCartQuery query) { + return shoppingCartService.getGoodsWeight(query); + } +} diff --git a/src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartService.java b/src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartService.java new file mode 100644 index 0000000..e007ff9 --- /dev/null +++ b/src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartService.java @@ -0,0 +1,107 @@ +package com.yxt.yythmall.biz.shoppingcart; + +import cn.hutool.core.bean.BeanUtil; +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.empcardbuildrecord.EmpCardBuildRecord; +import com.yxt.yythmall.api.empcardbuildrecord.EmpCardBuildRecordQuery; +import com.yxt.yythmall.api.empcardbuildrecord.EmpCardBuildRecordVo; +import com.yxt.yythmall.api.lpkgiftcard.LpkGiftCardQuery; +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 org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Service +public class ShoppingCartService extends MybatisBaseService { + @Autowired + private FileUploadComponent fileUploadComponent; + + public ResultBean save(ShoppingCartDto dto) { + ResultBean rb = ResultBean.fireFail(); + ShoppingCart entity=new ShoppingCart(); + List list= baseMapper.selectList(new QueryWrapper().eq("customerSid",dto.getCustomerSid()) + .eq("goodsSid",dto.getGoodsSid()) + .eq("affiliation",dto.getAffiliation())); + if(list.size()>0){ +// list.get(0).setGoodsNumber(String.valueOf(Double.valueOf(dto.getGoodsNumber())+Double.valueOf(list.get(0).getGoodsNumber()))); + if(dto.getGoodsNumber().equals("0")){ + baseMapper.delete(new QueryWrapper().eq("customerSid",dto.getCustomerSid()) + .eq("goodsSid",dto.getGoodsSid()) + .eq("affiliation",dto.getAffiliation())); + }else{ + list.get(0).setGoodsNumber(dto.getGoodsNumber()); + baseMapper.updateById(list.get(0)); + } + return rb.success().setMsg("成功"); + } + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + return rb.success().setMsg("成功"); + } + public ResultBean> shoppingCartList(ShoppingCartQuery query) { + ResultBean rb = ResultBean.fireFail(); + ShoppingCart entity=new ShoppingCart(); + List list= baseMapper.ShoppingCartList(query.getCustomerSid(),query.getAffiliation()); + list.forEach(s->{ + s.setTotalPrice(String.valueOf((int)(Double.valueOf(s.getPrice())* Double.valueOf(s.getGoodsNumber())))); + s.setIconUrl(fileUploadComponent.getUrlPrefix() +s.getIconUrl()); + }); + + return rb.success().setData(list).setMsg("成功"); + } + public ResultBean minusShoppingCart(ShoppingCartDto dto) { + ResultBean rb = ResultBean.fireFail(); + ShoppingCart entity=new ShoppingCart(); +// List list= baseMapper.selectList(new QueryWrapper().eq("sid",dto.getSid())); + List list= baseMapper.selectList(new QueryWrapper().eq("customerSid",dto.getCustomerSid()) + .eq("goodsSid",dto.getGoodsSid()) + .eq("affiliation",dto.getAffiliation())); + if(list.size()>0){ + list.get(0).setGoodsNumber(String.valueOf(Double.valueOf(list.get(0).getGoodsNumber())-Double.valueOf(dto.getGoodsNumber()))); + baseMapper.updateById(list.get(0)); + return rb.success().setMsg("成功"); + } +// BeanUtil.copyProperties(dto, entity, "id", "sid"); +// baseMapper.insert(entity); + return rb.success().setMsg("成功"); + } + public ResultBean delShoppingCart(String sid) { + ResultBean rb = ResultBean.fireFail(); + ShoppingCart entity=new ShoppingCart(); + baseMapper.delete(new QueryWrapper().eq("sid ",sid)); + return rb.success().setMsg("成功"); + } + public ResultBean getGoodsWeight(ShoppingCartQuery query) { + ResultBean rb=new ResultBean().fail(); + List list= baseMapper.ShoppingCartList(query.getCustomerSid(),query.getAffiliation()); + double price =0; + double weight =0; + for(ShoppingCartVo vo:list){ + price=Double.valueOf(vo.getPrice())*Double.valueOf(vo.getGoodsNumber())+price; + weight=Double.valueOf(vo.getWeight())*Double.valueOf(vo.getGoodsNumber())+weight; + } + ShoppingCartVo vo =new ShoppingCartVo(); + vo.setTotalPrice(String.valueOf((int) price)); + vo.setTotalWeight(String.valueOf((int)weight)); + return rb.success().setData(vo); + } +} diff --git a/src/main/java/com/yxt/yythmall/config/SaTokenConfigure.java b/src/main/java/com/yxt/yythmall/config/SaTokenConfigure.java index 5fec141..850064b 100644 --- a/src/main/java/com/yxt/yythmall/config/SaTokenConfigure.java +++ b/src/main/java/com/yxt/yythmall/config/SaTokenConfigure.java @@ -56,6 +56,14 @@ public class SaTokenConfigure implements WebMvcConfigurer { .excludePathPatterns("/lpkgiftcard/cardShareGoodsDetail/**") .excludePathPatterns("/empcardgift/generateTopEmpCard/**") .excludePathPatterns("/empsreservoorder/createOrder") + //2024-01-17 + .excludePathPatterns("/lpkgiftcard/getAllGoodsType/**") + .excludePathPatterns("/lpkgiftcard/getGoodsByType/**") + .excludePathPatterns("/shoppingcart/addShoppingCart") + .excludePathPatterns("/shoppingcart/getGoodsWeight") + .excludePathPatterns("/shoppingcart/shoppingCartList") + .excludePathPatterns("/shoppingcart/delShoppingCart/**") + .excludePathPatterns("/lpkgoods/vegeCellarList") .excludePathPatterns("/lpkgiftcard/bindAllCard"); } }