增加拼团访问数、商品详情接口放开以及其它bug修复
This commit is contained in:
@ -9,10 +9,17 @@
|
|||||||
package co.yixiang.common.bean;
|
package co.yixiang.common.bean;
|
||||||
|
|
||||||
|
|
||||||
|
import co.yixiang.api.ApiCode;
|
||||||
|
import co.yixiang.api.UnAuthenticatedException;
|
||||||
|
import co.yixiang.common.util.JwtToken;
|
||||||
|
import co.yixiang.common.util.RequestUtils;
|
||||||
import co.yixiang.modules.user.domain.YxUser;
|
import co.yixiang.modules.user.domain.YxUser;
|
||||||
|
import com.auth0.jwt.interfaces.Claim;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 全局user
|
* 全局user
|
||||||
@ -44,4 +51,26 @@ public class LocalUser {
|
|||||||
Integer scope = (Integer)map.get("scope");
|
Integer scope = (Integer)map.get("scope");
|
||||||
return scope;
|
return scope;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Long getUidByToken(){
|
||||||
|
String bearerToken = RequestUtils.getRequest().getHeader("Authorization");
|
||||||
|
if (StringUtils.isEmpty(bearerToken)) {
|
||||||
|
return 0L;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!bearerToken.startsWith("Bearer")) {
|
||||||
|
return 0L;
|
||||||
|
}
|
||||||
|
String[] tokens = bearerToken.split(" ");
|
||||||
|
if (!(tokens.length == 2)) {
|
||||||
|
return 0L;
|
||||||
|
}
|
||||||
|
String token = tokens[1];
|
||||||
|
|
||||||
|
Optional<Map<String, Claim>> optionalMap = JwtToken.getClaims(token);
|
||||||
|
Map<String, Claim> map = optionalMap
|
||||||
|
.orElseThrow(() -> new UnAuthenticatedException(ApiCode.UNAUTHORIZED));
|
||||||
|
|
||||||
|
return map.get("uid").asLong();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -208,8 +208,8 @@ public class StoreProductController {
|
|||||||
/**
|
/**
|
||||||
* 普通商品详情
|
* 普通商品详情
|
||||||
*/
|
*/
|
||||||
@AppLog(value = "普通商品详情", type = 1)
|
//@AppLog(value = "普通商品详情", type = 1)
|
||||||
@AuthCheck
|
//@AuthCheck
|
||||||
@GetMapping("/product/detail/{id}")
|
@GetMapping("/product/detail/{id}")
|
||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "id", value = "商品ID", paramType = "query", dataType = "long",required = true),
|
@ApiImplicitParam(name = "id", value = "商品ID", paramType = "query", dataType = "long",required = true),
|
||||||
@ -222,7 +222,7 @@ public class StoreProductController {
|
|||||||
@RequestParam(value = "",required=false) String latitude,
|
@RequestParam(value = "",required=false) String latitude,
|
||||||
@RequestParam(value = "",required=false) String longitude,
|
@RequestParam(value = "",required=false) String longitude,
|
||||||
@RequestParam(value = "",required=false) String from) {
|
@RequestParam(value = "",required=false) String from) {
|
||||||
long uid = LocalUser.getUser().getUid();
|
long uid = LocalUser.getUidByToken();
|
||||||
storeProductService.incBrowseNum(id);
|
storeProductService.incBrowseNum(id);
|
||||||
ProductVo productDTO = storeProductService.goodsDetail(id,uid,latitude,longitude);
|
ProductVo productDTO = storeProductService.goodsDetail(id,uid,latitude,longitude);
|
||||||
return ApiResult.ok(productDTO);
|
return ApiResult.ok(productDTO);
|
||||||
|
@ -7,9 +7,16 @@ package co.yixiang.modules.activity.domain;
|
|||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.bean.copier.CopyOptions;
|
import cn.hutool.core.bean.copier.CopyOptions;
|
||||||
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
@ -18,15 +25,19 @@ import java.io.Serializable;
|
|||||||
* @date 2020-05-13
|
* @date 2020-05-13
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
@TableName("yx_store_visit")
|
@TableName("yx_store_visit")
|
||||||
public class YxStoreVisit implements Serializable {
|
public class YxStoreVisit implements Serializable {
|
||||||
|
|
||||||
@TableId
|
@TableId
|
||||||
private Integer id;
|
private Long id;
|
||||||
|
|
||||||
|
|
||||||
/** 产品ID */
|
/** 产品ID */
|
||||||
private Integer productId;
|
private Long productId;
|
||||||
|
|
||||||
|
|
||||||
/** 产品类型 */
|
/** 产品类型 */
|
||||||
@ -42,7 +53,7 @@ public class YxStoreVisit implements Serializable {
|
|||||||
|
|
||||||
|
|
||||||
/** 用户ID */
|
/** 用户ID */
|
||||||
private Integer uid;
|
private Long uid;
|
||||||
|
|
||||||
|
|
||||||
/** 访问次数 */
|
/** 访问次数 */
|
||||||
@ -54,6 +65,8 @@ public class YxStoreVisit implements Serializable {
|
|||||||
|
|
||||||
|
|
||||||
/** 添加时间 */
|
/** 添加时间 */
|
||||||
|
@TableField(fill= FieldFill.INSERT)
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
|
||||||
private Integer addTime;
|
private Integer addTime;
|
||||||
|
|
||||||
|
|
||||||
|
@ -40,6 +40,13 @@ public interface YxStoreVisitService extends BaseService<YxStoreVisit>{
|
|||||||
*/
|
*/
|
||||||
List<YxStoreVisit> queryAll(YxStoreVisitQueryCriteria criteria);
|
List<YxStoreVisit> queryAll(YxStoreVisitQueryCriteria criteria);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加用户访问拼团记录
|
||||||
|
* @param uid 用户id
|
||||||
|
* @param productId 产品id
|
||||||
|
*/
|
||||||
|
void addStoreVisit(Long uid,Long productId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出数据
|
* 导出数据
|
||||||
* @param all 待导出的数据
|
* @param all 待导出的数据
|
||||||
|
@ -22,6 +22,7 @@ import co.yixiang.modules.activity.domain.YxStoreCombination;
|
|||||||
import co.yixiang.modules.activity.domain.YxStorePink;
|
import co.yixiang.modules.activity.domain.YxStorePink;
|
||||||
import co.yixiang.modules.activity.service.YxStoreCombinationService;
|
import co.yixiang.modules.activity.service.YxStoreCombinationService;
|
||||||
import co.yixiang.modules.activity.service.YxStorePinkService;
|
import co.yixiang.modules.activity.service.YxStorePinkService;
|
||||||
|
import co.yixiang.modules.activity.service.YxStoreVisitService;
|
||||||
import co.yixiang.modules.activity.service.dto.PinkAllDto;
|
import co.yixiang.modules.activity.service.dto.PinkAllDto;
|
||||||
import co.yixiang.modules.activity.service.dto.PinkDto;
|
import co.yixiang.modules.activity.service.dto.PinkDto;
|
||||||
import co.yixiang.modules.activity.service.dto.PinkUserDto;
|
import co.yixiang.modules.activity.service.dto.PinkUserDto;
|
||||||
@ -91,6 +92,9 @@ public class YxStorePinkServiceImpl extends BaseServiceImpl<YxStorePinkMapper, Y
|
|||||||
@Autowired
|
@Autowired
|
||||||
private YxStoreCartService yxStoreCartService;
|
private YxStoreCartService yxStoreCartService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private YxStoreVisitService yxStoreVisitService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 取消拼团
|
* 取消拼团
|
||||||
@ -243,6 +247,10 @@ public class YxStorePinkServiceImpl extends BaseServiceImpl<YxStorePinkMapper, Y
|
|||||||
YxUserQueryVo userInfo = userService.getYxUserById(uid);
|
YxUserQueryVo userInfo = userService.getYxUserById(uid);
|
||||||
YxStoreOrder yxStoreOrder = storeOrderService.getById(pink.getOrderIdKey());
|
YxStoreOrder yxStoreOrder = storeOrderService.getById(pink.getOrderIdKey());
|
||||||
YxStoreCart yxStoreCart = yxStoreCartService.getById(yxStoreOrder.getCartId());
|
YxStoreCart yxStoreCart = yxStoreCartService.getById(yxStoreOrder.getCartId());
|
||||||
|
//拼团访问量
|
||||||
|
yxStoreCombinationMapper.incBrowseNum(pink.getPid());
|
||||||
|
//拼团访客人数
|
||||||
|
yxStoreVisitService.addStoreVisit(uid, pink.getPid());
|
||||||
return PinkInfoVo.builder()
|
return PinkInfoVo.builder()
|
||||||
.count(count)
|
.count(count)
|
||||||
.currentPinkOrder(this.getCurrentPinkOrderId(id,uid))
|
.currentPinkOrder(this.getCurrentPinkOrderId(id,uid))
|
||||||
|
@ -5,15 +5,20 @@
|
|||||||
*/
|
*/
|
||||||
package co.yixiang.modules.activity.service.impl;
|
package co.yixiang.modules.activity.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||||
import co.yixiang.common.utils.QueryHelpPlus;
|
import co.yixiang.common.utils.QueryHelpPlus;
|
||||||
import co.yixiang.dozer.service.IGenerator;
|
import co.yixiang.dozer.service.IGenerator;
|
||||||
|
import co.yixiang.enums.ProductTypeEnum;
|
||||||
import co.yixiang.modules.activity.domain.YxStoreVisit;
|
import co.yixiang.modules.activity.domain.YxStoreVisit;
|
||||||
import co.yixiang.modules.activity.service.YxStoreVisitService;
|
import co.yixiang.modules.activity.service.YxStoreVisitService;
|
||||||
import co.yixiang.modules.activity.service.dto.YxStoreVisitDto;
|
import co.yixiang.modules.activity.service.dto.YxStoreVisitDto;
|
||||||
import co.yixiang.modules.activity.service.dto.YxStoreVisitQueryCriteria;
|
import co.yixiang.modules.activity.service.dto.YxStoreVisitQueryCriteria;
|
||||||
import co.yixiang.modules.activity.service.mapper.YxStoreVisitMapper;
|
import co.yixiang.modules.activity.service.mapper.YxStoreVisitMapper;
|
||||||
|
import co.yixiang.modules.product.domain.YxStoreProduct;
|
||||||
|
import co.yixiang.modules.product.service.YxStoreProductService;
|
||||||
import co.yixiang.utils.FileUtil;
|
import co.yixiang.utils.FileUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
@ -40,6 +45,8 @@ import java.util.Map;
|
|||||||
public class YxStoreVisitServiceImpl extends BaseServiceImpl<YxStoreVisitMapper, YxStoreVisit> implements YxStoreVisitService {
|
public class YxStoreVisitServiceImpl extends BaseServiceImpl<YxStoreVisitMapper, YxStoreVisit> implements YxStoreVisitService {
|
||||||
|
|
||||||
private final IGenerator generator;
|
private final IGenerator generator;
|
||||||
|
private final YxStoreProductService yxStoreProductService;
|
||||||
|
private final YxStoreVisitMapper yxStoreVisitMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
//@Cacheable
|
//@Cacheable
|
||||||
@ -59,7 +66,6 @@ public class YxStoreVisitServiceImpl extends BaseServiceImpl<YxStoreVisitMapper,
|
|||||||
return baseMapper.selectList(QueryHelpPlus.getPredicate(YxStoreVisit.class, criteria));
|
return baseMapper.selectList(QueryHelpPlus.getPredicate(YxStoreVisit.class, criteria));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void download(List<YxStoreVisitDto> all, HttpServletResponse response) throws IOException {
|
public void download(List<YxStoreVisitDto> all, HttpServletResponse response) throws IOException {
|
||||||
List<Map<String, Object>> list = new ArrayList<>();
|
List<Map<String, Object>> list = new ArrayList<>();
|
||||||
@ -77,4 +83,33 @@ public class YxStoreVisitServiceImpl extends BaseServiceImpl<YxStoreVisitMapper,
|
|||||||
}
|
}
|
||||||
FileUtil.downloadExcel(list, response);
|
FileUtil.downloadExcel(list, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加用户访问拼团记录
|
||||||
|
* @param uid 用户id
|
||||||
|
* @param productId 产品id
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void addStoreVisit(Long uid, Long productId) {
|
||||||
|
|
||||||
|
LambdaQueryWrapper<YxStoreVisit> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(YxStoreVisit::getUid, uid).eq(YxStoreVisit::getProductId, productId);
|
||||||
|
YxStoreVisit storeVisit = this.baseMapper.selectOne(wrapper);
|
||||||
|
|
||||||
|
if (ObjectUtil.isNull(storeVisit)) {
|
||||||
|
//查询产品分类
|
||||||
|
YxStoreProduct yxStoreProduct = yxStoreProductService.getProductInfo(productId);
|
||||||
|
|
||||||
|
YxStoreVisit yxStoreVisit = YxStoreVisit.builder()
|
||||||
|
.productId(productId)
|
||||||
|
.productType(ProductTypeEnum.COMBINATION.getValue())
|
||||||
|
.cateId(Integer.valueOf(yxStoreProduct.getCateId()))
|
||||||
|
.type(ProductTypeEnum.COMBINATION.getValue())
|
||||||
|
.uid(uid)
|
||||||
|
.count(1)
|
||||||
|
.build();
|
||||||
|
this.saveOrUpdate(yxStoreVisit);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -75,6 +75,7 @@ public class YxUserExtractServiceImpl extends BaseServiceImpl<YxUserExtractMappe
|
|||||||
* @param param UserExtParam
|
* @param param UserExtParam
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void userExtract(YxUser userInfo, UserExtParam param) {
|
public void userExtract(YxUser userInfo, UserExtParam param) {
|
||||||
BigDecimal extractPrice = userInfo.getBrokeragePrice();
|
BigDecimal extractPrice = userInfo.getBrokeragePrice();
|
||||||
if(extractPrice.compareTo(BigDecimal.ZERO) <= 0) {
|
if(extractPrice.compareTo(BigDecimal.ZERO) <= 0) {
|
||||||
@ -202,6 +203,7 @@ public class YxUserExtractServiceImpl extends BaseServiceImpl<YxUserExtractMappe
|
|||||||
* @param resources YxUserExtract
|
* @param resources YxUserExtract
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void doExtract(YxUserExtract resources){
|
public void doExtract(YxUserExtract resources){
|
||||||
if(resources.getStatus() == null){
|
if(resources.getStatus() == null){
|
||||||
throw new BadRequestException("请选择审核状态");
|
throw new BadRequestException("请选择审核状态");
|
||||||
|
@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
import org.apache.ibatis.annotations.Update;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -53,4 +54,13 @@ public interface YxStoreCombinationMapper extends CoreMapper<YxStoreCombination>
|
|||||||
" FROM yx_store_combination c " +
|
" FROM yx_store_combination c " +
|
||||||
" WHERE c.id = #{id} and c.is_del = 0 ")
|
" WHERE c.id = #{id} and c.is_del = 0 ")
|
||||||
YxStoreProductQueryVo combinatiionInfo(Long id);
|
YxStoreProductQueryVo combinatiionInfo(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品浏览量
|
||||||
|
* @param productId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Update("update yx_store_combination set browse=browse+1 " +
|
||||||
|
"where id=#{productId}")
|
||||||
|
int incBrowseNum(@Param("productId") Long productId);
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,8 @@ package co.yixiang.modules.activity.service.mapper;
|
|||||||
|
|
||||||
import co.yixiang.common.mapper.CoreMapper;
|
import co.yixiang.common.mapper.CoreMapper;
|
||||||
import co.yixiang.modules.activity.domain.YxStoreVisit;
|
import co.yixiang.modules.activity.domain.YxStoreVisit;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Update;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -19,4 +21,12 @@ import org.springframework.stereotype.Repository;
|
|||||||
@Repository
|
@Repository
|
||||||
public interface YxStoreVisitMapper extends CoreMapper<YxStoreVisit> {
|
public interface YxStoreVisitMapper extends CoreMapper<YxStoreVisit> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拼团浏览量
|
||||||
|
* @param productId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Update("update yx_store_visit set count=count+1 " +
|
||||||
|
"where uid=#{uid} AND id=#{productId}")
|
||||||
|
int incBrowseNum(@Param("uid") Long uid,@Param("productId") Long productId);
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ public interface YxStoreProductService extends BaseService<YxStoreProduct>{
|
|||||||
*/
|
*/
|
||||||
void decProductStock(int num, Long productId, String unique,Long activityId,String type);
|
void decProductStock(int num, Long productId, String unique,Long activityId,String type);
|
||||||
|
|
||||||
YxStoreProduct getProductInfo(int id);
|
YxStoreProduct getProductInfo(Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取单个商品
|
* 获取单个商品
|
||||||
|
@ -168,7 +168,7 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public YxStoreProduct getProductInfo(int id) {
|
public YxStoreProduct getProductInfo(Long id) {
|
||||||
LambdaQueryWrapper<YxStoreProduct> wrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<YxStoreProduct> wrapper = new LambdaQueryWrapper<>();
|
||||||
wrapper.eq(YxStoreProduct::getIsShow, 1).eq(YxStoreProduct::getId, id);
|
wrapper.eq(YxStoreProduct::getIsShow, 1).eq(YxStoreProduct::getId, id);
|
||||||
YxStoreProduct storeProduct = this.baseMapper.selectOne(wrapper);
|
YxStoreProduct storeProduct = this.baseMapper.selectOne(wrapper);
|
||||||
@ -314,15 +314,16 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
|
|||||||
//设置销量
|
//设置销量
|
||||||
storeProductQueryVo.setSales(storeProductQueryVo.getSales() + storeProductQueryVo.getFicti());
|
storeProductQueryVo.setSales(storeProductQueryVo.getSales() + storeProductQueryVo.getFicti());
|
||||||
|
|
||||||
//设置VIP价格
|
if (uid.longValue() > 0) {
|
||||||
double vipPrice = userService.setLevelPrice(
|
//设置VIP价格
|
||||||
storeProductQueryVo.getPrice().doubleValue(), uid);
|
double vipPrice = userService.setLevelPrice(
|
||||||
storeProductQueryVo.setVipPrice(BigDecimal.valueOf(vipPrice));
|
storeProductQueryVo.getPrice().doubleValue(), uid);
|
||||||
|
storeProductQueryVo.setVipPrice(BigDecimal.valueOf(vipPrice));
|
||||||
//收藏
|
|
||||||
boolean isCollect = relationService.isProductRelation(id, uid);
|
|
||||||
storeProductQueryVo.setUserCollect(isCollect);
|
|
||||||
|
|
||||||
|
//收藏
|
||||||
|
boolean isCollect = relationService.isProductRelation(id, uid);
|
||||||
|
storeProductQueryVo.setUserCollect(isCollect);
|
||||||
|
}
|
||||||
//总条数
|
//总条数
|
||||||
int totalCount = replyService.productReplyCount(id);
|
int totalCount = replyService.productReplyCount(id);
|
||||||
productVo.setReplyCount(totalCount);
|
productVo.setReplyCount(totalCount);
|
||||||
@ -362,21 +363,24 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
|
|||||||
//门店
|
//门店
|
||||||
productVo.setSystemStore(systemStoreService.getStoreInfo(latitude, longitude));
|
productVo.setSystemStore(systemStoreService.getStoreInfo(latitude, longitude));
|
||||||
productVo.setMapKey(RedisUtil.get(ShopKeyUtils.getTengXunMapKey()));
|
productVo.setMapKey(RedisUtil.get(ShopKeyUtils.getTengXunMapKey()));
|
||||||
//添加足迹
|
if (uid.longValue() > 0) {
|
||||||
YxStoreProductRelation foot = relationService.getOne(new LambdaQueryWrapper<YxStoreProductRelation>()
|
//添加足迹
|
||||||
.eq(YxStoreProductRelation::getUid, uid)
|
YxStoreProductRelation foot = relationService.getOne(new LambdaQueryWrapper<YxStoreProductRelation>()
|
||||||
.eq(YxStoreProductRelation::getProductId, storeProductQueryVo.getId())
|
.eq(YxStoreProductRelation::getUid, uid)
|
||||||
.eq(YxStoreProductRelation::getType, "foot"));
|
.eq(YxStoreProductRelation::getProductId, storeProductQueryVo.getId())
|
||||||
if (ObjectUtil.isNotNull(foot)) {
|
.eq(YxStoreProductRelation::getType, "foot"));
|
||||||
foot.setCreateTime(new Date());
|
|
||||||
relationService.saveOrUpdate(foot);
|
if (ObjectUtil.isNotNull(foot)) {
|
||||||
} else {
|
foot.setCreateTime(new Date());
|
||||||
YxStoreProductRelation storeProductRelation = new YxStoreProductRelation();
|
relationService.saveOrUpdate(foot);
|
||||||
storeProductRelation.setProductId(storeProductQueryVo.getId());
|
} else {
|
||||||
storeProductRelation.setUid(uid);
|
YxStoreProductRelation storeProductRelation = new YxStoreProductRelation();
|
||||||
storeProductRelation.setCreateTime(new Date());
|
storeProductRelation.setProductId(storeProductQueryVo.getId());
|
||||||
storeProductRelation.setType("foot");
|
storeProductRelation.setUid(uid);
|
||||||
relationService.save(storeProductRelation);
|
storeProductRelation.setCreateTime(new Date());
|
||||||
|
storeProductRelation.setType("foot");
|
||||||
|
relationService.save(storeProductRelation);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return productVo;
|
return productVo;
|
||||||
|
@ -30,7 +30,7 @@ import java.util.List;
|
|||||||
@Repository
|
@Repository
|
||||||
public interface YxStoreProductRelationMapper extends CoreMapper<YxStoreProductRelation> {
|
public interface YxStoreProductRelationMapper extends CoreMapper<YxStoreProductRelation> {
|
||||||
|
|
||||||
@Select("select B.id pid,A.type as category,B.store_name as storeName,B.price," +
|
@Select("select B.id pid,A.type as category,B.store_name as storeName,B.price,B.is_integral as isIntegral," +
|
||||||
"B.ot_price as otPrice,B.sales,B.image,B.is_show as isShow" +
|
"B.ot_price as otPrice,B.sales,B.image,B.is_show as isShow" +
|
||||||
" from yx_store_product_relation A left join yx_store_product B " +
|
" from yx_store_product_relation A left join yx_store_product B " +
|
||||||
"on A.product_id = B.id where A.type=#{type} and A.uid=#{uid} and A.is_del = 0 and B.is_del = 0 order by A.create_time desc")
|
"on A.product_id = B.id where A.type=#{type} and A.uid=#{uid} and A.is_del = 0 and B.is_del = 0 order by A.create_time desc")
|
||||||
|
@ -62,4 +62,7 @@ public class YxStoreProductRelationQueryVo implements Serializable {
|
|||||||
@ApiModelProperty(value = "商品名称")
|
@ApiModelProperty(value = "商品名称")
|
||||||
private String storeName;
|
private String storeName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否开启积分兑换")
|
||||||
|
private Integer isIntegral;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user