临时提交

This commit is contained in:
墨大叔 2024-07-30 11:39:55 +08:00
parent 76714ad044
commit fca590fbd3
8 changed files with 100 additions and 4 deletions

View File

@ -116,7 +116,14 @@ public interface IStoreService
/** /**
* ids查询列表 * ids查询列表
*/ */
List<StoreVo> selectSmStoreListByIds(List<Long> ids); default List<StoreVo> selectSmStoreListByIds(List<Long> ids) {
return selectSmStoreListByIds(ids, null);
}
/**
* ids查询列表
*/
List<StoreVo> selectSmStoreListByIds(List<Long> ids, Long userId);
/** /**
* 用户ID查询店铺列表 * 用户ID查询店铺列表

View File

@ -290,14 +290,16 @@ public class StoreServiceImpl implements IStoreService
* ids查询列表 * ids查询列表
* *
* @param ids * @param ids
* @param userId
*/ */
@Override @Override
public List<StoreVo> selectSmStoreListByIds(List<Long> ids) { public List<StoreVo> selectSmStoreListByIds(List<Long> ids, Long userId) {
if (CollectionUtils.isEmptyElement(ids)) { if (CollectionUtils.isEmptyElement(ids)) {
return Collections.emptyList(); return Collections.emptyList();
} }
StoreQuery query = new StoreQuery(); StoreQuery query = new StoreQuery();
query.setStoreIds(ids); query.setStoreIds(ids);
query.setUserId(userId);
return selectSmStoreList(query); return selectSmStoreList(query);
} }

View File

@ -89,6 +89,7 @@ public class TransactionBill extends BaseEntity implements Payable
@Excel(name = "手续费") @Excel(name = "手续费")
@ApiModelProperty("手续费") @ApiModelProperty("手续费")
@Min(value = 0, message = "手续费不允许小于0", groups = { ValidGroup.Withdraw.class}) @Min(value = 0, message = "手续费不允许小于0", groups = { ValidGroup.Withdraw.class})
@JsonView(JsonViewProfile.AppMch.class)
private BigDecimal serviceCharge; private BigDecimal serviceCharge;
@ApiModelProperty("订单状态1未支付2支付成功3已退款4已取消") @ApiModelProperty("订单状态1未支付2支付成功3已退款4已取消")
@ -96,6 +97,7 @@ public class TransactionBill extends BaseEntity implements Payable
private String status; private String status;
@ApiModelProperty("渠道id") @ApiModelProperty("渠道id")
@JsonView(JsonViewProfile.App.class)
private Long channelId; private Long channelId;
@ApiModelProperty("到账后余额") @ApiModelProperty("到账后余额")
@ -104,6 +106,7 @@ public class TransactionBill extends BaseEntity implements Payable
@ApiModelProperty("支付成功的时间") @ApiModelProperty("支付成功的时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonView(JsonViewProfile.App.class)
private Date payTime; private Date payTime;
@ApiModelProperty("支付过期时间") @ApiModelProperty("支付过期时间")
@ -111,10 +114,11 @@ public class TransactionBill extends BaseEntity implements Payable
private Date expireTime; private Date expireTime;
@ApiModelProperty("交易账号银行卡号、微信openId") @ApiModelProperty("交易账号银行卡号、微信openId")
@JsonView(JsonViewProfile.AppMch.class) @JsonView(JsonViewProfile.App.class)
private String accountNo; private String accountNo;
@ApiModelProperty("已支付/提现金额") @ApiModelProperty("已支付/提现金额")
@JsonView(JsonViewProfile.App.class)
private BigDecimal payedAmount; private BigDecimal payedAmount;
@ApiModelProperty("微信商家提现明细id列表") @ApiModelProperty("微信商家提现明细id列表")
@ -124,6 +128,7 @@ public class TransactionBill extends BaseEntity implements Payable
private BigDecimal channelCost; private BigDecimal channelCost;
@ApiModelProperty("设备充值状态0未充值1充值成功") @ApiModelProperty("设备充值状态0未充值1充值成功")
@JsonView(JsonViewProfile.App.class)
private String deviceRechargeStatus; private String deviceRechargeStatus;
@ApiModelProperty("套餐id") @ApiModelProperty("套餐id")
@ -139,7 +144,7 @@ public class TransactionBill extends BaseEntity implements Payable
@ApiModelProperty("套餐时长单位") @ApiModelProperty("套餐时长单位")
@NotBlank(message = "套餐时长单位不允许为空", groups = {ValidGroup.Recharge.class}) @NotBlank(message = "套餐时长单位不允许为空", groups = {ValidGroup.Recharge.class})
@DictValid(type = DictTypeConstants.TIME_UNIT, message = "非法的套餐时长单位", groups = {ValidGroup.Recharge.class}) @DictValid(type = DictTypeConstants.TIME_UNIT, message = "非法的套餐时长单位", groups = {ValidGroup.Recharge.class})
@JsonView(JsonViewProfile.AppUser.class) @JsonView(JsonViewProfile.App.class)
private String suitTimeUnit; private String suitTimeUnit;
@ApiModelProperty("套餐开始使用时间") @ApiModelProperty("套餐开始使用时间")
@ -179,18 +184,23 @@ public class TransactionBill extends BaseEntity implements Payable
private String deviceMac; private String deviceMac;
@ApiModelProperty("总计退款金额") @ApiModelProperty("总计退款金额")
@JsonView(JsonViewProfile.App.class)
private BigDecimal refundAmount; private BigDecimal refundAmount;
@ApiModelProperty("商户退款金额") @ApiModelProperty("商户退款金额")
@JsonView(JsonViewProfile.AppMch.class)
private BigDecimal refundMchAmount; private BigDecimal refundMchAmount;
@ApiModelProperty("服务费退款金额") @ApiModelProperty("服务费退款金额")
@JsonView(JsonViewProfile.AppMch.class)
private BigDecimal refundServiceAmount; private BigDecimal refundServiceAmount;
@ApiModelProperty("支付凭证") @ApiModelProperty("支付凭证")
@JsonView(JsonViewProfile.AppMch.class)
private String payPicture; private String payPicture;
@ApiModelProperty("提现方式") @ApiModelProperty("提现方式")
@JsonView(JsonViewProfile.AppMch.class)
private String withdrawType; private String withdrawType;
/** /**

View File

@ -28,6 +28,7 @@ public class TransactionBillVO extends TransactionBill {
private String channelName; private String channelName;
@ApiModelProperty("商户手机号") @ApiModelProperty("商户手机号")
@JsonView(JsonViewProfile.AppMch.class)
private String mchMobile; private String mchMobile;
@ApiModelProperty("设备编号") @ApiModelProperty("设备编号")

View File

@ -2,6 +2,7 @@ package com.ruoyi.ss.transactionBill.service;
import com.ruoyi.common.core.domain.ValidateResult; import com.ruoyi.common.core.domain.ValidateResult;
import com.ruoyi.ss.transactionBill.domain.bo.RechargeBO; import com.ruoyi.ss.transactionBill.domain.bo.RechargeBO;
import com.ruoyi.ss.transactionBill.domain.vo.TransactionBillVO;
/** /**
* 2024/4/22 * 2024/4/22
@ -30,4 +31,10 @@ public interface TransactionBillValidator {
*/ */
boolean canRechargeOnline(Long deviceId); boolean canRechargeOnline(Long deviceId);
/**
* 判断用户是否订单收款人
* @param bill 订单
* @param userId 用户ID
*/
boolean isMch(TransactionBillVO bill, Long userId);
} }

View File

@ -14,6 +14,7 @@ import com.ruoyi.ss.suit.domain.SuitVo;
import com.ruoyi.ss.suit.service.SuitService; import com.ruoyi.ss.suit.service.SuitService;
import com.ruoyi.ss.transactionBill.domain.TransactionBill; import com.ruoyi.ss.transactionBill.domain.TransactionBill;
import com.ruoyi.ss.transactionBill.domain.bo.RechargeBO; import com.ruoyi.ss.transactionBill.domain.bo.RechargeBO;
import com.ruoyi.ss.transactionBill.domain.vo.TransactionBillVO;
import com.ruoyi.ss.transactionBill.service.TransactionBillService; import com.ruoyi.ss.transactionBill.service.TransactionBillService;
import com.ruoyi.ss.transactionBill.service.TransactionBillValidator; import com.ruoyi.ss.transactionBill.service.TransactionBillValidator;
import com.ruoyi.ss.user.domain.SmUserVo; import com.ruoyi.ss.user.domain.SmUserVo;
@ -156,4 +157,9 @@ public class TransactionBillValidatorImpl extends BaseValidator implements Trans
// 4G和WIFI可以进行在线充值 // 4G和WIFI可以进行在线充值
return device.getModelTags().contains(ModelTag.FOUR_G.getTag()) || device.getModelTags().contains(ModelTag.WIFI.getTag()); return device.getModelTags().contains(ModelTag.FOUR_G.getTag()) || device.getModelTags().contains(ModelTag.WIFI.getTag());
} }
@Override
public boolean isMch(TransactionBillVO bill, Long userId) {
return bill != null && bill.getMchId() != null && bill.getMchId().equals(userId);
}
} }

View File

@ -0,0 +1,36 @@
package com.ruoyi.web.controller.mch;
import com.fasterxml.jackson.annotation.JsonView;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.JsonViewProfile;
import com.ruoyi.ss.store.domain.StoreVo;
import com.ruoyi.ss.store.service.IStoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
/**
* @author wjh
* 2024/7/30
*/
@RestController
@RequestMapping("/mch/store")
public class MchStoreController extends BaseController {
@Autowired
private IStoreService storeService;
@GetMapping("/listByIds/{ids}")
@JsonView(JsonViewProfile.AppMch.class)
public AjaxResult listByIds(@PathVariable List<Long> ids) {
List<StoreVo> list = storeService.selectSmStoreListByIds(ids, getUserId());
return success(list);
}
}

View File

@ -1,16 +1,25 @@
package com.ruoyi.web.controller.mch; package com.ruoyi.web.controller.mch;
import com.fasterxml.jackson.annotation.JsonView;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.JsonViewProfile;
import com.ruoyi.common.utils.ServiceUtil;
import com.ruoyi.ss.transactionBill.domain.TransactionBillQuery; import com.ruoyi.ss.transactionBill.domain.TransactionBillQuery;
import com.ruoyi.ss.transactionBill.domain.vo.TransactionBillVO;
import com.ruoyi.ss.transactionBill.service.TransactionAssembler;
import com.ruoyi.ss.transactionBill.service.TransactionBillService; import com.ruoyi.ss.transactionBill.service.TransactionBillService;
import com.ruoyi.ss.transactionBill.service.TransactionBillValidator;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.Collections;
/** /**
* @author wjh * @author wjh
* 2024/7/29 * 2024/7/29
@ -22,6 +31,12 @@ public class MchTransactionBillController extends BaseController {
@Autowired @Autowired
private TransactionBillService transactionBillService; private TransactionBillService transactionBillService;
@Autowired
private TransactionBillValidator transactionBillValidator;
@Autowired
private TransactionAssembler transactionAssembler;
@ApiOperation("商户查询统计信息") @ApiOperation("商户查询统计信息")
@GetMapping("/count") @GetMapping("/count")
public AjaxResult count(TransactionBillQuery query) public AjaxResult count(TransactionBillQuery query)
@ -30,5 +45,17 @@ public class MchTransactionBillController extends BaseController {
return success(transactionBillService.selectCount(query)); return success(transactionBillService.selectCount(query));
} }
@ApiOperation("收款人获取订单详情")
@GetMapping("/{billId}")
@JsonView(JsonViewProfile.AppMch.class)
public AjaxResult detail(@PathVariable Long billId) {
TransactionBillVO bill = transactionBillService.selectSmTransactionBillByBillId(billId);
if (bill == null || !transactionBillValidator.isMch(bill, getUserId())) {
return success();
}
transactionAssembler.assembleChannelName(Collections.singletonList(bill));
return AjaxResult.success(bill);
}
} }