Browse Source

玫瑰

master
张彭杰 4 months ago
parent
commit
40a8271687
19 changed files with 314 additions and 181 deletions
  1. 41
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/OperatingSystemEnum.java
  2. 3
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductMainCategoryEnum.java
  3. 2
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductSubCategoryEnum.java
  4. 8
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/product/entity/Product.java
  5. 40
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/VirtualAccountUserCommandController.java
  6. 23
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/request/UserCreateVirtualAccountDto.java
  7. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/request/UserDeleteVirtualAccountDto.java
  8. 26
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/request/UserEditVirtualAccountDto.java
  9. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/ProductUserQueryController.java
  10. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/request/UserListVirtualCurrencyProductQueryParams.java
  11. 47
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/response/UserVirtualCurrencyVo.java
  12. 25
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/virtualaccount/user/VirtualAccountUserQueryController.java
  13. 18
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/virtualaccount/user/request/UserGetVirtualAccountVo.java
  14. 8
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/ProductViewDao.java
  15. 3
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/ProductQueryService.java
  16. 11
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java
  17. 6
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/virtualaccount/VirtualAccountQueryService.java
  18. 28
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/virtualaccount/impl/VirtualAccountQueryServiceImpl.java
  19. 175
      dating-agency-mall-server/src/main/resources/mapper/product/WalletAccountAssociateOrderRecordDao.xml

41
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/OperatingSystemEnum.java

@ -0,0 +1,41 @@
package com.qniao.dam.domian.aggregate.product.constant;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
@Getter
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum OperatingSystemEnum {
/**
* 1-已上架
*/
ANDROID(1, "安卓"),
/**
* 2-已下架
*/
IOS(2, "IOS");
@EnumValue
@JsonValue
private final Integer value;
private final String desc;
OperatingSystemEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
@JsonCreator
public static OperatingSystemEnum get(Object code) {
for (OperatingSystemEnum e : OperatingSystemEnum.values()) {
if (e.getValue().equals(code)) {
return e;
}
}
return null;
}
}

3
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductMainCategoryEnum.java

@ -23,6 +23,9 @@ public enum ProductMainCategoryEnum {
SITE_ACTIVITY(8, "线下活动"),
CUSTOMIZED_SERVICE(9, "定制服务"),
VIRTUAL_CURRENCY(20, "虚拟货币"),
VIRTUAL_PROP(21, "虚拟道具"),
MATCHMAKER(888, "红娘合伙人"),

2
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductSubCategoryEnum.java

@ -44,6 +44,8 @@ public enum ProductSubCategoryEnum {
CUSTOMIZED_SERVICE(1101, "定制服务"),
VIRTUAL_CURRENCY(2001, "虚拟货币"),
MATCHMAKER_FRANCHISE_FEE(88801, "高级红娘"),
MATCHMAKER_ONLINE_FEE(88802, "线上红娘"),

8
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/product/entity/Product.java

@ -2,10 +2,7 @@ package com.qniao.dam.domain.aggregate.product.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec;
import com.qniao.dam.domian.aggregate.product.constant.ProductMainCategoryEnum;
import com.qniao.dam.domian.aggregate.product.constant.ProductStatusEnum;
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum;
import com.qniao.dam.domian.aggregate.product.constant.ProductTypeEnum;
import com.qniao.dam.domian.aggregate.product.constant.*;
import com.qniao.domain.Entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -45,6 +42,9 @@ public class Product extends Entity<Product> {
@ApiModelProperty("详情描述")
private String detailDesc;
@ApiModelProperty("操作系统")
private OperatingSystemEnum operatingSystem;
@ApiModelProperty("状态(已上架、已下架)")
private ProductStatusEnum status;

40
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/VirtualAccountUserCommandController.java

@ -1,40 +0,0 @@
package com.qniao.dam.api.command.virtualaccount.user;
import com.qniao.dam.api.command.virtualaccount.user.request.*;
import com.qniao.dam.application.service.virtualaccount.VirtualAccountApplicationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
@Api(tags = "虚拟账号")
@RestController
@RequestMapping("user")
public class VirtualAccountUserCommandController {
@Resource
private VirtualAccountApplicationService virtualAccountApplicationService;
@ApiOperation("用户创建虚拟账号")
@PostMapping("create/virtual-account")
public void userCreateVirtualAccount(@RequestBody @Valid UserCreateVirtualAccountDto dto,
@RequestParam("userId") Long userId) {
virtualAccountApplicationService.create(dto.trans2Domain());
}
@ApiOperation("用户编辑虚拟账号")
@PostMapping("edit/virtual-account")
public void userEditVirtualAccount(@RequestBody @Valid UserEditVirtualAccountDto dto,
@RequestParam("userId") Long userId) {
virtualAccountApplicationService.edit(dto.trans2Domain());
}
@ApiOperation("用户删除虚拟账号")
@PostMapping("delete/virtual-account")
public void userDeleteVirtualAccount(@RequestBody @Valid UserDeleteVirtualAccountDto dto,
@RequestParam("userId") Long userId) {
virtualAccountApplicationService.delete(dto.getId());
}
}

23
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/request/UserCreateVirtualAccountDto.java

@ -1,23 +0,0 @@
package com.qniao.dam.api.command.virtualaccount.user.request;
import com.qniao.dam.domain.aggregate.virtualaccount.entity.VirtualAccount;
import com.qniao.domain.Trans2DomainAssembler;
import io.swagger.annotations.ApiModelProperty;
import com.qniao.framework.utils.TypeConvertUtils;
import lombok.Data;
@Data
public class UserCreateVirtualAccountDto implements Trans2DomainAssembler<VirtualAccount> {
@ApiModelProperty("用户唯一标识")
private Long userId;
@ApiModelProperty("数量")
private Integer balance;
@Override
public VirtualAccount trans2Domain() {
return TypeConvertUtils.convert(this, VirtualAccount.class);
}
}

12
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/request/UserDeleteVirtualAccountDto.java

@ -1,12 +0,0 @@
package com.qniao.dam.api.command.virtualaccount.user.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserDeleteVirtualAccountDto {
@ApiModelProperty("唯一标识")
private Long id;
}

26
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/virtualaccount/user/request/UserEditVirtualAccountDto.java

@ -1,26 +0,0 @@
package com.qniao.dam.api.command.virtualaccount.user.request;
import com.qniao.dam.domain.aggregate.virtualaccount.entity.VirtualAccount;
import com.qniao.domain.Trans2DomainAssembler;
import io.swagger.annotations.ApiModelProperty;
import com.qniao.framework.utils.TypeConvertUtils;
import lombok.Data;
@Data
public class UserEditVirtualAccountDto implements Trans2DomainAssembler<VirtualAccount> {
@ApiModelProperty("唯一标识")
private Long id;
@ApiModelProperty("用户唯一标识")
private Long userId;
@ApiModelProperty("数量")
private Integer balance;
@Override
public VirtualAccount trans2Domain() {
return TypeConvertUtils.convert(this, VirtualAccount.class);
}
}

7
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/ProductUserQueryController.java

@ -1,5 +1,6 @@
package com.qniao.dam.api.query.product.user;
import com.qniao.dam.api.query.product.user.request.UserListVirtualCurrencyProductQueryParams;
import com.qniao.dam.api.query.product.user.request.UserPageProductByCustomerQueryParam;
import com.qniao.dam.api.query.product.user.request.UserPageProductByMatchmakerQueryParam;
import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam;
@ -95,4 +96,10 @@ public class ProductUserQueryController {
public UserGetMatchmakerFranchiseInfoVo userGetMatchmakerFranchiseInfo() {
return productQueryService.getMatchmakerFranchiseInfo();
}
@GetMapping("list/virtual-currency-product")
@ApiOperation("客户获取虚拟货币列表--玫瑰")
public List<UserVirtualCurrencyVo> userListVirtualCurrencyProduct(UserListVirtualCurrencyProductQueryParams queryParams) {
return productQueryService.listVirtualCurrencyProduct(queryParams);
}
}

12
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/request/UserListVirtualCurrencyProductQueryParams.java

@ -0,0 +1,12 @@
package com.qniao.dam.api.query.product.user.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserListVirtualCurrencyProductQueryParams {
@ApiModelProperty("操作系统 -- 默认安卓")
private Integer operatingSystem = 1;
}

47
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/response/UserVirtualCurrencyVo.java

@ -0,0 +1,47 @@
package com.qniao.dam.api.query.product.user.response;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qniao.dam.domian.aggregate.product.constant.ProductMainCategoryEnum;
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class UserVirtualCurrencyVo {
@ApiModelProperty("商品标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long productId;
@ApiModelProperty("商品规格标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long productSpecId;
@ApiModelProperty("产品主分类")
private ProductMainCategoryEnum mainCategory;
@ApiModelProperty("产品次分类")
private ProductSubCategoryEnum subCategory;
@ApiModelProperty("产品标题")
private String productTitle;
@ApiModelProperty("产品描述")
private String productDesc;
@ApiModelProperty("详情描述")
private String detailDesc;
@ApiModelProperty("原价")
private BigDecimal unitOriginalPrice;
@ApiModelProperty("售价")
private BigDecimal unitSellingPrice;
@ApiModelProperty("购买数量")
private String purchaseTimeValue;
}

25
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/virtualaccount/user/VirtualAccountUserQueryController.java

@ -0,0 +1,25 @@
package com.qniao.dam.api.query.virtualaccount.user;
import com.qniao.dam.api.query.virtualaccount.user.request.UserGetVirtualAccountVo;
import com.qniao.dam.query.virtualaccount.VirtualAccountQueryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@Api(tags = "虚拟账号")
@RestController
@RequestMapping("user")
public class VirtualAccountUserQueryController {
@Resource
private VirtualAccountQueryService virtualAccountQueryService;
@GetMapping("get/virtual-account")
@ApiOperation("用户获取虚拟账号")
public UserGetVirtualAccountVo userGetVirtualAccount(@RequestParam("userId") Long userId) {
return virtualAccountQueryService.getVirtualAccountView(userId);
}
}

18
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/virtualaccount/user/request/UserGetVirtualAccountVo.java

@ -0,0 +1,18 @@
package com.qniao.dam.api.query.virtualaccount.user.request;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserGetVirtualAccountVo {
@ApiModelProperty("唯一标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("数量")
private Integer balance;
}

8
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/ProductViewDao.java

@ -2,13 +2,11 @@ package com.qniao.dam.infrastructure.persistent.dao.view;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qniao.dam.api.query.product.user.request.UserListVirtualCurrencyProductQueryParams;
import com.qniao.dam.api.query.product.user.request.UserPageProductByCustomerQueryParam;
import com.qniao.dam.api.query.product.user.request.UserPageProductByMatchmakerQueryParam;
import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam;
import com.qniao.dam.api.query.product.user.response.UserPageProductByCustomerExtendVo;
import com.qniao.dam.api.query.product.user.response.UserPageProductByCustomerVo;
import com.qniao.dam.api.query.product.user.response.UserPageProductByMatchmakerVo;
import com.qniao.dam.api.query.product.user.response.UserPageProductByOperatorVo;
import com.qniao.dam.api.query.product.user.response.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -33,4 +31,6 @@ public interface ProductViewDao {
IPage<UserPageProductByMatchmakerVo> pageProductByMatchmakingCorner(Page<Object> pageWithoutOrders,
@Param("queryParam") UserPageProductByMatchmakerQueryParam queryParam);
List<UserVirtualCurrencyVo> listVirtualCurrencyProduct(@Param("queryParams") UserListVirtualCurrencyProductQueryParams queryParams);
}

3
dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/ProductQueryService.java

@ -1,6 +1,7 @@
package com.qniao.dam.query.product;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qniao.dam.api.query.product.user.request.UserListVirtualCurrencyProductQueryParams;
import com.qniao.dam.api.query.product.user.request.UserPageProductByCustomerQueryParam;
import com.qniao.dam.api.query.product.user.request.UserPageProductByMatchmakerQueryParam;
import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam;
@ -43,4 +44,6 @@ public interface ProductQueryService {
Product queryById(Long id);
IPage<UserPageProductByMatchmakerVo> pageProductByMatchmakingCorner(PageUtil pageUtil, UserPageProductByMatchmakerQueryParam queryParam);
List<UserVirtualCurrencyVo> listVirtualCurrencyProduct(UserListVirtualCurrencyProductQueryParams queryParams);
}

11
dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java

@ -3,6 +3,7 @@ package com.qniao.dam.query.product.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qniao.dam.api.query.product.user.request.UserListVirtualCurrencyProductQueryParams;
import com.qniao.dam.api.query.product.user.request.UserPageProductByCustomerQueryParam;
import com.qniao.dam.api.query.product.user.request.UserPageProductByMatchmakerQueryParam;
import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam;
@ -31,10 +32,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
@Service
@ -99,6 +97,11 @@ public class ProductQueryServiceImpl implements ProductQueryService {
return productViewDao.pageProductByMatchmakingCorner(pageUtil.toPageWithoutOrders(), queryParam);
}
@Override
public List<UserVirtualCurrencyVo> listVirtualCurrencyProduct(UserListVirtualCurrencyProductQueryParams queryParams) {
return productViewDao.listVirtualCurrencyProduct(queryParams);
}
@Override
public Product queryBy(Long userId, Long miId, ProductSubCategoryEnum subCategory) {
return productDao.selectOne(new LambdaQueryWrapper<Product>()

6
dating-agency-mall-server/src/main/java/com/qniao/dam/query/virtualaccount/VirtualAccountQueryService.java

@ -1,5 +1,11 @@
package com.qniao.dam.query.virtualaccount;
import com.qniao.dam.api.query.virtualaccount.user.request.UserGetVirtualAccountVo;
import com.qniao.dam.domain.aggregate.virtualaccount.entity.VirtualAccount;
public interface VirtualAccountQueryService {
UserGetVirtualAccountVo getVirtualAccountView(Long userId);
VirtualAccount queryBy(Long userId);
}

28
dating-agency-mall-server/src/main/java/com/qniao/dam/query/virtualaccount/impl/VirtualAccountQueryServiceImpl.java

@ -1,9 +1,37 @@
package com.qniao.dam.query.virtualaccount.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qniao.dam.api.query.virtualaccount.user.request.UserGetVirtualAccountVo;
import com.qniao.dam.domain.aggregate.virtualaccount.entity.VirtualAccount;
import com.qniao.dam.infrastructure.persistent.dao.virtualaccount.VirtualAccountDao;
import com.qniao.dam.query.virtualaccount.VirtualAccountQueryService;
import com.qniao.framework.utils.TypeConvertUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Objects;
@Service
public class VirtualAccountQueryServiceImpl implements VirtualAccountQueryService {
@Resource
private VirtualAccountDao virtualAccountDao;
@Override
public UserGetVirtualAccountVo getVirtualAccountView(Long userId) {
UserGetVirtualAccountVo vo = null;
VirtualAccount virtualAccount = queryBy(userId);
if (Objects.nonNull(virtualAccount)){
vo = TypeConvertUtils.convert(virtualAccount, UserGetVirtualAccountVo.class);
}
return vo;
}
@Override
public VirtualAccount queryBy(Long userId) {
return virtualAccountDao.selectOne(new LambdaQueryWrapper<VirtualAccount>()
.eq(VirtualAccount::getUserId, userId)
.last("limit 1"));
}
}

175
dating-agency-mall-server/src/main/resources/mapper/product/WalletAccountAssociateOrderRecordDao.xml

@ -6,23 +6,25 @@
<select id="pageProductByOperator"
resultType="com.qniao.dam.api.query.product.user.response.UserPageProductByOperatorVo">
select
dp.id as productId,
dps.id as productSpecId,
dp.product_type,
dp.main_category,
dp.sub_category,
dp.product_title,
dp.product_desc,
dp.detail_desc,
dp.`status`,
dps.unit_original_price,
dps.unit_selling_price,
dpst1.unit as productSpecUnit,
dpst2.`value` as validityPeriodValue
dp.id as productId,
dps.id as productSpecId,
dp.product_type,
dp.main_category,
dp.sub_category,
dp.product_title,
dp.product_desc,
dp.detail_desc,
dp.`status`,
dps.unit_original_price,
dps.unit_selling_price,
dpst1.unit as productSpecUnit,
dpst2.`value` as validityPeriodValue
from da_product as dp
LEFT JOIN da_product_spec as dps on dps.is_delete=0 and dps.product_id=dp.id
LEFT JOIN da_product_spec_term as dpst1 on dpst1.is_delete=0 and dpst1.product_spec_id =dps.id and dpst1.`name`=1
LEFT JOIN da_product_spec_term as dpst2 on dpst2.is_delete=0 and dpst2.product_spec_id =dps.id and dpst2.`name`=3
LEFT JOIN da_product_spec as dps on dps.is_delete=0 and dps.product_id=dp.id
LEFT JOIN da_product_spec_term as dpst1 on dpst1.is_delete=0 and dpst1.product_spec_id =dps.id and
dpst1.`name`=1
LEFT JOIN da_product_spec_term as dpst2 on dpst2.is_delete=0 and dpst2.product_spec_id =dps.id and
dpst2.`name`=3
where dp.is_delete=0
<if test="queryParam.manageEnable != null">
AND dp.manage_enable = #{queryParam.manageEnable}
@ -62,72 +64,82 @@
dpst4.`value` as dailyUseLimitValue
from da_product as dp
LEFT JOIN da_product_spec as dps on dps.is_delete=0 and dps.product_id=dp.id
LEFT JOIN da_product_spec_term as dpst1 on dpst1.is_delete=0 and dpst1.product_spec_id =dps.id and dpst1.`name`=1
LEFT JOIN da_product_spec_term as dpst2 on dpst2.is_delete=0 and dpst2.product_spec_id =dps.id and dpst2.`name`=3
LEFT JOIN da_product_spec_term as dpst3 on dpst3.is_delete=0 and dpst3.product_spec_id =dps.id and dpst3.`name`=2
LEFT JOIN da_product_spec_term as dpst4 on dpst4.is_delete=0 and dpst4.product_spec_id =dps.id and dpst4.`name`=4
LEFT JOIN da_product_spec_term as dpst1 on dpst1.is_delete=0 and dpst1.product_spec_id =dps.id and
dpst1.`name`=1
LEFT JOIN da_product_spec_term as dpst2 on dpst2.is_delete=0 and dpst2.product_spec_id =dps.id and
dpst2.`name`=3
LEFT JOIN da_product_spec_term as dpst3 on dpst3.is_delete=0 and dpst3.product_spec_id =dps.id and
dpst3.`name`=2
LEFT JOIN da_product_spec_term as dpst4 on dpst4.is_delete=0 and dpst4.product_spec_id =dps.id and
dpst4.`name`=4
where dp.is_delete=0 and dp.`status`=1 and dp.product_type=2
<if test="queryParam.subCategory != null">
AND dp.sub_category = #{queryParam.subCategory}
</if>
</select>
<select id="selectProductByCustomerList" resultType="com.qniao.dam.api.query.product.user.response.UserPageProductByCustomerExtendVo">
<select id="selectProductByCustomerList"
resultType="com.qniao.dam.api.query.product.user.response.UserPageProductByCustomerExtendVo">
SELECT
1 groupType,
a.id,
ap.product_id as productId,
ap.product_spec_id as productSpecId,
a.activity_name productName,
p.main_category,
p.sub_category,
p.product_title,
p.product_desc,
p.detail_desc,
ap.activity_unit_original_price unit_original_price,
ap.activity_unit_selling_price unit_selling_price,
dpst1.unit as productSpecUnit,
dpst2.`value` as validityPeriodValue,
dpst3.`value` as purchaseTimeValue,
dpst4.`value` as dailyUseLimitValue
1 groupType,
a.id,
ap.product_id as productId,
ap.product_spec_id as productSpecId,
a.activity_name productName,
p.main_category,
p.sub_category,
p.product_title,
p.product_desc,
p.detail_desc,
ap.activity_unit_original_price unit_original_price,
ap.activity_unit_selling_price unit_selling_price,
dpst1.unit as productSpecUnit,
dpst2.`value` as validityPeriodValue,
dpst3.`value` as purchaseTimeValue,
dpst4.`value` as dailyUseLimitValue
FROM
da_activity a
LEFT JOIN da_activity_product ap ON a.id = ap.activity_id AND ap.is_delete = 0
LEFT JOIN da_product p ON ap.product_id = p.id AND p.is_delete = 0
LEFT JOIN da_product_spec ps ON ps.id = ap.product_spec_id AND ps.product_id = ap.product_id AND ps.is_delete = 0
LEFT JOIN da_product_spec_term as dpst1 on dpst1.is_delete=0 and dpst1.product_spec_id =ps.id and dpst1.`name`=1
LEFT JOIN da_product_spec_term as dpst2 on dpst2.is_delete=0 and dpst2.product_spec_id =ps.id and dpst2.`name`=3
LEFT JOIN da_product_spec_term as dpst3 on dpst3.is_delete=0 and dpst3.product_spec_id =ps.id and dpst3.`name`=2
LEFT JOIN da_product_spec_term as dpst4 on dpst4.is_delete=0 and dpst4.product_spec_id =ps.id and dpst4.`name`=4
da_activity a
LEFT JOIN da_activity_product ap ON a.id = ap.activity_id AND ap.is_delete = 0
LEFT JOIN da_product p ON ap.product_id = p.id AND p.is_delete = 0
LEFT JOIN da_product_spec ps ON ps.id = ap.product_spec_id AND ps.product_id = ap.product_id AND ps.is_delete =
0
LEFT JOIN da_product_spec_term as dpst1 on dpst1.is_delete=0 and dpst1.product_spec_id =ps.id and dpst1.`name`=1
LEFT JOIN da_product_spec_term as dpst2 on dpst2.is_delete=0 and dpst2.product_spec_id =ps.id and dpst2.`name`=3
LEFT JOIN da_product_spec_term as dpst3 on dpst3.is_delete=0 and dpst3.product_spec_id =ps.id and dpst3.`name`=2
LEFT JOIN da_product_spec_term as dpst4 on dpst4.is_delete=0 and dpst4.product_spec_id =ps.id and dpst4.`name`=4
WHERE a.is_delete = 0 AND a.status = 1 AND a.start_time &lt;= NOW() AND a.end_time >= NOW() AND a.display = 0
<if test="id != null and id != ''">
AND a.id = #{id}
</if>
UNION
select
0 groupType,
dp.id,
dp.id as productId,
dps.id as productSpecId,
'' productName,
dp.main_category,
dp.sub_category,
dp.product_title,
dp.product_desc,
dp.detail_desc,
dps.unit_original_price,
dps.unit_selling_price,
dpst1.unit as productSpecUnit,
dpst2.`value` as validityPeriodValue,
dpst3.`value` as purchaseTimeValue,
dpst4.`value` as dailyUseLimitValue
0 groupType,
dp.id,
dp.id as productId,
dps.id as productSpecId,
'' productName,
dp.main_category,
dp.sub_category,
dp.product_title,
dp.product_desc,
dp.detail_desc,
dps.unit_original_price,
dps.unit_selling_price,
dpst1.unit as productSpecUnit,
dpst2.`value` as validityPeriodValue,
dpst3.`value` as purchaseTimeValue,
dpst4.`value` as dailyUseLimitValue
from da_product as dp
LEFT JOIN da_product_spec as dps on dps.is_delete=0 and dps.product_id=dp.id
LEFT JOIN da_product_spec_term as dpst1 on dpst1.is_delete=0 and dpst1.product_spec_id =dps.id and dpst1.`name`=1
LEFT JOIN da_product_spec_term as dpst2 on dpst2.is_delete=0 and dpst2.product_spec_id =dps.id and dpst2.`name`=3
LEFT JOIN da_product_spec_term as dpst3 on dpst3.is_delete=0 and dpst3.product_spec_id =dps.id and dpst3.`name`=2
LEFT JOIN da_product_spec_term as dpst4 on dpst4.is_delete=0 and dpst4.product_spec_id =dps.id and dpst4.`name`=4
LEFT JOIN da_product_spec as dps on dps.is_delete=0 and dps.product_id=dp.id
LEFT JOIN da_product_spec_term as dpst1 on dpst1.is_delete=0 and dpst1.product_spec_id =dps.id and
dpst1.`name`=1
LEFT JOIN da_product_spec_term as dpst2 on dpst2.is_delete=0 and dpst2.product_spec_id =dps.id and
dpst2.`name`=3
LEFT JOIN da_product_spec_term as dpst3 on dpst3.is_delete=0 and dpst3.product_spec_id =dps.id and
dpst3.`name`=2
LEFT JOIN da_product_spec_term as dpst4 on dpst4.is_delete=0 and dpst4.product_spec_id =dps.id and
dpst4.`name`=4
where dp.is_delete=0 and dp.`status`=1 and dp.product_type=2 AND dp.display = 0
<if test="id != null and id != ''">
AND dp.id = #{id}
@ -149,7 +161,8 @@
dpst2.`value` as validityPeriodDays
from da_product as dp
LEFT JOIN da_product_spec as dps on dps.is_delete=0 and dps.product_id=dp.id
LEFT JOIN da_product_spec_term as dpst2 on dpst2.is_delete=0 and dpst2.product_spec_id =dps.id and dpst2.`name`=3
LEFT JOIN da_product_spec_term as dpst2 on dpst2.is_delete=0 and dpst2.product_spec_id =dps.id and
dpst2.`name`=3
where dp.is_delete=0 and dp.`status`=1 and dp.product_type=3
<if test="queryParam.subCategory != null">
AND dp.sub_category = #{queryParam.subCategory}
@ -172,12 +185,38 @@
dpst2.`value` as validityPeriodDays
from da_product as dp
LEFT JOIN da_product_spec as dps on dps.is_delete=0 and dps.product_id=dp.id
LEFT JOIN da_product_spec_term as dpst2 on dpst2.is_delete=0 and dpst2.product_spec_id =dps.id and dpst2.`name`=3
LEFT JOIN da_product_spec_term as dpst2 on dpst2.is_delete=0 and dpst2.product_spec_id =dps.id and
dpst2.`name`=3
where dp.is_delete=0 and dp.`status`=1 and dp.product_type=4
<if test="queryParam.subCategory != null">
AND dp.sub_category = #{queryParam.subCategory}
</if>
order by dp.sub_category desc
</select>
<select id="listVirtualCurrencyProduct"
resultType="com.qniao.dam.api.query.product.user.response.UserVirtualCurrencyVo">
select
dp.id as productId,
dps.id as productSpecId,
dp.main_category,
dp.sub_category,
dp.product_title,
dp.product_desc,
dp.detail_desc,
dps.unit_original_price,
dps.unit_selling_price,
dpst3.`value` as purchaseTimeValue
from da_product as dp
LEFT JOIN da_product_spec as dps on dps.is_delete=0 and dps.product_id=dp.id
LEFT JOIN da_product_spec_term as dpst3 on dpst3.is_delete=0 and dpst3.product_spec_id =dps.id and
dpst3.`name`=2
where dp.is_delete=0 and dp.`status`=1 and dp.sub_category=2001
<if test="queryParam.operatingSystem != null">
AND dp.operating_system = #{queryParam.operatingSystem}
</if>
order by dps.unit_original_price asc
</select>
</mapper>
Loading…
Cancel
Save