ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java
@@ -8,6 +8,7 @@ import com.ruoyi.system.query.TBillQuery; import com.ruoyi.system.service.TBillService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -34,6 +35,11 @@ return R.ok(pageInfo); } @PostMapping("add") public R<PageInfo<TBillDto>> add(@Validated @RequestBody TBill bill){ tBillService.save(bill); return R.ok(); } } ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java
@@ -4,14 +4,20 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.system.dto.MakeOrderDto; import com.ruoyi.system.dto.MakeOrderResp; import com.ruoyi.system.dto.OfflinePayDto; import com.ruoyi.system.model.TBill; import com.ruoyi.system.service.TBillService; import com.ruoyi.system.service.TPayOrderService; import io.swagger.annotations.ApiOperation; import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; 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 java.util.List; @RestController @RequestMapping("/t-pay") @@ -22,6 +28,8 @@ @Autowired TPayOrderService tPayOrderService; @Autowired TBillService tBillService; @ApiOperation(value = "创建支付订单") @PostMapping("makeOrder") public R<MakeOrderResp> makeOrder(@Validated @RequestBody MakeOrderDto dto){ @@ -30,6 +38,18 @@ } @PostMapping("offlinePay") public R offlinePay(@Validated @RequestBody OfflinePayDto dto){ List<TBill> tBills = tBillService.listByIds(dto.getBillIds()); for (TBill tBill : tBills) { TBill save = new TBill(); save.setId(tBill.getId()); save.setPayFeesType(2); save.setVoucher(dto.getVoucher()); save.setPayFeesStatus("2"); tBillService.checkAndUpdate(save); } return R.ok(); } } ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java
@@ -39,5 +39,7 @@ } } ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java
@@ -265,4 +265,8 @@ { return redisTemplate.keys(pattern); } } ruoyi-system/src/main/java/com/ruoyi/system/dto/OfflinePayDto.java
New file @@ -0,0 +1,36 @@ package com.ruoyi.system.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.List; @Data public class OfflinePayDto implements Serializable { /** * 用户ID */ @ApiModelProperty(value = "用户ID") private String userId; @ApiModelProperty(value = "支付金额,单位:分") @NotNull(message = "金额不能为空") private Long amount; /** * 账单列表 */ @ApiModelProperty(value = "账单列表") @NotEmpty(message = "账单ID不能为空") private List<String> billIds; /** * 凭证文件ID */ @ApiModelProperty(value = "凭证文件ID") @NotEmpty(message = "凭证文件不能为空") private String voucher; } ruoyi-system/src/main/java/com/ruoyi/system/dto/TBillDto.java
@@ -16,4 +16,5 @@ private String houseName; } ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java
@@ -18,4 +18,5 @@ PageInfo<TBillDto> queryPage(TBillQuery query); Boolean checkAndUpdate(TBill save); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java
@@ -4,6 +4,8 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.dto.TBillDto; import com.ruoyi.system.mapper.TBillMapper; import com.ruoyi.system.model.TBill; @@ -35,6 +37,7 @@ @Autowired TBillMapper tBillMapper; public PageInfo<TBillDto> queryPage(TBillQuery query){ PageInfo<TBill> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); PageInfo<TBillDto> info = tBillMapper.page(pageInfo, query); @@ -42,13 +45,16 @@ } /** * 传的金额 * @param tBill * @return */ public Boolean checkAndUpdateBill(TBill tBill){ public Boolean checkAndUpdate(TBill tBill){ if (StringUtils.isEmpty(tBill.getId())){ throw new ServiceException("账单主键ID不能为空"); } return true; } ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml
@@ -42,10 +42,11 @@ h.house_name as houseName FROM t_bill b LEFT JOIN t_contract c ON c.contract_number = b.contract_number LEFT JOIN t_house h ON h.id = c.house_id LEFT JOIN t_tenant t ON t.id = c.tenant_id LEFT JOIN t_contract c ON c.contract_number = b.contract_number and c.disabled=0 LEFT JOIN t_house h ON h.id = c.house_id and h.disabled=0 LEFT JOIN t_tenant t ON t.id = c.tenant_id and t.disabled=0 <where> b.disabled=0 <if test="query.payFeesStatus != null"> and b.pay_fees_status = #{query.payFeesStatus} </if>