Browse Source

feat(shop): 添加默认银行卡功能并优化排序

- 在 ShopDealerBank 模型中添加 isDefault 字段,用于标记默认银行卡- 在 ShopDealerBankMapper.xml 中添加查询默认银行卡的条件
- 在 ShopDealerBankParam 中添加 isDefault 参数,用于查询时筛选默认银行卡
- 修改 ShopDealerBankServiceImpl 中的分页和列表查询方法,按默认银行卡和创建时间排序
- 新增 getDefaultBank 方法,用于获取用户的默认银行卡
pan
科技小王子 3 weeks ago
parent
commit
0d8d79d5c4
  1. 3
      src/main/java/com/gxwebsoft/shop/entity/ShopDealerBank.java
  2. 3
      src/main/java/com/gxwebsoft/shop/mapper/xml/ShopDealerBankMapper.xml
  3. 4
      src/main/java/com/gxwebsoft/shop/param/ShopDealerBankParam.java
  4. 6
      src/main/java/com/gxwebsoft/shop/service/ShopDealerBankService.java
  5. 15
      src/main/java/com/gxwebsoft/shop/service/impl/ShopDealerBankServiceImpl.java

3
src/main/java/com/gxwebsoft/shop/entity/ShopDealerBank.java

@ -44,6 +44,9 @@ public class ShopDealerBank implements Serializable {
@Schema(description = "驳回原因")
private String rejectReason;
@Schema(description = "默认收货地址")
private Boolean isDefault;
@Schema(description = "租户id")
private Integer tenantId;

3
src/main/java/com/gxwebsoft/shop/mapper/xml/ShopDealerBankMapper.xml

@ -13,6 +13,9 @@
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.isDefault != null">
AND a.is_default = #{param.isDefault}
</if>
<if test="param.bankName != null">
AND a.bank_name LIKE CONCAT('%', #{param.bankName}, '%')
</if>

4
src/main/java/com/gxwebsoft/shop/param/ShopDealerBankParam.java

@ -51,4 +51,8 @@ public class ShopDealerBankParam extends BaseParam {
@Schema(description = "驳回原因")
private String rejectReason;
@Schema(description = "默认收货地址")
@QueryField(type = QueryType.EQ)
private Boolean isDefault;
}

6
src/main/java/com/gxwebsoft/shop/service/ShopDealerBankService.java

@ -39,4 +39,10 @@ public interface ShopDealerBankService extends IService<ShopDealerBank> {
*/
ShopDealerBank getByIdRel(Integer id);
/**
* 获取默认银行卡
* @return List<ShopDealerBank>
*/
ShopDealerBank getDefaultBank(Integer userId);
}

15
src/main/java/com/gxwebsoft/shop/service/impl/ShopDealerBankServiceImpl.java

@ -1,5 +1,6 @@
package com.gxwebsoft.shop.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.PageResult;
@ -23,7 +24,7 @@ public class ShopDealerBankServiceImpl extends ServiceImpl<ShopDealerBankMapper,
@Override
public PageResult<ShopDealerBank> pageRel(ShopDealerBankParam param) {
PageParam<ShopDealerBank, ShopDealerBankParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
page.setDefaultOrder("is_default desc, create_time desc");
List<ShopDealerBank> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal());
}
@ -33,7 +34,7 @@ public class ShopDealerBankServiceImpl extends ServiceImpl<ShopDealerBankMapper,
List<ShopDealerBank> list = baseMapper.selectListRel(param);
// 排序
PageParam<ShopDealerBank, ShopDealerBankParam> page = new PageParam<>();
page.setDefaultOrder("create_time desc");
page.setDefaultOrder("is_default desc, create_time desc");
return page.sortRecords(list);
}
@ -44,4 +45,14 @@ public class ShopDealerBankServiceImpl extends ServiceImpl<ShopDealerBankMapper,
return param.getOne(baseMapper.selectListRel(param));
}
@Override
public ShopDealerBank getDefaultBank(Integer userId) {
LambdaQueryWrapper<ShopDealerBank> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ShopDealerBank::getUserId, userId)
.eq(ShopDealerBank::getIsDefault, true)
.orderByDesc(ShopDealerBank::getCreateTime)
.last("LIMIT 1");
return getOne(wrapper);
}
}

Loading…
Cancel
Save