From 5242e30a3f1ff79725ece12d5b84ba8c06b540f3 Mon Sep 17 00:00:00 2001 From: yyb <1416014977@qq.com> Date: Tue, 6 Jan 2026 13:56:23 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E4=BF=AE=E6=94=B9=E9=87=91=E9=A2=9D=E7=9B=B8=E5=85=B3?= =?UTF-8?q?sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/LeaseProductController.java | 4 +- .../LeaseProductMachineV2Controller.java | 7 +- .../dto/ProductMachineForWalletConfigVo.java | 2 +- .../dto/v2/MachineForWalletConfigDto.java | 74 +++++++++++++++++++ .../lease/mapper/LeaseMachineMapper.java | 7 ++ .../lease/service/LeaseMachineService.java | 9 +++ .../service/impl/LeaseMachineServiceImpl.java | 11 +++ .../service/impl/LeaseProductServiceImpl.java | 6 +- .../service/impl/LeaseShopServiceImpl.java | 2 + .../mapper/lease/LeaseMachineMapper.xml | 50 +++++++++++-- .../mapper/lease/LeaseShopConfigMapper.xml | 30 ++++++-- .../lease/LeaseUserWalletDataMapper.xml | 35 +++++++-- 12 files changed, 211 insertions(+), 26 deletions(-) create mode 100644 src/main/java/com/m2pool/lease/dto/v2/MachineForWalletConfigDto.java diff --git a/src/main/java/com/m2pool/lease/controller/LeaseProductController.java b/src/main/java/com/m2pool/lease/controller/LeaseProductController.java index fdb2316..304fcd4 100644 --- a/src/main/java/com/m2pool/lease/controller/LeaseProductController.java +++ b/src/main/java/com/m2pool/lease/controller/LeaseProductController.java @@ -111,15 +111,13 @@ public class LeaseProductController { } - //TODO 2025-11-21 查询店铺的矿机列表,不存在商品了 - @ApiOperation("获取店铺商品列表用于新增绑定店铺钱包") + @ApiOperation("获取店铺商品列表用于新增绑定店铺钱包-v1") @PostMapping("/getProductListForShopWalletConfig") public Result> getProductListForShopWalletConfig() { return leaseProductService.getProductListForShopWalletConfig(); } - //TODO 2025-11-21 修改这些矿机的价格,并且绑定新钱包 @ApiOperation("新增绑定店铺钱包并设置店铺下面每个矿机该钱包币种的售价 + 钱包绑定") @PostMapping("/updateProductListForShopWalletConfig") diff --git a/src/main/java/com/m2pool/lease/controller/LeaseProductMachineV2Controller.java b/src/main/java/com/m2pool/lease/controller/LeaseProductMachineV2Controller.java index 83408cd..f5201a3 100644 --- a/src/main/java/com/m2pool/lease/controller/LeaseProductMachineV2Controller.java +++ b/src/main/java/com/m2pool/lease/controller/LeaseProductMachineV2Controller.java @@ -3,6 +3,7 @@ package com.m2pool.lease.controller; import com.m2pool.lease.annotation.LoginRequired; import com.m2pool.lease.dto.*; +import com.m2pool.lease.dto.v2.MachineForWalletConfigDto; import com.m2pool.lease.dto.v2.MachineInfoDto; import com.m2pool.lease.dto.v2.SellerMachineInfoDto; import com.m2pool.lease.dto.v2.ShopInfoDto; @@ -104,7 +105,11 @@ public class LeaseProductMachineV2Controller { return leaseMachineService.getSupportAlgo(coin); } - + @ApiOperation("获取店铺商品列表用于新增绑定店铺钱包-v2") + @PostMapping("/getProductListForShopWalletConfig") + public Result> getProductListForShopWalletConfig() { + return leaseMachineService.getProductListForShopWalletConfig(); + } diff --git a/src/main/java/com/m2pool/lease/dto/ProductMachineForWalletConfigVo.java b/src/main/java/com/m2pool/lease/dto/ProductMachineForWalletConfigVo.java index 7ba3315..c071bee 100644 --- a/src/main/java/com/m2pool/lease/dto/ProductMachineForWalletConfigVo.java +++ b/src/main/java/com/m2pool/lease/dto/ProductMachineForWalletConfigVo.java @@ -43,7 +43,7 @@ public class ProductMachineForWalletConfigVo { public static class PriceVo{ @ApiModelProperty(value = "矿机ID") private Long productMachineId; - @ApiModelProperty(value = "单价,可以多个以逗号隔开") + @ApiModelProperty(value = "单价") private String price; } diff --git a/src/main/java/com/m2pool/lease/dto/v2/MachineForWalletConfigDto.java b/src/main/java/com/m2pool/lease/dto/v2/MachineForWalletConfigDto.java new file mode 100644 index 0000000..230075a --- /dev/null +++ b/src/main/java/com/m2pool/lease/dto/v2/MachineForWalletConfigDto.java @@ -0,0 +1,74 @@ +package com.m2pool.lease.dto.v2; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + *

+ * 商品对应实际商品返回对象 + *

+ * + * @author yyb + * @since 2025-07-23 + */ +@Builder +@Data +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(description = "钱包配置修改矿机支付方式返回对象",value = "MachineForWalletConfigDto" ) +public class MachineForWalletConfigDto { + + @ApiModelProperty(value = "矿机ID") + private Long productMachineId; + + @ApiModelProperty(value = "挖矿机器 对应的矿工账号") + private String user; + + @ApiModelProperty(value = "挖矿机器型号0 ASIC 1 GPU") + private String type; + + @ApiModelProperty(value = "挖矿机器编号") + private String miner; + + @ApiModelProperty(value = "上下架状态,0 上架,1 下架") + private Integer state; + + @ApiModelProperty(value = "售出状态 0未售出 1已售出 2售出中") + private Integer saleState; + + + + //@ApiModelProperty(value = "挖矿币种") + //private String coin; + // + //@ApiModelProperty(value = "算力单位") + //private String unit; + // + //@ApiModelProperty(value = "理论算力(卖方手动填写)") + //private BigDecimal theoryPower; + // + //@ApiModelProperty(value = "单机理论收入(每日) 单位币种") + //private BigDecimal theoryIncome; + // + //@ApiModelProperty(value = "单机理论收入(每日) 单位USDT") + //private BigDecimal theoryUsdtIncome; + // + //@ApiModelProperty(value = "功耗 单位kw/h",example = "10") + //private BigDecimal powerDissipation; + // + //@ApiModelProperty(value = "单价") + //private BigDecimal price; + // + //@ApiModelProperty(value = "支付链") + //private BigDecimal chain; + // + //@ApiModelProperty(value = "支付币种") + //private BigDecimal symbol; + +} diff --git a/src/main/java/com/m2pool/lease/mapper/LeaseMachineMapper.java b/src/main/java/com/m2pool/lease/mapper/LeaseMachineMapper.java index 569e927..3c2d38f 100644 --- a/src/main/java/com/m2pool/lease/mapper/LeaseMachineMapper.java +++ b/src/main/java/com/m2pool/lease/mapper/LeaseMachineMapper.java @@ -2,6 +2,7 @@ package com.m2pool.lease.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.m2pool.lease.dto.MachinePayTypeDto; +import com.m2pool.lease.dto.ProductMachineForWalletConfigDto; import com.m2pool.lease.dto.v2.*; import com.m2pool.lease.entity.LeaseMachine; import com.m2pool.lease.vo.v2.SellerMachineVo; @@ -162,4 +163,10 @@ public interface LeaseMachineMapper extends BaseMapper { */ int checkHasSaleMachineByShopId(@Param("shopId") Long shopId); + /** + * 获取店铺下可出售的矿机列表 + * @param shopId + * @return + */ + List getProductListForShopWalletConfig(@Param("shopId") Long shopId); } diff --git a/src/main/java/com/m2pool/lease/service/LeaseMachineService.java b/src/main/java/com/m2pool/lease/service/LeaseMachineService.java index cf5ab1b..b0596ea 100644 --- a/src/main/java/com/m2pool/lease/service/LeaseMachineService.java +++ b/src/main/java/com/m2pool/lease/service/LeaseMachineService.java @@ -2,7 +2,9 @@ package com.m2pool.lease.service; import com.baomidou.mybatisplus.extension.service.IService; import com.m2pool.lease.dto.PageResult; +import com.m2pool.lease.dto.ProductMachineForWalletConfigDto; import com.m2pool.lease.dto.Result; +import com.m2pool.lease.dto.v2.MachineForWalletConfigDto; import com.m2pool.lease.dto.v2.MachineInfoDto; import com.m2pool.lease.dto.v2.SellerMachineInfoDto; import com.m2pool.lease.dto.v2.ShopInfoDto; @@ -92,4 +94,11 @@ public interface LeaseMachineService extends IService { * @return */ Result> getSupportAlgo( String coin); + + + /** + * 获取店铺商品列表用于新增绑定店铺钱包 + * @return + */ + Result> getProductListForShopWalletConfig(); } diff --git a/src/main/java/com/m2pool/lease/service/impl/LeaseMachineServiceImpl.java b/src/main/java/com/m2pool/lease/service/impl/LeaseMachineServiceImpl.java index 92c812f..a46aa84 100644 --- a/src/main/java/com/m2pool/lease/service/impl/LeaseMachineServiceImpl.java +++ b/src/main/java/com/m2pool/lease/service/impl/LeaseMachineServiceImpl.java @@ -467,4 +467,15 @@ public class LeaseMachineServiceImpl extends ServiceImpl supportAlgo = leaseMachineMapper.getSupportAlgo(coin); return Result.success(supportAlgo); } + + @Override + public Result> getProductListForShopWalletConfig() { + LeaseShop leaseShop = leaseShopMapper.selectOne(new LambdaQueryWrapper() + .select(LeaseShop::getId) + .eq(LeaseShop::getUserEmail, SecurityUtils.getUsername()) + .eq(LeaseShop::getDel, false)); + List machineForWalletConfigDtoList = leaseMachineMapper.getProductListForShopWalletConfig(leaseShop.getId()); + + return Result.success(machineForWalletConfigDtoList); + } } diff --git a/src/main/java/com/m2pool/lease/service/impl/LeaseProductServiceImpl.java b/src/main/java/com/m2pool/lease/service/impl/LeaseProductServiceImpl.java index d3c65bd..d5d61c9 100644 --- a/src/main/java/com/m2pool/lease/service/impl/LeaseProductServiceImpl.java +++ b/src/main/java/com/m2pool/lease/service/impl/LeaseProductServiceImpl.java @@ -421,7 +421,7 @@ public class LeaseProductServiceImpl extends ServiceImpl> getSupportPayType() { - Long shopId = getShopIdByProductId(); + Long shopId = getShopIdByUsername(); List supportPayType = leaseProductMapper.getSupportPayType(shopId); return Result.success(supportPayType); } @@ -430,7 +430,7 @@ public class LeaseProductServiceImpl extends ServiceImpl> getProductListForShopWalletConfig() { - Long shopId = getShopIdByProductId(); + Long shopId = getShopIdByUsername(); //1.获取商品列表 List productForShopWalletConfigDtoList = leaseProductMapper.getProductListForShopWalletConfig(shopId); if (productForShopWalletConfigDtoList.isEmpty()){ @@ -455,7 +455,7 @@ public class LeaseProductServiceImpl extends ServiceImpl() .select(LeaseShop::getId) .eq(LeaseShop::getUserEmail, SecurityUtils.getUsername()) diff --git a/src/main/java/com/m2pool/lease/service/impl/LeaseShopServiceImpl.java b/src/main/java/com/m2pool/lease/service/impl/LeaseShopServiceImpl.java index d93eb25..bb7219e 100644 --- a/src/main/java/com/m2pool/lease/service/impl/LeaseShopServiceImpl.java +++ b/src/main/java/com/m2pool/lease/service/impl/LeaseShopServiceImpl.java @@ -491,6 +491,7 @@ public class LeaseShopServiceImpl extends ServiceImpl() .eq(LeaseOrderItem::getChain, config.getChain()) + .eq(LeaseOrderItem::getFromSymbol, config.getPayCoin()) .ne(LeaseOrderItem::getStatus, 0) ); if (l > 0){ @@ -505,6 +506,7 @@ public class LeaseShopServiceImpl extends ServiceImpl() .eq(LeaseMachinePrice::getChain, config.getChain()) + .eq(LeaseMachinePrice::getCoin, config.getPayCoin()) .in(LeaseMachinePrice::getMachineId,ids) ); } diff --git a/src/main/resources/mapper/lease/LeaseMachineMapper.xml b/src/main/resources/mapper/lease/LeaseMachineMapper.xml index 6804b01..337177a 100644 --- a/src/main/resources/mapper/lease/LeaseMachineMapper.xml +++ b/src/main/resources/mapper/lease/LeaseMachineMapper.xml @@ -447,14 +447,34 @@ - - UPDATE lease_machine - SET - sale_out_numbers = sale_out_numbers - #{item.saleOutNumbers}, - can_sale_numbers = can_sale_numbers + #{item.canSaleNumbers} - WHERE - id = #{item.id} - + UPDATE lease_machine + SET + sale_out_numbers = CASE + + WHEN id = #{item.id} + THEN sale_out_numbers - #{item.saleOutNumbers} + + ELSE sale_out_numbers + END, + can_sale_numbers = CASE + + WHEN id = #{item.id} + THEN can_sale_numbers + #{item.canSaleNumbers} + + ELSE can_sale_numbers + END, + sale_state = CASE + + WHEN id = #{item.id} + THEN false + + ELSE sale_state + END + WHERE id IN ( + + #{item.id} + + ) + diff --git a/src/main/resources/mapper/lease/LeaseShopConfigMapper.xml b/src/main/resources/mapper/lease/LeaseShopConfigMapper.xml index 3df827c..7ca8107 100644 --- a/src/main/resources/mapper/lease/LeaseShopConfigMapper.xml +++ b/src/main/resources/mapper/lease/LeaseShopConfigMapper.xml @@ -90,11 +90,31 @@ - - UPDATE lease_shop_config - SET balance = balance + #{item.realAmount} - WHERE pay_address = #{item.fromAddress} AND pay_coin = #{item.fromSymbol} AND chain = #{item.fromChain} AND del = false - + UPDATE lease_shop_config + SET balance = CASE + + WHEN pay_address = #{item.fromAddress} AND pay_coin = #{item.fromSymbol} AND chain = #{item.fromChain} AND del = false + THEN balance + #{item.realAmount} + + ELSE balance + END + WHERE pay_address IN ( + + #{item.fromAddress} + + ) + AND pay_coin IN ( + + #{item.fromSymbol} + + ) + AND chain IN ( + + #{item.fromChain} + + ) + AND del = false + diff --git a/src/main/resources/mapper/lease/LeaseUserWalletDataMapper.xml b/src/main/resources/mapper/lease/LeaseUserWalletDataMapper.xml index 1381ab9..e5d457a 100644 --- a/src/main/resources/mapper/lease/LeaseUserWalletDataMapper.xml +++ b/src/main/resources/mapper/lease/LeaseUserWalletDataMapper.xml @@ -108,12 +108,37 @@ - - UPDATE lease_user_wallet_data - SET balance = balance - #{item.realAmount}, - blocked_balance = blocked_balance - #{item.blockAmount} - WHERE from_address = #{item.fromAddress} AND from_symbol = #{item.fromSymbol} AND from_chain = #{item.fromChain} AND del = false + UPDATE lease_user_wallet_data + SET balance = CASE + + WHEN from_address = #{item.fromAddress} AND from_symbol = #{item.fromSymbol} AND from_chain = #{item.fromChain} AND del = false + THEN balance - #{item.realAmount} + ELSE balance + END, + blocked_balance = CASE + + WHEN from_address = #{item.fromAddress} AND from_symbol = #{item.fromSymbol} AND from_chain = #{item.fromChain} AND del = false + THEN blocked_balance - #{item.blockAmount} + + ELSE blocked_balance + END + WHERE from_address IN ( + + #{item.fromAddress} + + ) + AND from_symbol IN ( + + #{item.fromSymbol} + + ) + AND from_chain IN ( + + #{item.fromChain} + + ) + AND del = false