dy-hu
7 months ago
42 changed files with 2294 additions and 1 deletions
-
2cereshop-admin/src/main/resources/mybatis/mapper/buyer/CereBuyerUserDAO.xml
-
212cereshop-business/src/main/java/com/shop/cereshop/business/controller/BusinessBuyerUserController.java
-
66cereshop-business/src/main/java/com/shop/cereshop/business/dao/business/BusinessBuyerUserDAO.java
-
15cereshop-business/src/main/java/com/shop/cereshop/business/dao/channel/ChannelDAO.java
-
29cereshop-business/src/main/java/com/shop/cereshop/business/dao/credit/CereCreditRecordDAO.java
-
31cereshop-business/src/main/java/com/shop/cereshop/business/dao/credit/CereCreditSignSettingDAO.java
-
12cereshop-business/src/main/java/com/shop/cereshop/business/dao/label/CereBuyerLabelDAO.java
-
6cereshop-business/src/main/java/com/shop/cereshop/business/dao/order/CereShopOrderDAO.java
-
37cereshop-business/src/main/java/com/shop/cereshop/business/page/buyer/BusinessBuyerComment.java
-
50cereshop-business/src/main/java/com/shop/cereshop/business/page/buyer/BusinessBuyerOrder.java
-
108cereshop-business/src/main/java/com/shop/cereshop/business/page/buyer/BusinessBuyerUser.java
-
133cereshop-business/src/main/java/com/shop/cereshop/business/page/buyer/BusinessBuyerUserDetail.java
-
96cereshop-business/src/main/java/com/shop/cereshop/business/page/buyer/BusinessBuyerUserExportDTO.java
-
24cereshop-business/src/main/java/com/shop/cereshop/business/page/channel/ChannelDTO.java
-
24cereshop-business/src/main/java/com/shop/cereshop/business/page/credit/CereCreditRecordPage.java
-
30cereshop-business/src/main/java/com/shop/cereshop/business/param/buyer/BusinessBuyerBlackListParam.java
-
94cereshop-business/src/main/java/com/shop/cereshop/business/param/buyer/BusinessBuyerGetAllParam.java
-
30cereshop-business/src/main/java/com/shop/cereshop/business/param/buyer/BusinessBuyerGetByIdParam.java
-
30cereshop-business/src/main/java/com/shop/cereshop/business/param/buyer/BusinessBuyerGetLabelsParam.java
-
32cereshop-business/src/main/java/com/shop/cereshop/business/param/buyer/BusinessBuyerSaveUserLabelParam.java
-
16cereshop-business/src/main/java/com/shop/cereshop/business/param/buyer/BusinessUpdateCreditParam.java
-
15cereshop-business/src/main/java/com/shop/cereshop/business/param/buyer/BusinessUserSearchParam.java
-
13cereshop-business/src/main/java/com/shop/cereshop/business/param/channel/ChannelGetAllParam.java
-
20cereshop-business/src/main/java/com/shop/cereshop/business/param/channel/ChannelParam.java
-
24cereshop-business/src/main/java/com/shop/cereshop/business/param/credit/CreditRecordGetAllParam.java
-
16cereshop-business/src/main/java/com/shop/cereshop/business/param/credit/UpdateCreditParam.java
-
83cereshop-business/src/main/java/com/shop/cereshop/business/service/buyer/CereBusinessBuyerUserService.java
-
255cereshop-business/src/main/java/com/shop/cereshop/business/service/buyer/impl/CereBusinessBuyerUserServiceImpl.java
-
38cereshop-business/src/main/java/com/shop/cereshop/business/service/channel/ChannelService.java
-
120cereshop-business/src/main/java/com/shop/cereshop/business/service/channel/impl/ChannelServiceImpl.java
-
24cereshop-business/src/main/java/com/shop/cereshop/business/service/credit/CereCreditRecordService.java
-
31cereshop-business/src/main/java/com/shop/cereshop/business/service/credit/CereCreditSignSettingService.java
-
53cereshop-business/src/main/java/com/shop/cereshop/business/service/credit/impl/CereCreditRecordServiceImpl.java
-
70cereshop-business/src/main/java/com/shop/cereshop/business/service/credit/impl/CereCreditSignSettingServiceImpl.java
-
15cereshop-business/src/main/java/com/shop/cereshop/business/service/label/CereBuyerLabelService.java
-
36cereshop-business/src/main/java/com/shop/cereshop/business/service/label/impl/CereBuyerLabelServiceImpl.java
-
3cereshop-business/src/main/resources/application-business-dev.yml
-
3cereshop-business/src/main/resources/application-business-prod.yml
-
3cereshop-business/src/main/resources/application-business-test.yml
-
347cereshop-business/src/main/resources/mybatis/mapper/business/BusinessBuyerUserDAO.xml
-
18cereshop-business/src/main/resources/mybatis/mapper/buyer/CereBuyerUserDAO.xml
-
31cereshop-business/src/main/resources/mybatis/mapper/label/CereBuyerLabelDAO.xml
@ -0,0 +1,212 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.controller; |
|||
|
|||
|
|||
import com.shop.cereshop.business.annotation.NoRepeatSubmit; |
|||
import com.shop.cereshop.business.annotation.NoRepeatWebLog; |
|||
import com.shop.cereshop.business.page.buyer.*; |
|||
import com.shop.cereshop.business.param.buyer.*; |
|||
import com.shop.cereshop.business.service.buyer.CereBusinessBuyerUserService; |
|||
import com.shop.cereshop.business.service.buyer.CereBuyerUserService; |
|||
import com.shop.cereshop.business.service.channel.ChannelService; |
|||
import com.shop.cereshop.commons.constant.IntegerEnum; |
|||
import com.shop.cereshop.commons.domain.business.CerePlatformBusinessUser; |
|||
import com.shop.cereshop.commons.domain.buyer.CereBuyerUser; |
|||
import com.shop.cereshop.commons.domain.channel.Channel; |
|||
import com.shop.cereshop.commons.domain.common.Page; |
|||
import com.shop.cereshop.commons.domain.label.CerePlatformLabel; |
|||
import com.shop.cereshop.commons.domain.user.CerePlatformUser; |
|||
import com.shop.cereshop.commons.exception.CoBusinessException; |
|||
import com.shop.cereshop.commons.poi.export.ExcelExportUtils; |
|||
import com.shop.cereshop.commons.result.Result; |
|||
import com.shop.cereshop.commons.utils.GsonUtil; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.apache.commons.collections4.CollectionUtils; |
|||
import org.apache.commons.lang.StringUtils; |
|||
import org.springframework.beans.BeanUtils; |
|||
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; |
|||
|
|||
import javax.servlet.http.HttpServletRequest; |
|||
import javax.servlet.http.HttpServletResponse; |
|||
import java.util.ArrayList; |
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
import java.util.stream.Collectors; |
|||
|
|||
/** |
|||
* 客户管理 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("businessBuyer") |
|||
/** |
|||
* 注解方式生成日志对象,指定topic生成对象类名 |
|||
*/ |
|||
@Slf4j(topic = "BuyerUserController") |
|||
@Api(value = "客户管理模块", tags = "客户管理模块") |
|||
public class BusinessBuyerUserController { |
|||
|
|||
@Autowired |
|||
private CereBusinessBuyerUserService cereBuyerUserService; |
|||
|
|||
@Autowired |
|||
private ChannelService channelService; |
|||
|
|||
/** |
|||
* 客户管理查询 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@PostMapping(value = "getAll") |
|||
@ApiOperation(value = "客户管理查询") |
|||
public Result<Page<BuyerUser>> getAll(@RequestBody BusinessBuyerGetAllParam param, HttpServletRequest request) throws CoBusinessException{ |
|||
//获取当前登录账户 |
|||
CerePlatformBusinessUser user = (CerePlatformBusinessUser) request.getAttribute("user"); |
|||
param.setProject(String.valueOf(user.getBusinessId())); |
|||
Page page=cereBuyerUserService.getAll(param); |
|||
return new Result(page); |
|||
} |
|||
|
|||
/** |
|||
* 客户详情查询 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@PostMapping(value = "getById") |
|||
@ApiOperation(value = "客户详情查询") |
|||
public Result<BusinessBuyerUserDetail> getById(@RequestBody BusinessBuyerGetByIdParam param) throws CoBusinessException{ |
|||
BusinessBuyerUserDetail detail=cereBuyerUserService.getById(param); |
|||
return new Result(detail); |
|||
} |
|||
|
|||
/** |
|||
* 客户绑定标签查询 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@PostMapping(value = "getUserLabels") |
|||
@ApiOperation(value = "客户绑定标签查询") |
|||
public Result<List<CerePlatformLabel>> getUserLabels(@RequestBody BusinessBuyerGetLabelsParam param) throws CoBusinessException{ |
|||
List<CerePlatformLabel> list=cereBuyerUserService.getUserLabels(param); |
|||
return new Result(list); |
|||
} |
|||
|
|||
/** |
|||
* 标签查询 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@PostMapping(value = "getLabels") |
|||
@ApiOperation(value = "标签查询") |
|||
public Result<List<CerePlatformLabel>> getLabels(@RequestBody BusinessBuyerGetLabelsParam param) throws CoBusinessException{ |
|||
List<CerePlatformLabel> list=cereBuyerUserService.getLabels(param); |
|||
return new Result(list); |
|||
} |
|||
|
|||
/** |
|||
* 贴标签 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@PostMapping(value = "saveUserLabel") |
|||
@NoRepeatSubmit |
|||
@ApiOperation(value = "贴标签") |
|||
@NoRepeatWebLog |
|||
public Result saveUserLabel(@RequestBody BusinessBuyerSaveUserLabelParam param, |
|||
HttpServletRequest request) throws CoBusinessException{ |
|||
//获取当前登录账户 |
|||
CerePlatformBusinessUser user = (CerePlatformBusinessUser) request.getAttribute("user"); |
|||
cereBuyerUserService.saveUserLabel(param,user); |
|||
return new Result(user.getUsername(),"贴标签", GsonUtil.objectToGson(param)); |
|||
} |
|||
|
|||
/** |
|||
* 加入或取消黑名单 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@PostMapping(value = "blacklist") |
|||
@NoRepeatSubmit |
|||
@ApiOperation(value = "加入和取消黑名单") |
|||
@NoRepeatWebLog |
|||
public Result blacklist(@RequestBody BusinessBuyerBlackListParam param, |
|||
HttpServletRequest request) throws CoBusinessException{ |
|||
//获取当前登录账户 |
|||
CerePlatformBusinessUser user = (CerePlatformBusinessUser) request.getAttribute("user"); |
|||
cereBuyerUserService.blacklist(param,user); |
|||
return new Result(user.getUsername(),"加入或取消黑名单", GsonUtil.objectToGson(param)); |
|||
} |
|||
|
|||
/** |
|||
* 更新积分 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@PostMapping(value = "updateCredit") |
|||
@NoRepeatSubmit |
|||
@ApiOperation(value = "更新积分") |
|||
@NoRepeatWebLog |
|||
public Result updateCredit(@RequestBody BusinessUpdateCreditParam param, |
|||
HttpServletRequest request) throws CoBusinessException{ |
|||
//获取当前登录账户 |
|||
CerePlatformBusinessUser user = (CerePlatformBusinessUser) request.getAttribute("user"); |
|||
cereBuyerUserService.updateCredit(param,user); |
|||
return new Result(user.getUsername(),"更改积分", GsonUtil.objectToGson(param)); |
|||
} |
|||
|
|||
/** |
|||
* 搜索用户信息 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@PostMapping(value = "searchUser") |
|||
@NoRepeatSubmit |
|||
@ApiOperation(value = "搜索用户信息") |
|||
@NoRepeatWebLog |
|||
public Result<Page<CereBuyerUser>> searchUser(@RequestBody BusinessUserSearchParam param) { |
|||
Page<CereBuyerUser> page = cereBuyerUserService.searchUser(param); |
|||
return new Result(page); |
|||
} |
|||
|
|||
@PostMapping(value = "export") |
|||
@ApiOperation(value = "用户列表导出") |
|||
public void export(@RequestBody BusinessBuyerGetAllParam param, HttpServletRequest request, HttpServletResponse response) throws CoBusinessException { |
|||
param.setPage(null); |
|||
param.setPageSize(null); |
|||
Page<BusinessBuyerUser> page = cereBuyerUserService.getAll(param); |
|||
List<BusinessBuyerUserExportDTO> list = new ArrayList<>(); |
|||
List<String> channelCodeList = page.getList().stream().filter(obj -> StringUtils.isNotBlank(obj.getChannelCode())) |
|||
.map(BusinessBuyerUser::getChannelCode).distinct().collect(Collectors.toList()); |
|||
Map<String, String> channelNameMap = new HashMap<>(); |
|||
if (CollectionUtils.isNotEmpty(channelCodeList)) { |
|||
List<Channel> channelList = channelService.selectByChannelCodeList(channelCodeList); |
|||
channelNameMap = channelList.stream().collect(Collectors.toMap(Channel::getChannelCode, Channel::getChannelName)); |
|||
} |
|||
for (BusinessBuyerUser buyerUser:page.getList()) { |
|||
BusinessBuyerUserExportDTO dto = new BusinessBuyerUserExportDTO(); |
|||
BeanUtils.copyProperties(buyerUser, dto); |
|||
IntegerEnum terminalEnum = IntegerEnum.terminalMap.get(buyerUser.getTerminal()); |
|||
if (terminalEnum != null) { |
|||
dto.setTerminal(terminalEnum.getName()); |
|||
} |
|||
String channelCode = buyerUser.getChannelCode(); |
|||
if (channelCode != null) { |
|||
dto.setChannelName(channelNameMap.get(channelCode)); |
|||
} |
|||
list.add(dto); |
|||
} |
|||
//定义导出的excel名字 |
|||
String excelName = "用户列表"; |
|||
ExcelExportUtils.exportExcel(request, response, excelName, list, BuyerUserExportDTO.class); |
|||
} |
|||
} |
@ -0,0 +1,66 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.dao.business; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.shop.cereshop.business.page.buyer.*; |
|||
import com.shop.cereshop.business.param.buyer.BusinessBuyerGetAllParam; |
|||
import com.shop.cereshop.business.param.buyer.BusinessBuyerGetByIdParam; |
|||
import com.shop.cereshop.business.param.buyer.BusinessBuyerGetLabelsParam; |
|||
import com.shop.cereshop.commons.domain.buyer.CereBuyerReceive; |
|||
import com.shop.cereshop.commons.domain.buyer.CereBuyerUser; |
|||
import com.shop.cereshop.commons.domain.label.CerePlatformLabel; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.List; |
|||
|
|||
@Mapper |
|||
public interface BusinessBuyerUserDAO extends BaseMapper<CereBuyerUser> { |
|||
|
|||
int deleteByPrimaryKey(Long buyerUserId); |
|||
|
|||
int insertSelective(CereBuyerUser record); |
|||
|
|||
CereBuyerUser selectByPrimaryKey(Long buyerUserId); |
|||
|
|||
int updateByPrimaryKeySelective(CereBuyerUser record); |
|||
|
|||
int updateByPrimaryKey(CereBuyerUser record); |
|||
|
|||
List<BusinessBuyerUser> getAll(BusinessBuyerGetAllParam param); |
|||
|
|||
BusinessBuyerUserDetail getById(@Param("buyerUserId") Long buyerUserId); |
|||
|
|||
List<String> findLabels(@Param("buyerUserId") Long buyerUserId); |
|||
|
|||
Integer findOrders(@Param("buyerUserId") Long buyerUserId); |
|||
|
|||
Integer findPays(@Param("buyerUserId") Long buyerUserId); |
|||
|
|||
Integer findProducts(@Param("buyerUserId") Long buyerUserId); |
|||
|
|||
BigDecimal findPrice(@Param("buyerUserId") Long buyerUserId); |
|||
|
|||
Integer findAfters(@Param("buyerUserId") Long buyerUserId); |
|||
|
|||
Integer findAfterOrders(@Param("buyerUserId") Long buyerUserId); |
|||
|
|||
Integer findSuccessAfters(@Param("buyerUserId") Long buyerUserId); |
|||
|
|||
List<BusinessBuyerOrder> findOrderList(BusinessBuyerGetByIdParam param); |
|||
|
|||
List<BusinessBuyerComment> findComments(@Param("buyerUserId") Long buyerUserId); |
|||
|
|||
List<CereBuyerReceive> findReceives(@Param("buyerUserId") Long buyerUserId); |
|||
|
|||
List<CerePlatformLabel> getLabels(BusinessBuyerGetLabelsParam param); |
|||
|
|||
List<CerePlatformLabel> getUserLabels(BusinessBuyerGetLabelsParam param); |
|||
|
|||
int increaseCredit(@Param("buyerUserId") long buyerUserId, @Param("credit") Integer credit); |
|||
} |
@ -0,0 +1,15 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.dao.channel; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.shop.cereshop.commons.domain.channel.Channel; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
@Mapper |
|||
public interface ChannelDAO extends BaseMapper<Channel> { |
|||
|
|||
} |
@ -0,0 +1,29 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.dao.credit; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.shop.cereshop.business.page.credit.CereCreditRecordPage; |
|||
import com.shop.cereshop.business.param.credit.CreditRecordGetAllParam; |
|||
import com.shop.cereshop.commons.domain.credit.CereCreditRecord; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* <p> |
|||
* Mapper 接口 |
|||
* 积分流水表 |
|||
* </p> |
|||
* |
|||
* @author JustArgo |
|||
* @date 2021-12-04 |
|||
*/ |
|||
@Mapper |
|||
public interface CereCreditRecordDAO extends BaseMapper<CereCreditRecord> { |
|||
|
|||
List<CereCreditRecordPage> getAll(CreditRecordGetAllParam param); |
|||
} |
@ -0,0 +1,31 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.dao.credit; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.shop.cereshop.commons.domain.common.PageParam; |
|||
import com.shop.cereshop.commons.domain.credit.CereCreditSignSetting; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* <p> |
|||
* Mapper 接口 |
|||
* 积分签到配置 |
|||
* </p> |
|||
* |
|||
* @author JustArgo |
|||
* @date 2021-12-04 |
|||
*/ |
|||
@Mapper |
|||
public interface CereCreditSignSettingDAO extends BaseMapper<CereCreditSignSetting> { |
|||
|
|||
List<CereCreditSignSetting> getAll(PageParam param); |
|||
|
|||
int selectExistsDay(@Param("day") Integer day, @Param("id") Long id); |
|||
} |
@ -0,0 +1,37 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.page.buyer; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* 客户评论返回数据实体类 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "BuyerComment", description = "客户评论返回数据实体类") |
|||
public class BusinessBuyerComment { |
|||
|
|||
/** |
|||
* 评论id |
|||
*/ |
|||
@ApiModelProperty(value = "评论id") |
|||
private Long commentId; |
|||
|
|||
/** |
|||
* 店铺名称 |
|||
*/ |
|||
@ApiModelProperty(value = "店铺名称") |
|||
private String shopName; |
|||
|
|||
/** |
|||
* 商品名称 |
|||
*/ |
|||
@ApiModelProperty(value = "商品名称") |
|||
private String productName; |
|||
|
|||
} |
@ -0,0 +1,50 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.page.buyer; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
/** |
|||
* 客户订单返回数据实体类 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "BuyerOrder", description = "客户订单返回数据实体类") |
|||
public class BusinessBuyerOrder { |
|||
|
|||
/** |
|||
* 订单编号 |
|||
*/ |
|||
@ApiModelProperty(value = "订单编号") |
|||
private String orderFormid; |
|||
|
|||
/** |
|||
* 店铺名称 |
|||
*/ |
|||
@ApiModelProperty(value = "店铺名称") |
|||
private String shopName; |
|||
|
|||
/** |
|||
* 商品数量 |
|||
*/ |
|||
@ApiModelProperty(value = "商品数量") |
|||
private Integer products; |
|||
|
|||
/** |
|||
* 订单金额 |
|||
*/ |
|||
@ApiModelProperty(value = "订单金额") |
|||
private BigDecimal price; |
|||
|
|||
/** |
|||
* 订单状态 1-待付款 2-待发货 3-待收货 4-已完成 5-已关闭 |
|||
*/ |
|||
@ApiModelProperty(value = "订单状态 1-待付款 2-待发货 3-待收货 4-已完成 5-已关闭") |
|||
private Integer state; |
|||
} |
@ -0,0 +1,108 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.page.buyer; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 商家会员返回数据实体类 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "BuyerUser", description = "客户返回数据实体类") |
|||
public class BusinessBuyerUser { |
|||
|
|||
/** |
|||
* 用户id |
|||
*/ |
|||
@ApiModelProperty(value = "用户id") |
|||
private Long buyerUserId; |
|||
|
|||
/** |
|||
* 用户昵称 |
|||
*/ |
|||
@ApiModelProperty(value = "用户昵称") |
|||
private String name; |
|||
|
|||
/** |
|||
* 手机号 |
|||
*/ |
|||
@ApiModelProperty(value = "手机号") |
|||
private String phone; |
|||
|
|||
/** |
|||
* 会员等级名称 |
|||
*/ |
|||
@ApiModelProperty(value = "会员等级名称") |
|||
private String memberLevelName; |
|||
|
|||
/** |
|||
* 积分 |
|||
*/ |
|||
@ApiModelProperty("积分") |
|||
private Integer credit; |
|||
|
|||
/** |
|||
* 消费总额 |
|||
*/ |
|||
@ApiModelProperty(value = "消费总额") |
|||
private BigDecimal total; |
|||
|
|||
/** |
|||
* 购买次数 |
|||
*/ |
|||
@ApiModelProperty(value = "购买次数") |
|||
private Integer buyers; |
|||
|
|||
/** |
|||
* 最近消费时间 |
|||
*/ |
|||
@ApiModelProperty(value = "最近消费时间") |
|||
private String time; |
|||
|
|||
/** |
|||
* 注册时间 |
|||
*/ |
|||
@ApiModelProperty(value = "注册时间") |
|||
private String createTime; |
|||
|
|||
/** |
|||
* 是否加入黑名单 1-是 0-否 |
|||
*/ |
|||
@ApiModelProperty(value = "是否加入黑名单 1-是 0-否") |
|||
private Integer ifBlack; |
|||
|
|||
@ApiModelProperty("标签id列表") |
|||
private List<Long> labelIds; |
|||
|
|||
/** |
|||
* 注册ip |
|||
*/ |
|||
@ApiModelProperty(value = "注册ip") |
|||
private String registerIp; |
|||
|
|||
/** |
|||
* 上次登录的ip |
|||
*/ |
|||
@ApiModelProperty(value = "上次登录的ip") |
|||
private String lastLoginIp; |
|||
|
|||
/** |
|||
* 注册来源 |
|||
*/ |
|||
@ApiModelProperty(value = "注册来源") |
|||
private Integer terminal; |
|||
|
|||
/** |
|||
* 注册渠道 |
|||
*/ |
|||
@ApiModelProperty(value = "注册渠道") |
|||
private String channelCode; |
|||
} |
@ -0,0 +1,133 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.page.buyer; |
|||
|
|||
import com.shop.cereshop.commons.domain.buyer.CereBuyerReceive; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 客户详情返回数据实体类 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "BuyerUserDetail", description = "客户详情返回数据实体类") |
|||
public class BusinessBuyerUserDetail { |
|||
|
|||
/** |
|||
* 客户id |
|||
*/ |
|||
@ApiModelProperty(value = "客户id") |
|||
private Long buyerUserId; |
|||
|
|||
/** |
|||
* 用户昵称 |
|||
*/ |
|||
@ApiModelProperty(value = "用户昵称") |
|||
private String name; |
|||
|
|||
/** |
|||
* 头像 |
|||
*/ |
|||
@ApiModelProperty(value = "头像") |
|||
private String headImage; |
|||
|
|||
/** |
|||
* 手机号 |
|||
*/ |
|||
@ApiModelProperty(value = "手机号") |
|||
private String phone; |
|||
|
|||
/** |
|||
* 性别 |
|||
*/ |
|||
@ApiModelProperty(value = "性别") |
|||
private String sex; |
|||
|
|||
/** |
|||
* 生日 |
|||
*/ |
|||
@ApiModelProperty(value = "生日") |
|||
private String birthday; |
|||
|
|||
/** |
|||
* 注册时间 |
|||
*/ |
|||
@ApiModelProperty(value = "注册时间") |
|||
private String createTime; |
|||
|
|||
@ApiModelProperty("标签id列表") |
|||
private List<Long> labelIds; |
|||
|
|||
/** |
|||
* 标签数据 |
|||
*/ |
|||
@ApiModelProperty(value = "标签数据") |
|||
private List<String> labels; |
|||
|
|||
/** |
|||
* 下单数 |
|||
*/ |
|||
@ApiModelProperty(value = "下单数") |
|||
private Integer orders; |
|||
|
|||
/** |
|||
* 支付成功数 |
|||
*/ |
|||
@ApiModelProperty(value = "支付成功数") |
|||
private Integer pays; |
|||
|
|||
/** |
|||
* 购买商品数 |
|||
*/ |
|||
@ApiModelProperty(value = "购买商品数") |
|||
private Integer products; |
|||
|
|||
/** |
|||
* 累计消费额 |
|||
*/ |
|||
@ApiModelProperty(value = "累计消费额") |
|||
private BigDecimal price; |
|||
|
|||
/** |
|||
* 售后次数 |
|||
*/ |
|||
@ApiModelProperty(value = "售后次数") |
|||
private Integer afters; |
|||
|
|||
/** |
|||
* 售后单数 |
|||
*/ |
|||
@ApiModelProperty(value = "售后单数") |
|||
private Integer afterOrders; |
|||
|
|||
/** |
|||
* 售后成功单数 |
|||
*/ |
|||
@ApiModelProperty(value = "售后成功单数") |
|||
private Integer successAfters; |
|||
|
|||
/** |
|||
* 订单列表 |
|||
*/ |
|||
@ApiModelProperty(value = "订单列表") |
|||
private List<BusinessBuyerOrder> orderList; |
|||
|
|||
/** |
|||
* 评论列表 |
|||
*/ |
|||
@ApiModelProperty(value = "评论列表") |
|||
private List<BusinessBuyerComment> comments; |
|||
|
|||
/** |
|||
* 收货地址列表 |
|||
*/ |
|||
@ApiModelProperty(value = "收货地址列表") |
|||
private List<CereBuyerReceive> receives; |
|||
} |
@ -0,0 +1,96 @@ |
|||
package com.shop.cereshop.business.page.buyer; |
|||
|
|||
import com.shop.cereshop.commons.poi.export.ExcelResources; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
@Data |
|||
public class BusinessBuyerUserExportDTO { |
|||
|
|||
/** |
|||
* 客户id |
|||
*/ |
|||
@ApiModelProperty(value = "客户id") |
|||
@ExcelResources(order=0,title = "客户id",cloumn = 15) |
|||
private Long buyerUserId; |
|||
|
|||
/** |
|||
* 客户昵称 |
|||
*/ |
|||
@ApiModelProperty(value = "客户昵称") |
|||
@ExcelResources(order=1,title = "客户昵称",cloumn = 15) |
|||
private String name; |
|||
|
|||
/** |
|||
* 手机号 |
|||
*/ |
|||
@ApiModelProperty(value = "手机号") |
|||
@ExcelResources(order=2,title = "手机号",cloumn = 15) |
|||
private String phone; |
|||
|
|||
/** |
|||
* 会员等级 |
|||
*/ |
|||
@ApiModelProperty(value = "会员等级") |
|||
@ExcelResources(order=3,title = "会员等级",cloumn = 15) |
|||
private String memberLevelName; |
|||
|
|||
/** |
|||
* 消费总额 |
|||
*/ |
|||
@ApiModelProperty(value = "消费总额") |
|||
@ExcelResources(order=4,title = "消费总额",cloumn = 15) |
|||
private BigDecimal total; |
|||
|
|||
/** |
|||
* 购买次数 |
|||
*/ |
|||
@ApiModelProperty(value = "购买次数") |
|||
@ExcelResources(order=5,title = "购买次数",cloumn = 15) |
|||
private Integer buyers; |
|||
|
|||
/** |
|||
* 上次消费时间 |
|||
*/ |
|||
@ApiModelProperty(value = "上次消费时间") |
|||
@ExcelResources(order=6,title = "上次消费时间",cloumn = 15) |
|||
private String time; |
|||
|
|||
/** |
|||
* 注册时间 |
|||
*/ |
|||
@ApiModelProperty(value = "注册时间") |
|||
@ExcelResources(order=7,title = "注册时间",cloumn = 15) |
|||
private String createTime; |
|||
|
|||
/** |
|||
* 注册ip |
|||
*/ |
|||
@ApiModelProperty(value = "注册ip") |
|||
@ExcelResources(order=8,title = "注册ip",cloumn = 15) |
|||
private String registerIp; |
|||
|
|||
/** |
|||
* 最后登录ip |
|||
*/ |
|||
@ApiModelProperty(value = "最后登录ip") |
|||
@ExcelResources(order=9,title = "最后登录ip",cloumn = 15) |
|||
private String lastLoginIp; |
|||
|
|||
/** |
|||
* 注册来源 |
|||
*/ |
|||
@ApiModelProperty(value = "注册来源") |
|||
@ExcelResources(order=10,title = "注册来源",cloumn = 15) |
|||
private String terminal; |
|||
|
|||
/** |
|||
* 注册渠道 |
|||
*/ |
|||
@ApiModelProperty(value = "注册渠道") |
|||
@ExcelResources(order=11,title = "注册渠道",cloumn = 15) |
|||
private String channelName; |
|||
|
|||
} |
@ -0,0 +1,24 @@ |
|||
package com.shop.cereshop.business.page.channel; |
|||
|
|||
import com.shop.cereshop.commons.domain.channel.Channel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
@Data |
|||
public class ChannelDTO extends Channel { |
|||
|
|||
@ApiModelProperty("注册人数") |
|||
private Integer registerCount; |
|||
|
|||
@ApiModelProperty("下单人数") |
|||
private Integer orderUserCount; |
|||
|
|||
@ApiModelProperty("下单数") |
|||
private Integer orderCount; |
|||
|
|||
@ApiModelProperty("下单金额") |
|||
private BigDecimal orderAmount; |
|||
|
|||
} |
@ -0,0 +1,24 @@ |
|||
package com.shop.cereshop.business.page.credit; |
|||
|
|||
import com.shop.cereshop.commons.domain.credit.CereCreditRecord; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
@ApiModel("直播间商品分页查询") |
|||
public class CereCreditRecordPage extends CereCreditRecord { |
|||
|
|||
/** |
|||
* 用户昵称 |
|||
*/ |
|||
@ApiModelProperty("用户昵称") |
|||
private String name; |
|||
|
|||
/** |
|||
* 用户手机号 |
|||
*/ |
|||
@ApiModelProperty("用户手机号") |
|||
private String phone; |
|||
|
|||
} |
@ -0,0 +1,30 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.param.buyer; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* 贴标签请求 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "BuyerSaveUserLabelParam", description = "贴标签请求") |
|||
public class BusinessBuyerBlackListParam { |
|||
|
|||
/** |
|||
* 客户id |
|||
*/ |
|||
@ApiModelProperty(value = "客户id") |
|||
private Long buyerUserId; |
|||
|
|||
/** |
|||
* 是否加入黑名单 1-是 0-否 |
|||
*/ |
|||
@ApiModelProperty(value = "是否加入黑名单 1-是 0-否") |
|||
private Integer ifBlack; |
|||
} |
@ -0,0 +1,94 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.param.buyer; |
|||
|
|||
import com.shop.cereshop.commons.domain.common.PageParam; |
|||
import com.shop.cereshop.commons.utils.EmptyUtils; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 获取客户列表请求 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "BuyerGetAllParam", description = "获取客户列表请求") |
|||
public class BusinessBuyerGetAllParam extends PageParam { |
|||
|
|||
/** |
|||
* 用户昵称 |
|||
*/ |
|||
@ApiModelProperty(value = "用户昵称") |
|||
private String name; |
|||
|
|||
/** |
|||
* 手机号 |
|||
*/ |
|||
@ApiModelProperty(value = "手机号") |
|||
private String phone; |
|||
|
|||
/** |
|||
* 标签id |
|||
*/ |
|||
@ApiModelProperty(value = "标签id") |
|||
private Long labelId; |
|||
|
|||
/** |
|||
* 最近消费时间日期数组 |
|||
*/ |
|||
@ApiModelProperty(value = "最近消费时间日期数组") |
|||
private List<String> dates; |
|||
|
|||
public void setDates(List<String> dates) { |
|||
if(!EmptyUtils.isEmpty(dates)&&dates.size()>1){ |
|||
this.startTime=dates.get(0)+" 00:00:00"; |
|||
this.endTime=dates.get(1)+" 23:59:59"; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 累计消费金额最小值 |
|||
*/ |
|||
@ApiModelProperty(value = "累计消费金额最小值") |
|||
private BigDecimal minMoney; |
|||
|
|||
/** |
|||
* 累计消费金额最大值 |
|||
*/ |
|||
@ApiModelProperty(value = "累计消费金额最大值") |
|||
private BigDecimal maxMoney; |
|||
|
|||
/** |
|||
* 购买次数最小值 |
|||
*/ |
|||
@ApiModelProperty(value = "购买次数最小值") |
|||
private Integer minBuyers; |
|||
|
|||
/** |
|||
* 购买次数最大值 |
|||
*/ |
|||
@ApiModelProperty(value = "购买次数最大值") |
|||
private Integer maxBuyers; |
|||
|
|||
/** |
|||
* 申请开始时间 |
|||
*/ |
|||
@ApiModelProperty(value = "申请开始时间") |
|||
private String startTime; |
|||
|
|||
/** |
|||
* 申请结束时间 |
|||
*/ |
|||
@ApiModelProperty(value = "申请结束时间") |
|||
private String endTime; |
|||
|
|||
|
|||
@ApiModelProperty(value = "商家id") |
|||
private String project; |
|||
} |
@ -0,0 +1,30 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.param.buyer; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* 获取客户详情请求 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "BuyerGetByIdParam", description = "获取客户详情请求") |
|||
public class BusinessBuyerGetByIdParam { |
|||
|
|||
/** |
|||
* 客户id |
|||
*/ |
|||
@ApiModelProperty(value = "客户id") |
|||
private Long buyerUserId; |
|||
|
|||
/** |
|||
* 订单编号 |
|||
*/ |
|||
@ApiModelProperty(value = "订单编号") |
|||
private String orderFormid; |
|||
} |
@ -0,0 +1,30 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.param.buyer; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* 获取标签列表请求 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "BuyerGetLabelsParam", description = "获取标签列表请求") |
|||
public class BusinessBuyerGetLabelsParam { |
|||
|
|||
/** |
|||
* 标签名称 |
|||
*/ |
|||
@ApiModelProperty(value = "标签名称") |
|||
private String labelName; |
|||
|
|||
/** |
|||
* 客户id |
|||
*/ |
|||
@ApiModelProperty(value = "客户id") |
|||
private Long buyerUserId; |
|||
} |
@ -0,0 +1,32 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.param.buyer; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 贴标签请求 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "BuyerSaveUserLabelParam", description = "贴标签请求") |
|||
public class BusinessBuyerSaveUserLabelParam { |
|||
|
|||
/** |
|||
* 关联客户id |
|||
*/ |
|||
@ApiModelProperty(value = "关联客户id") |
|||
private Long buyerUserId; |
|||
|
|||
/** |
|||
* 关联平台标签id数组 |
|||
*/ |
|||
@ApiModelProperty(value = "关联平台标签id数组") |
|||
private List<Long> buyerLabelIds; |
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.shop.cereshop.business.param.buyer; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
@ApiModel("修改积分的参数") |
|||
public class BusinessUpdateCreditParam { |
|||
|
|||
@ApiModelProperty("用户id") |
|||
private Long buyerUserId; |
|||
|
|||
@ApiModelProperty("积分值 扣减积分则传负数") |
|||
private Integer credit; |
|||
} |
@ -0,0 +1,15 @@ |
|||
package com.shop.cereshop.business.param.buyer; |
|||
|
|||
import com.shop.cereshop.commons.domain.common.PageParam; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
@ApiModel("用户搜索条件") |
|||
public class BusinessUserSearchParam extends PageParam { |
|||
|
|||
@ApiModelProperty("buyerUserId/openId/昵称/手机号") |
|||
private String searchKey; |
|||
|
|||
} |
@ -0,0 +1,13 @@ |
|||
package com.shop.cereshop.business.param.channel; |
|||
|
|||
import com.shop.cereshop.commons.domain.common.PageParam; |
|||
import io.swagger.annotations.ApiModel; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* 获取渠道列表请求 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "ChannelGetAllParam", description = "获取渠道列表请求") |
|||
public class ChannelGetAllParam extends PageParam { |
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.shop.cereshop.business.param.channel; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* 渠道参数 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "ChannelParam", description = "渠道参数") |
|||
public class ChannelParam { |
|||
|
|||
@ApiModelProperty("渠道id") |
|||
private Long id; |
|||
|
|||
@ApiModelProperty("渠道名称") |
|||
private String channelName; |
|||
|
|||
} |
@ -0,0 +1,24 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.param.credit; |
|||
|
|||
import com.shop.cereshop.commons.domain.common.PageParam; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* 获取积分记录请求 |
|||
* @author |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "CreditRecordGetAllParam", description = "获取积分记录请求") |
|||
public class CreditRecordGetAllParam extends PageParam { |
|||
|
|||
@ApiModelProperty("搜索关键词") |
|||
private String search; |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.shop.cereshop.business.param.credit; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
@ApiModel("修改积分的参数") |
|||
public class UpdateCreditParam { |
|||
|
|||
@ApiModelProperty("用户id") |
|||
private Long buyerUserId; |
|||
|
|||
@ApiModelProperty("积分值 扣减积分则传负数") |
|||
private Integer credit; |
|||
} |
@ -0,0 +1,83 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.service.buyer; |
|||
|
|||
import com.shop.cereshop.business.page.buyer.BusinessBuyerUser; |
|||
import com.shop.cereshop.business.page.buyer.BusinessBuyerUserDetail; |
|||
import com.shop.cereshop.business.param.buyer.*; |
|||
import com.shop.cereshop.commons.domain.business.CerePlatformBusinessUser; |
|||
import com.shop.cereshop.commons.domain.buyer.CereBuyerUser; |
|||
import com.shop.cereshop.commons.domain.common.Page; |
|||
import com.shop.cereshop.commons.domain.label.CerePlatformLabel; |
|||
import com.shop.cereshop.commons.domain.user.CerePlatformUser; |
|||
import com.shop.cereshop.commons.exception.CoBusinessException; |
|||
|
|||
import java.util.List; |
|||
|
|||
public interface CereBusinessBuyerUserService { |
|||
/** |
|||
* 分页查询客户 |
|||
* @param param |
|||
* @return |
|||
* @throws CoBusinessException |
|||
*/ |
|||
Page<BusinessBuyerUser> getAll(BusinessBuyerGetAllParam param) throws CoBusinessException; |
|||
|
|||
/** |
|||
* 根据主键查询客户 |
|||
* @param param |
|||
* @return |
|||
* @throws CoBusinessException |
|||
*/ |
|||
BusinessBuyerUserDetail getById(BusinessBuyerGetByIdParam param) throws CoBusinessException; |
|||
|
|||
/** |
|||
* 查询客户标签 |
|||
* @param param |
|||
* @return |
|||
* @throws CoBusinessException |
|||
*/ |
|||
List<CerePlatformLabel> getLabels(BusinessBuyerGetLabelsParam param) throws CoBusinessException; |
|||
|
|||
/** |
|||
* 保存用户标签 |
|||
* @param param |
|||
* @param user |
|||
* @throws CoBusinessException |
|||
*/ |
|||
void saveUserLabel(BusinessBuyerSaveUserLabelParam param, CerePlatformBusinessUser user) throws CoBusinessException; |
|||
|
|||
/** |
|||
* 将客户加入/取消黑名单 |
|||
* @param param |
|||
* @param user |
|||
* @throws CoBusinessException |
|||
*/ |
|||
void blacklist(BusinessBuyerBlackListParam param, CerePlatformBusinessUser user) throws CoBusinessException; |
|||
|
|||
/** |
|||
* 条件查询标签 |
|||
* @param param |
|||
* @return |
|||
* @throws CoBusinessException |
|||
*/ |
|||
List<CerePlatformLabel> getUserLabels(BusinessBuyerGetLabelsParam param) throws CoBusinessException; |
|||
|
|||
/** |
|||
* 增加/减少客户积分 |
|||
* @param param |
|||
* @param user |
|||
* @throws CoBusinessException |
|||
*/ |
|||
void updateCredit(BusinessUpdateCreditParam param, CerePlatformBusinessUser user) throws CoBusinessException; |
|||
|
|||
/** |
|||
* 搜索用户 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
Page<CereBuyerUser> searchUser(BusinessUserSearchParam param); |
|||
} |
@ -0,0 +1,255 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.service.buyer.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.github.pagehelper.PageHelper; |
|||
import com.github.pagehelper.PageInfo; |
|||
import com.shop.cereshop.business.dao.business.BusinessBuyerUserDAO; |
|||
import com.shop.cereshop.business.dao.credit.CereCreditRecordDAO; |
|||
import com.shop.cereshop.business.page.buyer.BusinessBuyerUser; |
|||
import com.shop.cereshop.business.page.buyer.BusinessBuyerUserDetail; |
|||
import com.shop.cereshop.business.param.buyer.*; |
|||
import com.shop.cereshop.business.service.buyer.CereBusinessBuyerUserService; |
|||
import com.shop.cereshop.business.service.label.CereBuyerLabelService; |
|||
import com.shop.cereshop.business.service.log.CerePlatformLogService; |
|||
import com.shop.cereshop.business.utils.EncodeUtil; |
|||
import com.shop.cereshop.commons.cache.constants.CacheKeyConstants; |
|||
import com.shop.cereshop.commons.constant.CoReturnFormat; |
|||
import com.shop.cereshop.commons.constant.CreditOptTypeEnum; |
|||
import com.shop.cereshop.commons.constant.IntegerEnum; |
|||
import com.shop.cereshop.commons.domain.business.CerePlatformBusinessUser; |
|||
import com.shop.cereshop.commons.domain.buyer.CereBuyerReceive; |
|||
import com.shop.cereshop.commons.domain.buyer.CereBuyerUser; |
|||
import com.shop.cereshop.commons.domain.common.Page; |
|||
import com.shop.cereshop.commons.domain.credit.CereCreditRecord; |
|||
import com.shop.cereshop.commons.domain.label.CereBuyerLabel; |
|||
import com.shop.cereshop.commons.domain.label.CerePlatformLabel; |
|||
import com.shop.cereshop.commons.domain.user.CerePlatformUser; |
|||
import com.shop.cereshop.commons.exception.CoBusinessException; |
|||
import com.shop.cereshop.commons.utils.EmptyUtils; |
|||
import com.shop.cereshop.commons.utils.TimeUtils; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.redisson.api.RLock; |
|||
import org.redisson.api.RedissonClient; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Isolation; |
|||
import org.springframework.transaction.annotation.Propagation; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Slf4j |
|||
@Service |
|||
public class CereBusinessBuyerUserServiceImpl implements CereBusinessBuyerUserService { |
|||
|
|||
@Autowired |
|||
private BusinessBuyerUserDAO businessBuyerUserDAO; |
|||
|
|||
@Autowired |
|||
private CereBuyerLabelService cereBuyerLabelService; |
|||
|
|||
@Autowired |
|||
private CerePlatformLogService cerePlatformLogService; |
|||
|
|||
@Autowired |
|||
private RedissonClient redissonClient; |
|||
|
|||
@Autowired |
|||
private CereCreditRecordDAO cereCreditRecordDAO; |
|||
|
|||
@Autowired |
|||
private EncodeUtil encodeUtil; |
|||
|
|||
@Override |
|||
public Page<BusinessBuyerUser> getAll(BusinessBuyerGetAllParam param) throws CoBusinessException { |
|||
if (param.getPage() != null && param.getPageSize() != null) { |
|||
PageHelper.startPage(param.getPage(),param.getPageSize()); |
|||
} |
|||
long start = System.currentTimeMillis(); |
|||
log.info("start " + start); |
|||
List<BusinessBuyerUser> list = businessBuyerUserDAO.getAll(param); |
|||
log.info("end " + (System.currentTimeMillis() - start)); |
|||
for(BusinessBuyerUser user:list) { |
|||
List<Long> labelIds = cereBuyerLabelService.findByBuyerUserId(user.getBuyerUserId()); |
|||
user.setLabelIds(labelIds); |
|||
user.setPhone(encodeUtil.encodePhone(user.getPhone())); |
|||
user.setName(encodeUtil.encodeInfo(user.getName())); |
|||
} |
|||
PageInfo<BusinessBuyerUser> pageInfo=new PageInfo<>(list); |
|||
Page<BusinessBuyerUser> page=new Page(pageInfo.getList(),pageInfo.getTotal()); |
|||
return page; |
|||
} |
|||
|
|||
@Override |
|||
public BusinessBuyerUserDetail getById(BusinessBuyerGetByIdParam param) throws CoBusinessException { |
|||
//查询客户数据 |
|||
BusinessBuyerUserDetail detail=businessBuyerUserDAO.getById(param.getBuyerUserId()); |
|||
if(detail!=null){ |
|||
detail.setName(encodeUtil.encodeInfo(detail.getName())); |
|||
detail.setPhone(encodeUtil.encodePhone(detail.getPhone())); |
|||
//查询用户标签数据 |
|||
detail.setLabels(businessBuyerUserDAO.findLabels(param.getBuyerUserId())); |
|||
//查询标签id |
|||
detail.setLabelIds(cereBuyerLabelService.findByBuyerUserId(detail.getBuyerUserId())); |
|||
//查询下单数 |
|||
detail.setOrders(businessBuyerUserDAO.findOrders(param.getBuyerUserId())); |
|||
//查询支付成功数 |
|||
detail.setPays(businessBuyerUserDAO.findPays(param.getBuyerUserId())); |
|||
//查询购买商品数 |
|||
detail.setProducts(businessBuyerUserDAO.findProducts(param.getBuyerUserId())); |
|||
//查询累计消费额 |
|||
detail.setPrice(businessBuyerUserDAO.findPrice(param.getBuyerUserId())); |
|||
//查询售后次数 |
|||
detail.setAfters(businessBuyerUserDAO.findAfters(param.getBuyerUserId())); |
|||
//查询售后单数 |
|||
detail.setAfterOrders(businessBuyerUserDAO.findAfterOrders(param.getBuyerUserId())); |
|||
//查询售后成功单数 |
|||
detail.setSuccessAfters(businessBuyerUserDAO.findSuccessAfters(param.getBuyerUserId())); |
|||
//查询订单列表 |
|||
detail.setOrderList(businessBuyerUserDAO.findOrderList(param)); |
|||
//查询评论列表 |
|||
detail.setComments(businessBuyerUserDAO.findComments(param.getBuyerUserId())); |
|||
//查询收货地址列表 |
|||
List<CereBuyerReceive> receiveList = businessBuyerUserDAO.findReceives(param.getBuyerUserId()); |
|||
for (CereBuyerReceive receive:receiveList) { |
|||
receive.setReceivePhone(encodeUtil.encodePhone(receive.getReceivePhone())); |
|||
receive.setReceiveName(encodeUtil.encodeInfo(receive.getReceiveName())); |
|||
receive.setReceiveAdress(encodeUtil.encodeInfo(receive.getReceiveAdress())); |
|||
receive.setAddress(encodeUtil.encodeInfo(receive.getAddress())); |
|||
} |
|||
detail.setReceives(receiveList); |
|||
} |
|||
return detail; |
|||
} |
|||
|
|||
@Override |
|||
public List<CerePlatformLabel> getLabels(BusinessBuyerGetLabelsParam param) throws CoBusinessException { |
|||
return businessBuyerUserDAO.getLabels(param); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(isolation= Isolation.DEFAULT,propagation= Propagation.REQUIRED,rollbackFor = {CoBusinessException.class, Exception.class}) |
|||
public void saveUserLabel(BusinessBuyerSaveUserLabelParam param, CerePlatformBusinessUser user) throws CoBusinessException { |
|||
String time= TimeUtils.yyMMddHHmmss(); |
|||
if(!EmptyUtils.isEmpty(param.getBuyerLabelIds())){ |
|||
//查询客户已有标签的 |
|||
List<Long> ids=cereBuyerLabelService.findAlreadyByUser(param); |
|||
if(!EmptyUtils.isEmpty(ids)){ |
|||
//过滤已有标签 |
|||
for (int i = 0; i < param.getBuyerLabelIds().size(); i++) { |
|||
if(ids.contains(param.getBuyerLabelIds().get(i))){ |
|||
param.getBuyerLabelIds().remove(i); |
|||
i--; |
|||
} |
|||
} |
|||
} |
|||
if(!EmptyUtils.isEmpty(param.getBuyerLabelIds())){ |
|||
for (Long id:param.getBuyerLabelIds()) { |
|||
CereBuyerLabel cereBuyerLabel=new CereBuyerLabel(); |
|||
cereBuyerLabel.setBuyerUserId(param.getBuyerUserId()); |
|||
cereBuyerLabel.setBuyerLabelId(id); |
|||
cereBuyerLabelService.insert(cereBuyerLabel); |
|||
//新增日志 |
|||
cerePlatformLogService.addLog(user,"客户管理","商家端操作","贴标签",param.getBuyerUserId(),time); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(isolation= Isolation.DEFAULT,propagation= Propagation.REQUIRED,rollbackFor = {CoBusinessException.class, Exception.class}) |
|||
public void blacklist(BusinessBuyerBlackListParam param, CerePlatformBusinessUser user) throws CoBusinessException { |
|||
String time =TimeUtils.yyMMddHHmmss(); |
|||
String describe=""; |
|||
CereBuyerUser cereBuyerUser=new CereBuyerUser(); |
|||
cereBuyerUser.setBuyerUserId(param.getBuyerUserId()); |
|||
cereBuyerUser.setIfBlack(param.getIfBlack()); |
|||
cereBuyerUser.setUpdateTime(time); |
|||
businessBuyerUserDAO.updateByPrimaryKeySelective(cereBuyerUser); |
|||
if(IntegerEnum.YES.getCode().equals(param.getIfBlack())){ |
|||
//加入黑名单 |
|||
describe="加入黑名单"; |
|||
}else { |
|||
//取消黑名单 |
|||
describe="取消黑名单"; |
|||
} |
|||
//新增日志 |
|||
cerePlatformLogService.addLog(user,"客户管理","商家端操作",describe,param.getBuyerUserId(),time); |
|||
} |
|||
|
|||
@Override |
|||
public List<CerePlatformLabel> getUserLabels(BusinessBuyerGetLabelsParam param) throws CoBusinessException { |
|||
return businessBuyerUserDAO.getUserLabels(param); |
|||
} |
|||
|
|||
@Override |
|||
public void updateCredit(BusinessUpdateCreditParam param, CerePlatformBusinessUser user) throws CoBusinessException { |
|||
//定义加锁key |
|||
String key = CacheKeyConstants.CREDIT_LOCK + param.getBuyerUserId(); |
|||
//加锁 |
|||
RLock redissonLock = redissonClient.getLock(key); |
|||
String time = TimeUtils.yyMMddHHmmss(); |
|||
long buyerUserId = param.getBuyerUserId(); |
|||
Integer credit = param.getCredit(); |
|||
if (credit == 0) { |
|||
return; |
|||
} |
|||
Integer absCredit = Math.abs(param.getCredit()); |
|||
boolean notEnoughCredit = false; |
|||
try { |
|||
redissonLock.lock(); |
|||
CereBuyerUser buyerUser = businessBuyerUserDAO.selectById(buyerUserId); |
|||
if (credit < 0 && buyerUser.getCredit() < absCredit) { |
|||
notEnoughCredit = true; |
|||
} else { |
|||
CreditOptTypeEnum typeEnum = CreditOptTypeEnum.ADMIN_ADD; |
|||
String describe = "增加"+absCredit+"积分"; |
|||
if (credit < 0) { |
|||
typeEnum = CreditOptTypeEnum.ADMIN_SUB; |
|||
describe = "扣减"+absCredit+"积分"; |
|||
} |
|||
businessBuyerUserDAO.increaseCredit(buyerUserId, param.getCredit()); |
|||
//增加积分记录 |
|||
CereCreditRecord record = CreditOptTypeEnum.initRecord(typeEnum); |
|||
record.setBuyerUserId(buyerUserId); |
|||
record.setCreateTime(time); |
|||
record.setUpdateTime(time); |
|||
record.setCredit(absCredit); |
|||
record.setRemainCredit(buyerUser.getCredit() + credit); |
|||
cereCreditRecordDAO.insert(record); |
|||
//新增日志 |
|||
cerePlatformLogService.addLog(user,"客户管理","商家端操作",describe,param.getBuyerUserId(),time); |
|||
} |
|||
} catch (Exception e) { |
|||
log.error("increaseCredit fail: buyerUserId = {}, credit = {}" + e.getMessage(), |
|||
buyerUserId, credit, e); |
|||
} finally { |
|||
redissonLock.unlock(); |
|||
} |
|||
if (notEnoughCredit) { |
|||
throw new CoBusinessException(CoReturnFormat.CREDIT_NOT_ENOUGH); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public Page<CereBuyerUser> searchUser(BusinessUserSearchParam param) { |
|||
PageHelper.startPage(param.getPage(),param.getPageSize()); |
|||
LambdaQueryWrapper<CereBuyerUser> wrapper = new LambdaQueryWrapper<>(); |
|||
wrapper.eq(CereBuyerUser::getBuyerUserId, param.getSearchKey()) |
|||
.or() |
|||
.eq(CereBuyerUser::getWechatOpenId, param.getSearchKey()) |
|||
.or() |
|||
.like(CereBuyerUser::getName, param.getSearchKey()) |
|||
.or() |
|||
.eq(CereBuyerUser::getPhone, param.getSearchKey()); |
|||
List<CereBuyerUser> userList = businessBuyerUserDAO.selectList(wrapper); |
|||
PageInfo<CereBuyerUser> pageInfo=new PageInfo<>(userList); |
|||
Page page=new Page(pageInfo.getList(),pageInfo.getTotal()); |
|||
return page; |
|||
} |
|||
} |
@ -0,0 +1,38 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.service.channel; |
|||
|
|||
import com.shop.cereshop.business.page.channel.ChannelDTO; |
|||
import com.shop.cereshop.business.param.channel.ChannelGetAllParam; |
|||
import com.shop.cereshop.business.param.channel.ChannelParam; |
|||
import com.shop.cereshop.commons.domain.channel.Channel; |
|||
import com.shop.cereshop.commons.domain.common.Page; |
|||
import com.shop.cereshop.commons.domain.user.CerePlatformUser; |
|||
import com.shop.cereshop.commons.exception.CoBusinessException; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* <p> |
|||
* 业务接口 |
|||
* 渠道表 |
|||
* </p> |
|||
* |
|||
* @author |
|||
* @date 2022-08-25 |
|||
*/ |
|||
public interface ChannelService { |
|||
|
|||
void save(ChannelParam param, CerePlatformUser user) throws CoBusinessException; |
|||
|
|||
void update(ChannelParam param, CerePlatformUser user) throws CoBusinessException; |
|||
|
|||
void delete(ChannelParam param, CerePlatformUser user) throws CoBusinessException; |
|||
|
|||
Page<ChannelDTO> getAll(ChannelGetAllParam param) throws CoBusinessException; |
|||
|
|||
List<Channel> selectByChannelCodeList(List<String> channelCodeList); |
|||
} |
@ -0,0 +1,120 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.service.channel.impl; |
|||
|
|||
|
|||
import cn.hutool.core.util.IdUtil; |
|||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|||
import com.github.pagehelper.PageHelper; |
|||
import com.github.pagehelper.PageInfo; |
|||
import com.shop.cereshop.business.dao.business.BusinessBuyerUserDAO; |
|||
import com.shop.cereshop.business.dao.channel.ChannelDAO; |
|||
import com.shop.cereshop.business.dao.order.CereShopOrderDAO; |
|||
import com.shop.cereshop.business.page.channel.ChannelDTO; |
|||
import com.shop.cereshop.business.param.channel.ChannelGetAllParam; |
|||
import com.shop.cereshop.business.param.channel.ChannelParam; |
|||
import com.shop.cereshop.business.service.channel.ChannelService; |
|||
import com.shop.cereshop.commons.constant.CoReturnFormat; |
|||
import com.shop.cereshop.commons.domain.buyer.CereBuyerUser; |
|||
import com.shop.cereshop.commons.domain.channel.Channel; |
|||
import com.shop.cereshop.commons.domain.common.Page; |
|||
import com.shop.cereshop.commons.domain.user.CerePlatformUser; |
|||
import com.shop.cereshop.commons.exception.CoBusinessException; |
|||
import com.shop.cereshop.commons.utils.TimeUtils; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.beans.BeanUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.beans.factory.annotation.Value; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* <p> |
|||
* 业务实现类 |
|||
* 渠道表 |
|||
* </p> |
|||
* |
|||
* @author |
|||
* @date 2022-08-25 |
|||
*/ |
|||
@Slf4j |
|||
@Service |
|||
public class ChannelServiceImpl implements ChannelService { |
|||
|
|||
@Autowired |
|||
private ChannelDAO channelDAO; |
|||
|
|||
@Value("${channelRegisterUrl}") |
|||
private String channelRegisterUrl; |
|||
|
|||
@Autowired |
|||
private BusinessBuyerUserDAO businessBuyerUserDAO; |
|||
|
|||
@Autowired |
|||
private CereShopOrderDAO cereShopOrderDAO; |
|||
|
|||
@Override |
|||
public void save(ChannelParam param, CerePlatformUser user) throws CoBusinessException { |
|||
Channel channel = new Channel(); |
|||
String now = TimeUtils.yyMMddHHmmss(); |
|||
channel.setChannelName(param.getChannelName()); |
|||
int count = 0; |
|||
while (true) { |
|||
if (count > 100) { |
|||
throw new CoBusinessException(CoReturnFormat.SYS_ERROR); |
|||
} |
|||
String channelCode = IdUtil.simpleUUID().substring(0,6); |
|||
int existsCount = channelDAO.selectCount(Wrappers.<Channel>lambdaQuery().eq(Channel::getChannelCode, channelCode)); |
|||
if (existsCount == 0) { |
|||
channel.setChannelCode(channelCode); |
|||
break; |
|||
} |
|||
count++; |
|||
} |
|||
channel.setRegisterUrl(channelRegisterUrl + channel.getChannelCode()); |
|||
channel.setCreateTime(now); |
|||
channel.setUpdateTime(now); |
|||
channelDAO.insert(channel); |
|||
} |
|||
|
|||
@Override |
|||
public void update(ChannelParam param, CerePlatformUser user) throws CoBusinessException { |
|||
Channel channel = new Channel(); |
|||
channel.setId(param.getId()); |
|||
channel.setChannelName(param.getChannelName()); |
|||
channelDAO.updateById(channel); |
|||
} |
|||
|
|||
@Override |
|||
public void delete(ChannelParam param, CerePlatformUser user) throws CoBusinessException { |
|||
channelDAO.deleteById(param.getId()); |
|||
} |
|||
|
|||
@Override |
|||
public Page<ChannelDTO> getAll(ChannelGetAllParam param) throws CoBusinessException { |
|||
PageHelper.startPage(param.getPage(),param.getPageSize()); |
|||
List<Channel> list=channelDAO.selectList(Wrappers.emptyWrapper()); |
|||
List<ChannelDTO> channelDTOList = new ArrayList<>(); |
|||
for (Channel channel:list) { |
|||
ChannelDTO channelDTO = new ChannelDTO(); |
|||
BeanUtils.copyProperties(channel, channelDTO); |
|||
channelDTO.setRegisterCount(businessBuyerUserDAO.selectCount(Wrappers.<CereBuyerUser>lambdaQuery().eq(CereBuyerUser::getChannelCode, channel.getChannelCode()))); |
|||
channelDTO.setOrderUserCount(cereShopOrderDAO.selectChannelOrderUserCount(channel.getChannelCode())); |
|||
channelDTO.setOrderCount(cereShopOrderDAO.selectChannelOrderCount(channel.getChannelCode())); |
|||
channelDTO.setOrderAmount(cereShopOrderDAO.selectChannelOrderAmount(channel.getChannelCode())); |
|||
channelDTOList.add(channelDTO); |
|||
} |
|||
PageInfo<ChannelDTO> pageInfo=new PageInfo<>(channelDTOList); |
|||
return new Page<>(pageInfo.getList(),pageInfo.getTotal()); |
|||
} |
|||
|
|||
@Override |
|||
public List<Channel> selectByChannelCodeList(List<String> channelCodeList) { |
|||
return channelDAO.selectList(Wrappers.<Channel>lambdaQuery().in(Channel::getChannelCode, channelCodeList)); |
|||
} |
|||
} |
@ -0,0 +1,24 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.service.credit; |
|||
|
|||
|
|||
import com.shop.cereshop.business.param.credit.CreditRecordGetAllParam; |
|||
import com.shop.cereshop.commons.domain.common.Page; |
|||
|
|||
/** |
|||
* <p> |
|||
* 业务接口 |
|||
* 积分流水表 |
|||
* </p> |
|||
* |
|||
* @author JustArgo |
|||
* @date 2021-12-04 |
|||
*/ |
|||
public interface CereCreditRecordService { |
|||
|
|||
Page getAll(CreditRecordGetAllParam param); |
|||
} |
@ -0,0 +1,31 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.service.credit; |
|||
|
|||
import com.shop.cereshop.commons.domain.common.Page; |
|||
import com.shop.cereshop.commons.domain.common.PageParam; |
|||
import com.shop.cereshop.commons.domain.credit.CereCreditSignSetting; |
|||
import com.shop.cereshop.commons.exception.CoBusinessException; |
|||
|
|||
/** |
|||
* <p> |
|||
* 业务接口 |
|||
* 积分签到配置 |
|||
* </p> |
|||
* |
|||
* @author JustArgo |
|||
* @date 2021-12-04 |
|||
*/ |
|||
public interface CereCreditSignSettingService { |
|||
|
|||
Page getAll(PageParam param); |
|||
|
|||
int save(CereCreditSignSetting param) throws CoBusinessException; |
|||
|
|||
int update(CereCreditSignSetting param) throws CoBusinessException; |
|||
|
|||
int delete(Long id); |
|||
} |
@ -0,0 +1,53 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.service.credit.impl; |
|||
|
|||
import com.github.pagehelper.PageHelper; |
|||
import com.github.pagehelper.PageInfo; |
|||
import com.shop.cereshop.business.dao.credit.CereCreditRecordDAO; |
|||
import com.shop.cereshop.business.page.credit.CereCreditRecordPage; |
|||
import com.shop.cereshop.business.param.credit.CreditRecordGetAllParam; |
|||
import com.shop.cereshop.business.service.credit.CereCreditRecordService; |
|||
import com.shop.cereshop.business.utils.EncodeUtil; |
|||
import com.shop.cereshop.commons.domain.common.Page; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* <p> |
|||
* 业务实现类 |
|||
* 积分流水表 |
|||
* </p> |
|||
* |
|||
* @author JustArgo |
|||
* @date 2021-12-04 |
|||
*/ |
|||
@Slf4j |
|||
@Service |
|||
public class CereCreditRecordServiceImpl implements CereCreditRecordService { |
|||
|
|||
@Autowired |
|||
private CereCreditRecordDAO cereCreditRecordDAO; |
|||
|
|||
@Autowired |
|||
private EncodeUtil encodeUtil; |
|||
|
|||
@Override |
|||
public Page getAll(CreditRecordGetAllParam param) { |
|||
PageHelper.startPage(param.getPage(),param.getPageSize()); |
|||
List<CereCreditRecordPage> list=cereCreditRecordDAO.getAll(param); |
|||
for (CereCreditRecordPage record:list) { |
|||
record.setName(encodeUtil.encodeInfo(record.getName())); |
|||
record.setPhone(encodeUtil.encodePhone(record.getPhone())); |
|||
} |
|||
PageInfo<CereCreditRecordPage> pageInfo=new PageInfo<>(list); |
|||
Page<CereCreditRecordPage> page=new Page(pageInfo.getList(),pageInfo.getTotal()); |
|||
return page; |
|||
} |
|||
} |
@ -0,0 +1,70 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.service.credit.impl; |
|||
|
|||
import com.github.pagehelper.PageHelper; |
|||
import com.github.pagehelper.PageInfo; |
|||
import com.shop.cereshop.business.dao.credit.CereCreditSignSettingDAO; |
|||
import com.shop.cereshop.business.service.credit.CereCreditSignSettingService; |
|||
import com.shop.cereshop.commons.constant.CoReturnFormat; |
|||
import com.shop.cereshop.commons.domain.common.Page; |
|||
import com.shop.cereshop.commons.domain.common.PageParam; |
|||
import com.shop.cereshop.commons.domain.credit.CereCreditSignSetting; |
|||
import com.shop.cereshop.commons.exception.CoBusinessException; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* <p> |
|||
* 业务实现类 |
|||
* 积分签到配置 |
|||
* </p> |
|||
* |
|||
* @author JustArgo |
|||
* @date 2021-12-04 |
|||
*/ |
|||
@Slf4j |
|||
@Service |
|||
public class CereCreditSignSettingServiceImpl implements CereCreditSignSettingService { |
|||
|
|||
@Autowired |
|||
private CereCreditSignSettingDAO cereCreditSignSettingDAO; |
|||
|
|||
@Override |
|||
public Page getAll(PageParam param) { |
|||
PageHelper.startPage(param.getPage(),param.getPageSize()); |
|||
List<CereCreditSignSetting> list=cereCreditSignSettingDAO.getAll(param); |
|||
PageInfo<CereCreditSignSetting> pageInfo=new PageInfo<>(list); |
|||
Page<CereCreditSignSetting> page=new Page(pageInfo.getList(),pageInfo.getTotal()); |
|||
return page; |
|||
} |
|||
|
|||
@Override |
|||
public int save(CereCreditSignSetting param) throws CoBusinessException { |
|||
int count = cereCreditSignSettingDAO.selectExistsDay(param.getDay(), param.getId()); |
|||
if (count > 0) { |
|||
throw new CoBusinessException(CoReturnFormat.CREDIT_SETTING_EXISTS); |
|||
} |
|||
return cereCreditSignSettingDAO.insert(param); |
|||
} |
|||
|
|||
@Override |
|||
public int update(CereCreditSignSetting param) throws CoBusinessException { |
|||
int count = cereCreditSignSettingDAO.selectExistsDay(param.getDay(), param.getId()); |
|||
if (count > 0) { |
|||
throw new CoBusinessException(CoReturnFormat.CREDIT_SETTING_EXISTS); |
|||
} |
|||
return cereCreditSignSettingDAO.updateById(param); |
|||
} |
|||
|
|||
@Override |
|||
public int delete(Long id) { |
|||
return cereCreditSignSettingDAO.deleteById(id); |
|||
} |
|||
} |
@ -0,0 +1,347 @@ |
|||
<?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.shop.cereshop.business.dao.business.BusinessBuyerUserDAO"> |
|||
<resultMap id="BaseResultMap" type="com.shop.cereshop.commons.domain.buyer.CereBuyerUser"> |
|||
<id column="buyer_user_id" jdbcType="BIGINT" property="buyerUserId" /> |
|||
<result column="name" jdbcType="VARCHAR" property="name" /> |
|||
<result column="sex" jdbcType="VARCHAR" property="sex" /> |
|||
<result column="birthday" jdbcType="VARCHAR" property="birthday" /> |
|||
<result column="wechat_open_id" jdbcType="VARCHAR" property="wechatOpenId" /> |
|||
<result column="wechat_union_id" jdbcType="VARCHAR" property="wechatUnionId" /> |
|||
<result column="wechat_name" jdbcType="VARCHAR" property="wechatName" /> |
|||
<result column="wechat_number" jdbcType="VARCHAR" property="wechatNumber" /> |
|||
<result column="phone" jdbcType="VARCHAR" property="phone" /> |
|||
<result column="password" jdbcType="VARCHAR" property="password" /> |
|||
<result column="head_image" jdbcType="VARCHAR" property="headImage" /> |
|||
<result column="state" jdbcType="BIT" property="state" /> |
|||
<result column="if_black" jdbcType="BIT" property="ifBlack" /> |
|||
<result column="remark" jdbcType="VARCHAR" property="remark" /> |
|||
<result column="token" jdbcType="VARCHAR" property="token" /> |
|||
<result column="create_time" jdbcType="VARCHAR" property="createTime" /> |
|||
<result column="update_time" jdbcType="VARCHAR" property="updateTime" /> |
|||
</resultMap> |
|||
<sql id="Base_Column_List"> |
|||
buyer_user_id, `name`, sex, birthday, wechat_open_id, wechat_union_id, wechat_name, |
|||
wechat_number, phone, `password`, head_image, `state`,if_black, remark, token, create_time, |
|||
update_time |
|||
</sql> |
|||
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> |
|||
select |
|||
<include refid="Base_Column_List" /> |
|||
from cere_buyer_user |
|||
where buyer_user_id = #{buyerUserId,jdbcType=BIGINT} |
|||
</select> |
|||
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> |
|||
delete from cere_buyer_user |
|||
where buyer_user_id = #{buyerUserId,jdbcType=BIGINT} |
|||
</delete> |
|||
<insert id="insertSelective" keyColumn="buyer_user_id" keyProperty="buyerUserId" parameterType="com.shop.cereshop.commons.domain.buyer.CereBuyerUser" useGeneratedKeys="true"> |
|||
insert into cere_buyer_user |
|||
<trim prefix="(" suffix=")" suffixOverrides=","> |
|||
<if test="name != null and name!=''"> |
|||
`name`, |
|||
</if> |
|||
<if test="sex != null and sex!=''"> |
|||
sex, |
|||
</if> |
|||
<if test="birthday != null and birthday!=''"> |
|||
birthday, |
|||
</if> |
|||
<if test="wechatOpenId != null and wechatOpenId!=''"> |
|||
wechat_open_id, |
|||
</if> |
|||
<if test="wechatUnionId != null and wechatUnionId!=''"> |
|||
wechat_union_id, |
|||
</if> |
|||
<if test="wechatName != null and wechatName!=''"> |
|||
wechat_name, |
|||
</if> |
|||
<if test="wechatNumber != null and wechatNumber!=''"> |
|||
wechat_number, |
|||
</if> |
|||
<if test="phone != null and phone!=''"> |
|||
phone, |
|||
</if> |
|||
<if test="password != null and password!=''"> |
|||
`password`, |
|||
</if> |
|||
<if test="headImage != null and headImage!=''"> |
|||
head_image, |
|||
</if> |
|||
<if test="state != null"> |
|||
`state`, |
|||
</if> |
|||
<if test="ifBlack != null"> |
|||
if_black, |
|||
</if> |
|||
<if test="remark != null and remark!=''"> |
|||
remark, |
|||
</if> |
|||
<if test="token != null and token!=''"> |
|||
token, |
|||
</if> |
|||
<if test="createTime != null and createTime!=''"> |
|||
create_time, |
|||
</if> |
|||
<if test="updateTime != null and updateTime!=''"> |
|||
update_time, |
|||
</if> |
|||
</trim> |
|||
<trim prefix="values (" suffix=")" suffixOverrides=","> |
|||
<if test="name != null and name!=''"> |
|||
#{name,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="sex != null and sex!=''"> |
|||
#{sex,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="birthday != null and birthday!=''"> |
|||
#{birthday,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="wechatOpenId != null and wechatOpenId!=''"> |
|||
#{wechatOpenId,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="wechatUnionId != null and wechatUnionId!=''"> |
|||
#{wechatUnionId,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="wechatName != null and wechatName!=''"> |
|||
#{wechatName,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="wechatNumber != null and wechatNumber!=''"> |
|||
#{wechatNumber,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="phone != null and phone!=''"> |
|||
#{phone,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="password != null and password!=''"> |
|||
#{password,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="headImage != null and headImage!=''"> |
|||
#{headImage,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="state != null"> |
|||
#{state,jdbcType=BIT}, |
|||
</if> |
|||
<if test="ifBlack != null"> |
|||
#{ifBlack,jdbcType=BIT}, |
|||
</if> |
|||
<if test="remark != null and remark!=''"> |
|||
#{remark,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="token != null and token!=''"> |
|||
#{token,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="createTime != null and createTime!=''"> |
|||
#{createTime,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="updateTime != null and updateTime!=''"> |
|||
#{updateTime,jdbcType=VARCHAR}, |
|||
</if> |
|||
</trim> |
|||
</insert> |
|||
<update id="updateByPrimaryKeySelective" parameterType="com.shop.cereshop.commons.domain.buyer.CereBuyerUser"> |
|||
update cere_buyer_user |
|||
<set> |
|||
<if test="name != null and name!=''"> |
|||
`name` = #{name,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="sex != null and sex!=''"> |
|||
sex = #{sex,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="birthday != null and birthday!=''"> |
|||
birthday = #{birthday,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="wechatOpenId != null and wechatOpenId!=''"> |
|||
wechat_open_id = #{wechatOpenId,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="wechatUnionId != null and wechatUnionId!=''"> |
|||
wechat_union_id = #{wechatUnionId,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="wechatName != null and wechatName!=''"> |
|||
wechat_name = #{wechatName,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="wechatNumber != null and wechatNumber!=''"> |
|||
wechat_number = #{wechatNumber,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="phone != null and phone!=''"> |
|||
phone = #{phone,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="password != null and password!=''"> |
|||
`password` = #{password,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="headImage != null and headImage!=''"> |
|||
head_image = #{headImage,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="state != null"> |
|||
`state` = #{state,jdbcType=BIT}, |
|||
</if> |
|||
<if test="ifBlack != null"> |
|||
if_black = #{ifBlack,jdbcType=BIT}, |
|||
</if> |
|||
<if test="remark != null and remark!=''"> |
|||
remark = #{remark,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="token != null and token!=''"> |
|||
token = #{token,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="createTime != null and createTime!=''"> |
|||
create_time = #{createTime,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="updateTime != null and updateTime!=''"> |
|||
update_time = #{updateTime,jdbcType=VARCHAR}, |
|||
</if> |
|||
</set> |
|||
where buyer_user_id = #{buyerUserId,jdbcType=BIGINT} |
|||
</update> |
|||
<update id="updateByPrimaryKey" parameterType="com.shop.cereshop.commons.domain.buyer.CereBuyerUser"> |
|||
update cere_buyer_user |
|||
set `name` = #{name,jdbcType=VARCHAR}, |
|||
sex = #{sex,jdbcType=VARCHAR}, |
|||
birthday = #{birthday,jdbcType=VARCHAR}, |
|||
wechat_open_id = #{wechatOpenId,jdbcType=VARCHAR}, |
|||
wechat_union_id = #{wechatUnionId,jdbcType=VARCHAR}, |
|||
wechat_name = #{wechatName,jdbcType=VARCHAR}, |
|||
wechat_number = #{wechatNumber,jdbcType=VARCHAR}, |
|||
phone = #{phone,jdbcType=VARCHAR}, |
|||
`password` = #{password,jdbcType=VARCHAR}, |
|||
head_image = #{headImage,jdbcType=VARCHAR}, |
|||
`state` = #{state,jdbcType=BIT}, |
|||
if_black = #{ifBlack,jdbcType=BIT}, |
|||
remark = #{remark,jdbcType=VARCHAR}, |
|||
token = #{token,jdbcType=VARCHAR}, |
|||
create_time = #{createTime,jdbcType=VARCHAR}, |
|||
update_time = #{updateTime,jdbcType=VARCHAR} |
|||
where buyer_user_id = #{buyerUserId,jdbcType=BIGINT} |
|||
</update> |
|||
|
|||
<update id="increaseCredit"> |
|||
update cere_buyer_user |
|||
set credit = credit + #{credit} |
|||
where buyer_user_id = #{buyerUserId} |
|||
</update> |
|||
|
|||
<select id="getAll" parameterType="com.shop.cereshop.business.param.buyer.BusinessBuyerGetAllParam" resultType="com.shop.cereshop.business.page.buyer.BusinessBuyerUser"> |
|||
SELECT a.buyer_user_id,IF(a.wechat_name IS NULL,a.`name`,a.wechat_name) `name`,d.member_level_name, |
|||
a.phone,a.credit,IF(b.total IS NULL,0,b.total) total,IF(b.buyers IS NULL,0,b.buyers) buyers, |
|||
a.create_time, a.if_black, b.time, a.register_ip, a.last_login_ip, |
|||
a.terminal, a.channel_code |
|||
from cere_buyer_user a |
|||
LEFT JOIN (SELECT buyer_user_id,SUM(price) total,COUNT(order_id) buyers,MAX(create_time) time from cere_shop_order where state in (2,3,4) |
|||
GROUP BY buyer_user_id) b ON a.buyer_user_id=b.buyer_user_id |
|||
LEFT JOIN cere_buyer_label c ON a.buyer_user_id=c.buyer_user_id |
|||
LEFT JOIN cere_platform_member_level d ON a.member_level_id=d.member_level_id |
|||
where 1=1 |
|||
<if test="name!=null and name!=''"> |
|||
and (a.wechat_name like concat('%',#{name},'%') or |
|||
a.`name` like concat('%',#{name},'%')) |
|||
</if> |
|||
<if test="phone!=null and phone!=''"> |
|||
and a.phone like concat('%',#{phone},'%') |
|||
</if> |
|||
<if test="project!=null and project!=''"> |
|||
and a.project = #{project} |
|||
</if> |
|||
<if test="labelId!=null"> |
|||
and c.buyer_label_id=#{labelId} |
|||
</if> |
|||
<if test="minMoney!=null"> |
|||
and b.total>=#{minMoney} |
|||
</if> |
|||
<if test="maxMoney!=null"> |
|||
and b.total<=#{maxMoney} |
|||
</if> |
|||
<if test="minBuyers!=null"> |
|||
and b.buyers>=#{minBuyers} |
|||
</if> |
|||
<if test="maxBuyers!=null"> |
|||
and b.buyers<=#{maxBuyers} |
|||
</if> |
|||
GROUP BY a.buyer_user_id |
|||
<if test="startTime!=null and startTime!=''"> |
|||
HAVING b.time>=#{startTime} and b.time<=#{endTime} |
|||
</if> |
|||
order by a.create_time desc |
|||
</select> |
|||
|
|||
<select id="getById" parameterType="java.lang.Object" resultType="com.shop.cereshop.business.page.buyer.BusinessBuyerUserDetail"> |
|||
SELECT buyer_user_id,IF(wechat_name IS NULL,`name`,wechat_name) `name`, |
|||
phone,sex,birthday,create_time,head_image from cere_buyer_user |
|||
where buyer_user_id=#{buyerUserId} |
|||
</select> |
|||
|
|||
<select id="findLabels" parameterType="java.lang.Object" resultType="java.lang.String"> |
|||
SELECT b.label_name from cere_buyer_label a |
|||
LEFT JOIN cere_platform_label b ON a.buyer_label_id=b.buyer_label_id |
|||
where a.buyer_user_id=#{buyerUserId} |
|||
</select> |
|||
|
|||
<select id="findOrders" parameterType="java.lang.Object" resultType="java.lang.Integer"> |
|||
SELECT COUNT(*) from cere_shop_order where buyer_user_id=#{buyerUserId} |
|||
</select> |
|||
|
|||
<select id="findPays" parameterType="java.lang.Object" resultType="java.lang.Integer"> |
|||
SELECT COUNT(*) from cere_shop_order where buyer_user_id=#{buyerUserId} and state in (2,3,4) |
|||
</select> |
|||
|
|||
<select id="findProducts" parameterType="java.lang.Object" resultType="java.lang.Integer"> |
|||
SELECT COUNT(*) from cere_order_product a |
|||
LEFT JOIN cere_shop_order b ON a.order_id=b.order_id |
|||
where b.buyer_user_id=#{buyerUserId} |
|||
</select> |
|||
|
|||
<select id="findPrice" parameterType="java.lang.Object" resultType="java.math.BigDecimal"> |
|||
SELECT SUM(price) from cere_shop_order where buyer_user_id=#{buyerUserId} and state in (2,3,4) |
|||
</select> |
|||
|
|||
<select id="findAfters" parameterType="java.lang.Object" resultType="java.lang.Integer"> |
|||
SELECT COUNT(*) from cere_order_after a |
|||
LEFT JOIN cere_shop_order b ON a.order_id=b.order_id |
|||
where b.buyer_user_id=#{buyerUserId} |
|||
</select> |
|||
|
|||
<select id="findAfterOrders" parameterType="java.lang.Object" resultType="java.lang.Integer"> |
|||
SELECT COUNT(DISTINCT a.order_id) from cere_order_after a |
|||
LEFT JOIN cere_shop_order b ON a.order_id=b.order_id |
|||
where b.buyer_user_id=#{buyerUserId} |
|||
</select> |
|||
|
|||
<select id="findSuccessAfters" parameterType="java.lang.Object" resultType="java.lang.Integer"> |
|||
SELECT COUNT(DISTINCT a.order_id) from cere_order_after a |
|||
LEFT JOIN cere_shop_order b ON a.order_id=b.order_id |
|||
where b.buyer_user_id=#{buyerUserId} and a.after_state=2 |
|||
</select> |
|||
|
|||
<select id="findOrderList" parameterType="com.shop.cereshop.business.param.buyer.BusinessBuyerGetByIdParam" resultType="com.shop.cereshop.business.page.buyer.BusinessBuyerOrder"> |
|||
SELECT a.order_formid,b.shop_name,COUNT(c.product_id) products,a.price,a.state from cere_shop_order a |
|||
LEFT JOIN cere_platform_shop b ON a.shop_id=b.shop_id |
|||
LEFT JOIN cere_order_product c ON a.order_id=c.order_id |
|||
where a.buyer_user_id=#{buyerUserId} |
|||
<if test="orderFormid!=null and orderFormid!=''"> |
|||
and a.order_formid like concat('%',#{orderFormid},'%') |
|||
</if> |
|||
GROUP BY c.product_id |
|||
</select> |
|||
|
|||
<select id="findComments" parameterType="java.lang.Object" resultType="com.shop.cereshop.business.page.buyer.BusinessBuyerComment"> |
|||
SELECT a.shop_name,a.comment_id,b.product_name from cere_shop_comment a |
|||
LEFT JOIN cere_shop_product b ON a.product_id=b.product_id |
|||
where a.buyer_user_id=#{buyerUserId} |
|||
</select> |
|||
|
|||
<select id="findReceives" parameterType="java.lang.Object" resultType="com.shop.cereshop.commons.domain.buyer.CereBuyerReceive"> |
|||
SELECT * FROM cere_buyer_receive where buyer_user_id=#{buyerUserId} |
|||
</select> |
|||
|
|||
<select id="getLabels" parameterType="com.shop.cereshop.business.param.buyer.BusinessBuyerGetLabelsParam" resultType="com.shop.cereshop.commons.domain.label.CerePlatformLabel"> |
|||
SELECT buyer_label_id,label_name FROM cere_platform_label |
|||
where 1=1 |
|||
<if test="labelName!=null and labelName!=''"> |
|||
and label_name like concat('%',#{labelName},'%') |
|||
</if> |
|||
</select> |
|||
|
|||
<select id="getUserLabels" parameterType="com.shop.cereshop.business.param.buyer.BusinessBuyerGetLabelsParam" resultType="com.shop.cereshop.commons.domain.label.CerePlatformLabel"> |
|||
SELECT b.* FROM cere_buyer_label a |
|||
LEFT JOIN cere_platform_label b ON a.buyer_label_id=b.buyer_label_id |
|||
where a.buyer_user_id=#{buyerUserId} |
|||
</select> |
|||
</mapper> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue