| | |
| | | package com.matrix.system.shopXcx.api.action; |
| | | |
| | | import com.matrix.biz.bean.BizUser; |
| | | import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao; |
| | | import com.matrix.system.fenxiao.entity.ShopSalesmanGrade; |
| | | import com.matrix.system.hive.bean.SysVipInfo; |
| | | import com.matrix.component.redis.RedisUserLoginUtils; |
| | | import com.matrix.core.pojo.AjaxResult; |
| | | import com.matrix.core.tools.StringUtils; |
| | |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * @author pengliang |
| | |
| | | @Autowired |
| | | private ShopProductCommentDao productCommentDao; |
| | | |
| | | @Autowired |
| | | private ShopSalesmanGradeDao shopSalesmanGradeDao; |
| | | |
| | | /** |
| | | * 根据id查询商品信息 |
| | | * |
| | |
| | | @RequestMapping(value = "/getProductById/{shopId}/{id}") |
| | | @ResponseBody |
| | | public AjaxResult getProductById(@PathVariable Long shopId, @PathVariable("id") Integer id) { |
| | | |
| | | SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class); |
| | | ShopProduct shopProduct = shopProductDao.selectById(id); |
| | | if (shopProduct == null) { |
| | | return new AjaxResult(AjaxResult.STATUS_FAIL, "没有查询到商品"); |
| | | } |
| | | |
| | | List<ShopProductAttrRef> shopProductAttrRefs = shopProductAttrRefDao.selectByPid(id); |
| | | List<ShopProductImg> shopProductImgs = shopProductImgDao.selectByPid(id); |
| | | List<ShopSku> shopSkus = shopSkuDao.selectByPid(id); |
| | | if(SysVipInfo.IS_SALES==sysVipInfo.getIsSales()){ |
| | | ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectById(sysVipInfo.getSalesmanGrade()); |
| | | //计算产品佣金 |
| | | shopSkus.forEach(shopSku -> { |
| | | if(Objects.isNull(shopSku.getInvitationPrice())){ |
| | | shopSku.setInvitationPrice(shopSku.getPrice().multiply(BigDecimal.valueOf(shopSalesmanGrade.getInvitationCommission())).divide(BigDecimal.valueOf(100))); |
| | | } |
| | | if(Objects.isNull(shopSku.getSealesPrice())){ |
| | | shopSku.setSealesPrice(shopSku.getPrice().multiply(BigDecimal.valueOf(shopSalesmanGrade.getSealesCommission())).divide(BigDecimal.valueOf(100))); |
| | | } |
| | | if(Objects.isNull(shopSku.getSelfPrice())){ |
| | | shopSku.setSelfPrice(shopSku.getPrice().multiply(BigDecimal.valueOf(shopSalesmanGrade.getSelfCommission())).divide(BigDecimal.valueOf(100))); |
| | | } |
| | | }); |
| | | } |
| | | List<ShopProductParamRef> shopProductParamRefs = shopProductParamRefDao.selectByPid(id); |
| | | shopProduct.setAttrRefs(shopProductAttrRefs); |
| | | shopProduct.setProductImgs(shopProductImgs); |
| | |
| | | //查询产品适配的优惠券 |
| | | result.putInMap("couponList", shopCouponService.getCouponListByProductId(id)); |
| | | //查询产品是否被用户收藏 |
| | | result.putInMap("checkCollect", CollectionUtils.isNotEmpty(collectionDao.selectByUserIdAndProid(id, redisUserLoginUtils.getLoginUser(BizUser.class).getOpenId()))); |
| | | result.putInMap("checkCollect", CollectionUtils.isNotEmpty(collectionDao.selectByUserIdAndProid(id, redisUserLoginUtils.getLoginUser(SysVipInfo.class).getOpenId()))); |
| | | } else { |
| | | result.putInMap("checkCollect", false); |
| | | } |
| | |
| | | @ResponseBody |
| | | public AjaxResult getShopProductShowList(@RequestBody ShopProduct shopProduct) { |
| | | List<ShopProduct> shopProducts = null; |
| | | shopProduct.setMallType(ShopProduct.MALL_MICRO); |
| | | //查询是否匹配优惠条件 |
| | | ShopCoupon shopCoupon = shopCouponDao.getCouponByTitle(shopProduct.getTitle(),HostInterceptor.getCompanyId()); |
| | | if (shopCoupon != null && shopProduct.getOffset() < 1) { |
| | |
| | | * @param shopProduct |
| | | */ |
| | | private void saveSearchHistroy(@RequestBody ShopProduct shopProduct) { |
| | | BizUser bigUser = redisUserLoginUtils.getLoginUser(BizUser.class); |
| | | SysVipInfo bigUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class); |
| | | ShopSearchRecord searchBean = new ShopSearchRecord(); |
| | | if (StringUtils.isNotBlank(shopProduct.getTitle())) { |
| | | searchBean.setSearchType(AppConstance.SEARCH_TYPE); |
| | | searchBean.setSearchContent(shopProduct.getTitle()); |
| | | } |
| | | searchBean.setUserId(bigUser.getOpenId()); |
| | | searchBean.setUserId(bigUser.getId()); |
| | | searchBean.setSearchPriceStart(shopProduct.getStartPrice()); |
| | | searchBean.setSearchPriceEnd(shopProduct.getEndPrice()); |
| | | searchBean.setSearchDel(AppConstance.DATA_USEABLE); |