Merge #61 into master from cc_20260121_store_type

feat:PC 心愿单

* cc_20260121_store_type: (100 commits squashed)

  - feat:标准店接口处理

  - feat:标准店接口处理

  - feat:标准店接口处理

  - fix:加盟缴费调整

  - feat:标准店接口处理

  - fix:加盟缴费调整

  - Merge branch 'cc_20260126_pingan_wallet' into cc_20260121_store_type
    
    # Conflicts:
    #	coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/BatchTransferDTO.java
    #	coolstore-partner-model/src/main/java/com/cool/store/request/wallet/BatchTransferRequest.java

  - feat:冲突解决

  - feat:接口处理

  - feat:shopInfo

  - fix:PC缴费信息列表过滤已完成缴费信息

  - fix:测试接口修改

  - Merge branch 'refs/heads/cc_20260126_pingan_wallet' into cc_20260121_store_type

  - fix:测试接口修改

  - feat:接口

  - feat:接口调整

  - feat:注释调整

  - feat:key 调整

  - feat:订单ID

  - feat:日志打印

  - feat:选择标准店型

  - feat:useStandardStore

  - feat:标准店没有缴费阶段

  - feat:标准店没有缴费阶段

  - feat:标准店没有缴费阶段

  - feat:标准店没有缴费阶段

  - feat:阶段调整

  - fix:修复加盟缴费流程流转错误

  - feat:费用类型ID

  - feat:锁释放

  - feat:分账状态

  - fix:加盟签约合同数据补充

  - feat:排序

  - feat:选项单位

  - feat:选项单位

  - feat:选项单位

  - feat:选项单位

  - feat:option_unit

  - feat:option_unit

  - feat:更新调整

  - feat:视频非必填

  - feat:optionUnit

  - fix:转义

  - Merge branch 'master' into cc_20260126_pingan_wallet
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java

  - feat:同一配置项下只能设置一个默认选项

  - feat:数量支持小数,新增首次订货字段

  - fix:提交及修改校验合计缴费金额和分账总金额是否相同

  - feat:queryPage

  - feat:defaultQuantity 改为 BigDecimal

  - feat:defaultQuantity 改为 BigDecimal

  - feat:门店预约到店

  - feat:门店预约到店 取消预约

  - feat:门店预约到店 手机号

  - feat:添加原价

  - feat:添加原价

  - feat:添加原价

  - feat:字典表 remark

  - Merge branch 'master' into cc_20260121_store_type
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/FileTypeEnum.java
    #	coolstore-partner-model/src/main/java/com/cool/store/vo/dict/DictColumnSimpleVO.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/ExportRealizeService.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/ExportService.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportServiceImpl.java
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ExportController.java

  - feat:字典表 remark

  - feat:服务人员手机号

  - feat:价格计算调整店型优惠价*默认数量 + 原价 *(选择数量-默认数量)

  - fix:补充钱包账单推送新管家流程

  - fix:账单推送钱包支付类型payWay由1改为2

  - feat:同一配置项下只能设置一个默认选项 限制去掉

  - fix:平安钱包分账信息改为非必填

  - feat:同一配置项只能选择一个选项 限制去掉

  - feat:心愿单

  - feat:心愿单

  - feat:心愿单接口调整

  - feat:心愿单接口调整

  - feat:心愿单接口调整

  - feat:批量更新数据

  - feat:查询店型已配置的选项绑定 新增顶部预览图

  - feat:查询店型已配置的选项绑定 新增顶部预览图

  - feat:查询店型已配置的选项绑定 新增顶部预览图

  - feat:配置大类

  - feat:配置大类

  - feat:价格优化

  - feat:阶段审批处理

  - fix:删除设计费-立规

  - feat:配置大项 配置项接口改造

  - feat:配置大项 配置项接口改造

  - feat:handleAudit

  - feat:新增code

  - feat:categoryId

  - feat:心愿单接口更新

  - feat:心愿单接口更新

  - feat:心愿单接口更新

  - feat:心愿单接口更新

  - feat:心愿单接口更新

  - Merge branch 'cc_20260126_pingan_wallet' into cc_20260121_store_type
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java

  - Merge branch 'master' into cc_20260121_store_type
    
    # Conflicts:
    #	coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java

  - Merge branch 'master' into cc_20260121_store_type
    
    # Conflicts:
    #	coolstore-partner-model/src/main/java/com/cool/store/request/JoinIntentionRequest.java
    #	coolstore-partner-model/src/main/java/com/cool/store/vo/fees/PayeeBankConfigVO.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/fees/impl/PayeeBankConfigServiceImpl.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/fees/impl/ShopAllocationInfoServiceImpl.java

  - feat:PC 心愿单

  - feat:PC 心愿单

  - feat:PC 心愿单

  - feat:PC 心愿单

  - feat:PC 心愿单

  - Merge branch 'master' into cc_20260121_store_type
    
    # Conflicts:
    #	coolstore-partner-dao/src/main/java/com/cool/store/dao/order/StoreWishlistDAO.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/mapper/order/StoreWishlistMapper.java
    #	coolstore-partner-dao/src/main/resources/mapper/order/StoreWishlistMapper.xml
    #	coolstore-partner-model/src/main/java/com/cool/store/request/order/WishAllListRequest.java
    #	coolstore-partner-model/src/main/java/com/cool/store/vo/order/MiniStoreWishlistListVO.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/order/MiniStoreOrderService.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/order/impl/MiniStoreOrderServiceImpl.java
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webb/StoreOrderController.java

  - feat:PC 心愿单

Signed-off-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>
Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>

CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/61
This commit is contained in:
正新
2026-03-12 09:35:48 +00:00
parent 3b8ed0a3b8
commit 3a9e8c4709
10 changed files with 64 additions and 24 deletions

View File

@@ -60,7 +60,7 @@ public class StoreWishlistDAO {
return mapper.listByVersionList(versionNoList);
}
public List<String> getDistinctVersion(String mobile){
return mapper.versionNoList(mobile);
public List<String> getDistinctVersion(String keyword,Long storeTypeId){
return mapper.versionNoList(keyword,storeTypeId);
}
}

View File

@@ -27,5 +27,5 @@ public interface StoreWishlistMapper extends Mapper<StoreWishlistDO> {
List<MiniStoreWishlistListVO> listByVersionList(@Param("versionNoList") List<String> versionNoList);
List<String> versionNoList(String mobile);
List<String> versionNoList(@Param("keyword") String keyword, @Param("storeTypeId") Long storeTypeId);
}

View File

@@ -86,13 +86,16 @@
<select id="versionNoList" resultType="java.lang.String">
SELECT DISTINCT version_no
FROM zxjp_store_wishlist
<if test="mobile!=null and mobile !=''">
a left join xfsg_line_info b on a.line_id = b.id
FROM zxjp_store_wishlist a
<if test="keyword!=null and keyword !=''">
left join xfsg_line_info b on a.line_id = b.id
</if>
WHERE deleted = 0
<if test="mobile!=null and mobile !=''">
and nobile = #{mobile}
WHERE a.deleted = 0
<if test="storeTypeId!=null">
and a.store_type_id = #{storeTypeId}
</if>
<if test="keyword!=null and keyword !=''">
and (b.username like concat("%", #{keyword}, "%") or b.mobile like concat("%", #{keyword}, "%"))
</if>
ORDER BY version_no desc
</select>

View File

@@ -11,7 +11,9 @@ import lombok.Data;
@Data
public class WishAllListRequest extends PageBasicInfo {
private String mobile;
private String keyword;
private Long storeTypeId;
}

View File

@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
@@ -20,6 +21,12 @@ public class MiniStoreWishlistDetailVO {
@ApiModelProperty("总金额")
private BigDecimal totalAmount;
private Date createTime;
private String partnerName;
private String partnerMobile;
private FeeInfoVO feeInfoVO;
@ApiModelProperty("配置项列表")

View File

@@ -17,6 +17,10 @@ public class MiniStoreWishlistListVO {
private Long lineId;
private String partnerName;
private String partnerMobile;
@ApiModelProperty("品牌")
private String brand;

View File

@@ -50,10 +50,10 @@ public interface MiniStoreOrderService {
Boolean deleted(MiniStoreWishlistDelRequest miniStoreWishlistDelRequest,PartnerUserInfoVO userInfoVO);
MiniStoreWishlistDetailVO wishlistDetail(Long storeTypeId,String versionNo, PartnerUserInfoVO userInfoVO);
MiniStoreWishlistDetailVO wishlistDetail(Long storeTypeId,String versionNo, Long lineId);
List<MiniStoreWishlistListVO> wishlistList(PartnerUserInfoVO userInfoVO);
List<MiniStoreWishlistListVO> wishAllList(WishAllListRequest request);
PageInfo<MiniStoreWishlistListVO> wishAllList(WishAllListRequest request);
}

View File

@@ -60,6 +60,7 @@ import com.cool.store.vo.order.MiniStoreWishlistDetailVO;
import com.cool.store.vo.order.MiniStoreWishlistListVO;
import com.cool.store.vo.order.PCStoreOrderListVO;
import com.cool.store.vo.order.WalletPayVO;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import groovy.util.logging.Slf4j;
@@ -1358,21 +1359,28 @@ public class MiniStoreOrderServiceImpl implements MiniStoreOrderService {
}
@Override
public MiniStoreWishlistDetailVO wishlistDetail(Long storeTypeId,String versionNo, PartnerUserInfoVO userInfoVO) {
if (userInfoVO == null || userInfoVO.getLineId() == null) {
public MiniStoreWishlistDetailVO wishlistDetail(Long storeTypeId,String versionNo, Long lineId) {
if (lineId == null) {
throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR);
}
List<StoreWishlistDO> rows = storeWishlistDAO.listByLineIdAndStoreTypeAndVersion(userInfoVO.getLineId(), storeTypeId, versionNo);
List<StoreWishlistDO> rows = storeWishlistDAO.listByLineIdAndStoreTypeAndVersion(lineId, storeTypeId, versionNo);
if (CollectionUtils.isEmpty(rows)){
return null;
}
MiniStoreWishlistDetailVO vo = new MiniStoreWishlistDetailVO();
vo.setStoreTypeId(storeTypeId);
vo.setVersionNo(versionNo);
vo.setTotalAmount(rows.get(0).getTotalAmount());
StoreWishlistDO storeWishlistDO = rows.get(0);
if (storeWishlistDO!=null){
vo.setTotalAmount(storeWishlistDO.getTotalAmount());
vo.setCreateTime(storeWishlistDO.getCreateTime());
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(storeWishlistDO.getLineId());
if (lineInfo!=null){
vo.setPartnerMobile(lineInfo.getMobile());
vo.setPartnerName(lineInfo.getUsername());
}
}
StoreTypeDO storeTypeDO = storeTypeDAO.getById(storeTypeId);
MiniStoreWishlistDetailVO.FeeInfoVO feeInfo = new MiniStoreWishlistDetailVO.FeeInfoVO();
@@ -1486,11 +1494,24 @@ public class MiniStoreOrderServiceImpl implements MiniStoreOrderService {
}
@Override
public List<MiniStoreWishlistListVO> wishAllList(WishAllListRequest request) {
public PageInfo<MiniStoreWishlistListVO> wishAllList(WishAllListRequest request) {
PageHelper.startPage(request.getPageNum(),request.getPageSize());
List<String> distinctVersion = storeWishlistDAO.getDistinctVersion(request.getMobile());
List<String> distinctVersion = storeWishlistDAO.getDistinctVersion(request.getKeyword(),request.getStoreTypeId());
if (CollectionUtils.isEmpty(distinctVersion)){
return new PageInfo<>();
}
PageInfo result = new PageInfo<>(distinctVersion);
List<MiniStoreWishlistListVO> wishlist = storeWishlistDAO.listByVersionList(distinctVersion);
List<Long> lineIdList = wishlist.stream().map(MiniStoreWishlistListVO::getLineId).collect(Collectors.toList());
List<LineInfoDO> lineList = lineInfoDAO.getByLineIds(lineIdList);
Map<Long, LineInfoDO> map = lineList.stream().collect(Collectors.toMap(LineInfoDO::getId, data -> data));
for (MiniStoreWishlistListVO item : wishlist) {
LineInfoDO lineInfoDO = map.get(item.getLineId());
if (lineInfoDO!=null){
item.setPartnerMobile(lineInfoDO.getMobile());
item.setPartnerName(lineInfoDO.getUsername());
}
List<StoreWishlistDO> rows = storeWishlistDAO.listByLineIdAndStoreTypeAndVersion(item.getLineId(), item.getStoreTypeId(), item.getVersionNo());
if (CollectionUtils.isEmpty(rows)) {
item.setOptions(Collections.emptyList());
@@ -1519,7 +1540,8 @@ public class MiniStoreOrderServiceImpl implements MiniStoreOrderService {
}
item.setOptions(optionList);
}
return wishlist;
result.setList(wishlist);
return result;
}

View File

@@ -79,13 +79,15 @@ public class StoreOrderController {
@ApiOperation("心愿单详情")
@GetMapping("/wishlist/detail")
public ResponseResult<MiniStoreWishlistDetailVO> wishlistDetail(@RequestParam("storeTypeId") Long storeTypeId,
@RequestParam("lineId") Long lineId,
@RequestParam("versionNo") String versionNo) {
return ResponseResult.success(miniStoreOrderService.wishlistDetail(storeTypeId,versionNo, PartnerUserHolder.getUser()));
return ResponseResult.success(miniStoreOrderService.wishlistDetail(storeTypeId,versionNo, lineId));
}
@ApiOperation("PC心愿单列表")
@PostMapping("/wishlist/queryPage")
public ResponseResult<List<MiniStoreWishlistListVO>> wishAllList(@RequestBody @Valid WishAllListRequest request) {
public ResponseResult<PageInfo<MiniStoreWishlistListVO>> wishAllList(@RequestBody @Valid WishAllListRequest request) {
return ResponseResult.success(miniStoreOrderService.wishAllList( request));
}

View File

@@ -105,7 +105,7 @@ public class MiniStoreOrderController {
@GetMapping("/wishlist/detail")
public ResponseResult<MiniStoreWishlistDetailVO> wishlistDetail(@RequestParam("storeTypeId") Long storeTypeId,
@RequestParam("versionNo") String versionNo) {
return ResponseResult.success(miniStoreOrderService.wishlistDetail(storeTypeId,versionNo, PartnerUserHolder.getUser()));
return ResponseResult.success(miniStoreOrderService.wishlistDetail(storeTypeId,versionNo, PartnerUserHolder.getUser().getLineId()));
}
@ApiOperation("心愿单列表")