From 1a4e7bbab3d15b36ebb4d7329ee31de62f092eb6 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期三, 28 五月 2025 16:40:06 +0800 Subject: [PATCH] 小程序接口 --- ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/UserAccountController.java | 11 ruoyi-system/src/main/java/com/ruoyi/system/model/TbBuyerCompanyInfo.java | 119 +++++++++ ruoyi-system/src/main/java/com/ruoyi/system/model/TbShareholder.java | 61 +++++ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbShareholderServiceImpl.java | 20 + ruoyi-system/src/main/resources/mapper/system/TbShareholderMapper.xml | 15 + ruoyi-system/src/main/java/com/ruoyi/system/model/TbOrder.java | 3 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBuyerCompanyInfoServiceImpl.java | 21 + ruoyi-system/src/main/resources/mapper/system/TbBuyerCompanyInfoMapper.xml | 28 ++ ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbShareholderMapper.java | 17 + ruoyi-system/src/main/java/com/ruoyi/system/model/TbAccountDetail.java | 4 ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/CompanyController.java | 13 + ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrderServiceImpl.java | 132 ++++++++--- ruoyi-system/src/main/java/com/ruoyi/system/model/TbMessage.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/dto/AddBuyerCompanyInfoDto.java | 105 ++++++++ ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbBuyerCompanyInfoMapper.java | 17 + ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/OrderController.java | 73 +++++ ruoyi-system/src/main/java/com/ruoyi/system/service/TbMessageService.java | 8 ruoyi-system/src/main/java/com/ruoyi/system/service/TbShareholderService.java | 17 + ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbMessageServiceImpl.java | 8 ruoyi-system/src/main/java/com/ruoyi/system/service/TbOrderService.java | 4 20 files changed, 635 insertions(+), 43 deletions(-) diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/CompanyController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/CompanyController.java index 6b9d862..7ba76ef 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/CompanyController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/CompanyController.java @@ -47,6 +47,9 @@ @Autowired private TbScheduleService scheduleService; + @Autowired + private TbMessageService messageService; + @ApiOperation(value = "获取我发布的公司",tags = {"发布模块"}) @@ -160,6 +163,12 @@ } order.setStatus(3); order.updateById(); + + company.setStatus(1); + company.updateById(); + + + messageService.addMessage("您有订单被取消", order.getUserId(),order.getId()); return R.ok(); } @@ -177,6 +186,8 @@ return R.fail("非法操作"); } scheduleService.addSchedule(dto,userId); + + messageService.addMessage("您有订单卖家已完成,等待确认", order.getUserId(),order.getId()); return R.ok(); } @@ -205,6 +216,8 @@ } order.setStatus(5); order.updateById(); + + messageService.addMessage("您有订单卖家已完成,等待确认", order.getUserId(),orderId); return R.ok(); } diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/OrderController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/OrderController.java index 5f2aadb..66ea1b1 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/OrderController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/OrderController.java @@ -11,6 +11,7 @@ import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.dto.AddBuyerCompanyInfoDto; import com.ruoyi.system.dto.AddScheduleDto; import com.ruoyi.system.dto.EditScheduleDto; import com.ruoyi.system.model.*; @@ -47,6 +48,15 @@ @Autowired private TbScheduleService scheduleService; + @Autowired + private TbBuyerCompanyInfoService buyerCompanyInfoService; + + @Autowired + private TbMessageService messageService; + + @Autowired + private TbAccountDetailService accountDetailService; + @@ -58,6 +68,45 @@ Page<MyPushCompanyListVo> page = orderService.getMyOrderList(query,userId); return R.ok(page); } + + + /** + * 填写了 如果金额变动要修改订单金额 + * @param + * @return + */ + @ApiOperation(value = "立即支付前填写信息",tags = {"订单模块"}) + @PostMapping("/lastPayOrderData") + public R<?> lastPayOrderData(@RequestBody @Valid AddBuyerCompanyInfoDto dto) { + LoginUser loginUser = tokenService.getLoginUser(); + Long userId = loginUser.getUserId(); + TbOrder tbOrder = orderService.getById(dto.getOrderId()); + + if(dto.getNeedRename()==1){ + if(StringUtils.isEmpty(dto.getBackupsName())){ + return R.fail("请填写备选名称"); + } + } + + if(!tbOrder.getUserId().equals(userId.toString())){ + return R.fail("非法操作"); + } + if(tbOrder.getStatus()!=3){ + return R.fail("订单状态错误"); + } + TbCompany company = companyService.getById(tbOrder.getCompanyId()); + // 判断是否在支付前下架了 或者删除了 + if(company==null || company.getStatus()!=1 || company.getIsDelete()==1){ + return R.fail("该公司已下架或者删除"); + } + long count = buyerCompanyInfoService.count(new LambdaQueryWrapper<TbBuyerCompanyInfo>().eq(TbBuyerCompanyInfo::getOrderId, dto.getOrderId())); + if(count>0){ + return R.fail("请勿重复填写"); + } + orderService.lastPayOrderData(tbOrder,dto,userId,company); + return R.ok(); + } + @ApiOperation(value = "立即支付",tags = {"订单模块"}) @@ -77,7 +126,10 @@ if(company==null || company.getStatus()!=1 || company.getIsDelete()==1){ return R.fail("该公司已下架或者删除"); } - + long count = buyerCompanyInfoService.count(new LambdaQueryWrapper<TbBuyerCompanyInfo>().eq(TbBuyerCompanyInfo::getOrderId,orderId)); + if(count==0){ + return R.fail("请先填写信息"); + } WxPayMpOrderResult result = orderService.payOrder(tbOrder,userId); return R.ok(result); } @@ -97,8 +149,8 @@ if(company.getStatus()!=1){ return R.fail("公司未上架"); } - long count = orderService.count(new LambdaQueryWrapper<TbOrder>().eq(TbOrder::getCompanyId, companyId).ne(TbOrder::getStatus, -1)); - if (count > 0) { +// long count = orderService.count(new LambdaQueryWrapper<TbOrder>().eq(TbOrder::getCompanyId, companyId).ne(TbOrder::getStatus, -1)); + if (company.getStatus()==4) { return R.fail("改公司已被预定"); } orderService.placeOrder(companyId,company,userId); @@ -134,6 +186,13 @@ orderService.commission(order,company.getUserId()); + // 卖家账户明细记录更新 + TbAccountDetail one = accountDetailService.getOne(new LambdaQueryWrapper<TbAccountDetail>().eq(TbAccountDetail::getOrderId, orderId).eq(TbAccountDetail::getCategory, 2)); + if (one != null) { + one.setStatus(2); + one.updateById(); + } + company.updateById(); return R.ok(); @@ -156,6 +215,9 @@ return R.fail("该订单状态不能回复"); } scheduleService.buyerAddSchedule(dto,userId); + String userId1 = companyService.getById(order.getCompanyId()).getUserId(); + + messageService.addMessage("您的订单有新的回复", userId1,order.getId()); return R.ok(); } @@ -179,8 +241,13 @@ if(order.getStatus()!=3){ return R.fail("该订单状态不能取消"); } + TbCompany company = companyService.getById(order.getCompanyId()); + company.setStatus(1); + company.updateById(); order.setStatus(-1); order.updateById(); + + messageService.addMessage("您发布的订单买家已取消", company.getUserId(),order.getId()); return R.ok(); } diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/UserAccountController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/UserAccountController.java index fde4c58..80e2b19 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/UserAccountController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/UserAccountController.java @@ -49,7 +49,6 @@ - // TODO 需要订单来查看其他金额 @ApiOperation(value = "获取用户钱包信息",tags = {"用户钱包模块"}) @GetMapping("/getUserAccount") public R<UserAccountVo> getUserAccount() { @@ -58,8 +57,15 @@ TbUser user = userService.getById(loginUser.getUserId()); userAccountVo.setBalance(user.getBalance()); + List<TbAccountDetail> list = accountDetailService.list(new LambdaQueryWrapper<TbAccountDetail>().eq(TbAccountDetail::getCategory, 1).eq(TbAccountDetail::getUserId, user.getId())); + BigDecimal reduce = list.stream().filter(e->e.getStatus()==2).map(TbAccountDetail::getMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + userAccountVo.setWithdrawalBalance(reduce); - + BigDecimal reduce1 = list.stream().filter(e->e.getStatus()==1).map(TbAccountDetail::getMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + userAccountVo.setAuditBalance(reduce1); + List<TbAccountDetail> list1 = accountDetailService.list(new LambdaQueryWrapper<TbAccountDetail>().eq(TbAccountDetail::getCategory, 2).eq(TbAccountDetail::getStatus, 1).eq(TbAccountDetail::getUserId, user.getId())); + BigDecimal reduce2 = list1.stream().map(TbAccountDetail::getMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + userAccountVo.setEntryBalance(reduce2); return R.ok(userAccountVo); } @@ -118,6 +124,7 @@ accountDetail.setCategory(1); accountDetail.setStatus(1); accountDetail.setMoney(new BigDecimal(dto.getAmount())); + accountDetail.setSourceId(withdrawal.getId()); accountDetailService.save(accountDetail); return R.ok(); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/AddBuyerCompanyInfoDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/AddBuyerCompanyInfoDto.java new file mode 100644 index 0000000..7b3220c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/AddBuyerCompanyInfoDto.java @@ -0,0 +1,105 @@ +package com.ruoyi.system.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.ruoyi.system.model.TbShareholder; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("支付前填写信息Dto") +public class AddBuyerCompanyInfoDto { + @ApiModelProperty("订单id") + @NotBlank(message = "订单id不能为空") + private String orderId; + + @TableField("legal_person_img") + @ApiModelProperty("法人照片") + @NotBlank(message = "法人照片不能为空") + private String legalPersonImg; + + + @ApiModelProperty("改名0不需要 1需要") + @NotNull(message = "改名0不需要 1需要不能为空") + private Integer needRename; + + @ApiModelProperty("新名称") + private String newName; + /** + * 备选名称 + */ + @ApiModelProperty("备选名称") + private String backupsName; + /** + * 备选名称1 + */ + @ApiModelProperty("备选名称1") + private String backupsNameOne; + /** + * 备选名称2 + */ + @ApiModelProperty("备选名称2") + private String backupsNameTwo; + /** + * 注册资本 + */ + @ApiModelProperty("注册资本") + @NotBlank(message = "注册资本不能为空") + private String registeredCapital; + /** + * 1无账户 2变更 3新法人注销 4老法人注销 + */ + @ApiModelProperty("1无账户 2变更 3新法人注销 4老法人注销") + @NotNull(message = "银行账户处理不能为空") + private Integer accountType; + /** + * 地址 + */ + @ApiModelProperty("地址") + @NotBlank(message = "地址不能为空") + private String address; + /** + * 是否迁区0不需要 1要 + */ + @ApiModelProperty("是否迁区0不需要 1要") + @NotNull(message = "是否迁区不能为空") + private Integer newDistrict; + /** + * 租房合同 + */ + @ApiModelProperty("租房合同") + @NotBlank(message = "租房合同不能为空") + private String tenancyAgreement; + /** + * 房产证 + */ + @ApiModelProperty("房产证") + @NotBlank(message = "房产证不能为空") + private String propertyOwnershipCertificate; + /** + * 实名认证账户 + */ + @ApiModelProperty("实名认证账户") + private String account; + /** + * 实名认证密码 + */ + @ApiModelProperty("实名认证密码") + private String password; + /** + * 经营范围 + */ + @ApiModelProperty("经营范围") + @NotBlank(message = "经营范围不能为空") + private String businessScope; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("股东信息") + private List<TbShareholder> shareholders; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbBuyerCompanyInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbBuyerCompanyInfoMapper.java new file mode 100644 index 0000000..03c1a84 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbBuyerCompanyInfoMapper.java @@ -0,0 +1,17 @@ +package com.ruoyi.system.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.model.TbBuyerCompanyInfo; + +/** + * <p> + * 用户支付前填写信息 Mapper 接口 + * </p> + * + * @author administrator + * @since 2025-05-28 + */ +public interface TbBuyerCompanyInfoMapper extends BaseMapper<TbBuyerCompanyInfo> { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbShareholderMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbShareholderMapper.java new file mode 100644 index 0000000..0e53f71 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbShareholderMapper.java @@ -0,0 +1,17 @@ +package com.ruoyi.system.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.model.TbShareholder; + +/** + * <p> + * 股东表 Mapper 接口 + * </p> + * + * @author administrator + * @since 2025-05-28 + */ +public interface TbShareholderMapper extends BaseMapper<TbShareholder> { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TbAccountDetail.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TbAccountDetail.java index 50465d6..227f798 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TbAccountDetail.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TbAccountDetail.java @@ -45,12 +45,12 @@ /** * 1提现 2售卖商品 3平台退款 4分佣 */ - @ApiModelProperty("1提现 2售卖商品 3平台退款 4分佣") + @ApiModelProperty("1提现 2售卖商品 3平台退款 4分佣 5购买商品") private Integer category; /** * 1待审核 2通过(完成) 3拒绝 (取消) */ - @ApiModelProperty("1待审核 2通过(完成) 3拒绝 (取消)") + @ApiModelProperty("1待审核(办理中) 2通过(完成 ) 3拒绝(取消)") private Integer status; @ApiModelProperty("金额") private BigDecimal money; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TbBuyerCompanyInfo.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TbBuyerCompanyInfo.java new file mode 100644 index 0000000..5e545b8 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TbBuyerCompanyInfo.java @@ -0,0 +1,119 @@ +package com.ruoyi.system.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * <p> + * 用户支付前填写信息 + * </p> + * + * @author administrator + * @since 2025-05-28 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("tb_buyer_company_info") +public class TbBuyerCompanyInfo extends Model<TbBuyerCompanyInfo> { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.ASSIGN_ID) + private String id; + /** + * 订单id + */ + @TableField("order_id") + private String orderId; + /** + * 法人照片 + */ + @TableField("legal_person_img") + private String legalPersonImg; + /** + * 改名0不需要 1需要 + */ + @TableField("need_rename") + private Integer needRename; + /** + * 新名称 + */ + @TableField("new_name") + private String newName; + /** + * 备选名称 + */ + @TableField("backups_name") + private String backupsName; + /** + * 备选名称1 + */ + @TableField("backups_name_one") + private String backupsNameOne; + /** + * 备选名称2 + */ + @TableField("backups_name_two") + private String backupsNameTwo; + /** + * 注册资本 + */ + @TableField("registered_capital") + private String registeredCapital; + /** + * 1无账户 2变更 3新法人注销 4老法人注销 + */ + @TableField("account_type") + private Integer accountType; + /** + * 地址 + */ + private String address; + /** + * 是否迁区0不需要 1要 + */ + @TableField("new_district") + private Integer newDistrict; + /** + * 租房合同 + */ + @TableField("tenancy_agreement") + private String tenancyAgreement; + /** + * 房产证 + */ + @TableField("property_ownership_certificate") + private String propertyOwnershipCertificate; + /** + * 实名认证账户 + */ + private String account; + /** + * 实名认证密码 + */ + private String password; + /** + * 经营范围 + */ + @TableField("business_scope") + private String businessScope; + private String remark; + @TableField("create_time") + private Date createTime; + @TableField("add_day") + private Integer addDay; + + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TbMessage.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TbMessage.java index 5c8e7d1..559d166 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TbMessage.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TbMessage.java @@ -48,6 +48,8 @@ @TableField("create_time") @ApiModelProperty("时间") private Date createTime; + @TableField("order_id") + private String orderId; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TbOrder.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TbOrder.java index 8839f8e..119aca2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TbOrder.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TbOrder.java @@ -80,6 +80,9 @@ @TableField("commission_platform") private BigDecimal commissionPlatform; + @TableField("out_trade_no") + private String outTradeNo; + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TbShareholder.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TbShareholder.java new file mode 100644 index 0000000..6fc26a5 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TbShareholder.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * <p> + * 股东表 + * </p> + * + * @author administrator + * @since 2025-05-28 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("tb_shareholder") +public class TbShareholder extends Model<TbShareholder> { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.ASSIGN_ID) + private String id; + /** + * 订单id + */ + @TableField("order_id") + @ApiModelProperty("订单id") + private String orderId; + /** + * 名称 + */ + @ApiModelProperty("名称") + private String name; + /** + * 占比 + */ + @ApiModelProperty("占比") + private String rate; + /** + * 身份证 + */ + @ApiModelProperty("身份证") + private String img; + @TableField("create_time") + private Date createTime; + + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TbMessageService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TbMessageService.java index d836fa2..a698ef0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TbMessageService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TbMessageService.java @@ -14,4 +14,12 @@ */ public interface TbMessageService extends IService<TbMessage> { + /** + * 添加消息 + * @param text 内容 + * @param userId 用户id + */ + void addMessage(String text, String userId,String orderId); + + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TbOrderService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TbOrderService.java index 4011e5e..8049619 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TbOrderService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TbOrderService.java @@ -5,10 +5,13 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult; import com.github.binarywang.wxpay.exception.WxPayException; +import com.ruoyi.system.dto.AddBuyerCompanyInfoDto; import com.ruoyi.system.model.TbCompany; import com.ruoyi.system.model.TbOrder; import com.ruoyi.system.query.MyOrderListQuery; import com.ruoyi.system.vo.MyPushCompanyListVo; + +import javax.validation.Valid; /** * <p> @@ -34,5 +37,6 @@ void commission(TbOrder order,String userId); + void lastPayOrderData(TbOrder tbOrder, AddBuyerCompanyInfoDto dto, Long userId,TbCompany company); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TbShareholderService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TbShareholderService.java new file mode 100644 index 0000000..958cb55 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TbShareholderService.java @@ -0,0 +1,17 @@ +package com.ruoyi.system.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.model.TbShareholder; + +/** + * <p> + * 股东表 服务类 + * </p> + * + * @author administrator + * @since 2025-05-28 + */ +public interface TbShareholderService extends IService<TbShareholder> { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBuyerCompanyInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBuyerCompanyInfoServiceImpl.java new file mode 100644 index 0000000..4525020 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBuyerCompanyInfoServiceImpl.java @@ -0,0 +1,21 @@ +package com.ruoyi.system.service.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.mapper.TbBuyerCompanyInfoMapper; +import com.ruoyi.system.model.TbBuyerCompanyInfo; +import com.ruoyi.system.service.TbBuyerCompanyInfoService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 用户支付前填写信息 服务实现类 + * </p> + * + * @author administrator + * @since 2025-05-28 + */ +@Service +public class TbBuyerCompanyInfoServiceImpl extends ServiceImpl<TbBuyerCompanyInfoMapper, TbBuyerCompanyInfo> implements TbBuyerCompanyInfoService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbMessageServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbMessageServiceImpl.java index c09db16..054aa11 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbMessageServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbMessageServiceImpl.java @@ -18,4 +18,12 @@ @Service public class TbMessageServiceImpl extends ServiceImpl<TbMessageMapper, TbMessage> implements TbMessageService { + @Override + public void addMessage(String text, String userId,String orderId) { + TbMessage tbMessage = new TbMessage(); + tbMessage.setMessage(text); + tbMessage.setUserId(userId); + tbMessage.setOrderId(orderId); + this.save(tbMessage); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrderServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrderServiceImpl.java index bc54bd5..ddde253 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrderServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrderServiceImpl.java @@ -12,16 +12,16 @@ import com.github.binarywang.wxpay.service.WxPayService; import com.ruoyi.common.utils.OrderUtil; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.dto.AddBuyerCompanyInfoDto; import com.ruoyi.system.mapper.TbOrderMapper; import com.ruoyi.system.model.*; import com.ruoyi.system.query.MyOrderListQuery; -import com.ruoyi.system.service.TbOrderService; -import com.ruoyi.system.service.TbSystemConfigService; -import com.ruoyi.system.service.TbUserService; +import com.ruoyi.system.service.*; import com.ruoyi.system.utils.wx.WxProperties; import com.ruoyi.system.vo.MyPushCompanyListVo; import lombok.extern.slf4j.Slf4j; import org.checkerframework.checker.units.qual.A; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.annotation.OrderUtils; import org.springframework.stereotype.Service; @@ -35,6 +35,7 @@ import java.net.InetAddress; import java.net.MalformedURLException; import java.util.Date; +import java.util.List; import java.util.Objects; import java.util.Optional; @@ -64,6 +65,12 @@ @Autowired private TbUserService userService; + @Autowired + private TbCompanyService companyService; + + @Autowired + private TbMessageService messageService; + @Override public Page<MyPushCompanyListVo> getMyOrderList(MyOrderListQuery query, Long userId) { @@ -86,40 +93,10 @@ tbOrder.setOrderNo( OrderUtil.getOrderNoForPrefix("ZSX")); tbOrder.setStatus(2); tbOrder.setPrice(company.getSaleMoney()); - - // 生成记录 看是否分佣 金额 - TbUser user = userService.getById(company.getUserId()); - TbSystemConfig config = configService.getOne(new LambdaQueryWrapper<TbSystemConfig>().eq(TbSystemConfig::getType, 3)); - - if(config!=null){ - JSONObject jsonObject = JSONObject.parseObject(config.getContent()); - BigDecimal platformCommission = new BigDecimal(jsonObject.get("platform").toString()); - BigDecimal userCommission = new BigDecimal(jsonObject.get("user").toString()); - BigDecimal price = tbOrder.getPrice(); - BigDecimal divide = platformCommission.divide(new BigDecimal("100")); - BigDecimal platformCommissionMoney = divide.multiply(price).setScale(2, RoundingMode.HALF_UP); - if(StringUtils.isNotEmpty(user.getInviteId()) && user.getInviteNum()>0){ - BigDecimal divide1 = userCommission.divide(new BigDecimal("100")); - BigDecimal userCommissionMoney = divide1.multiply(price).setScale(2, RoundingMode.HALF_UP); - tbOrder.setCommissionPrice(userCommissionMoney); - } - tbOrder.setShare_user_id(user.getInviteId()); - tbOrder.setCommissionPlatform(platformCommissionMoney); - } tbOrder.insert(); - - // 生成记录 - TbAccountDetail tbAccountDetail = new TbAccountDetail(); - tbAccountDetail.setUserId(company.getUserId()); - tbAccountDetail.setType(1); - tbAccountDetail.setCategory(2); - tbAccountDetail.setStatus(1); - BigDecimal subtract = tbOrder.getPrice().subtract(tbOrder.getCommissionPrice()).subtract(tbOrder.getCommissionPlatform()); - tbAccountDetail.setMoney(subtract); - tbAccountDetail.setOrderId(tbOrder.getId()); - tbAccountDetail.insert(); - + company.setStatus(4); + company.updateById(); } @Override @@ -133,8 +110,55 @@ if (order!=null) { order.setStatus(4); order.setPayTime(new Date()); + order.setOutTradeNo(notifyResult.getTransactionId()); + TbCompany company = companyService.getById(order.getCompanyId()); + // 生成记录 看是否分佣 金额 + TbUser user = userService.getById(company.getUserId()); + TbSystemConfig config = configService.getOne(new LambdaQueryWrapper<TbSystemConfig>().eq(TbSystemConfig::getType, 3)); + if(config!=null){ + JSONObject jsonObject = JSONObject.parseObject(config.getContent()); + BigDecimal platformCommission = new BigDecimal(jsonObject.get("platform").toString()); + BigDecimal userCommission = new BigDecimal(jsonObject.get("user").toString()); + BigDecimal price = order.getPrice(); + BigDecimal divide = platformCommission.divide(new BigDecimal("100")); + BigDecimal platformCommissionMoney = divide.multiply(price).setScale(2, RoundingMode.HALF_UP); + if(StringUtils.isNotEmpty(user.getInviteId()) && user.getInviteNum()>0){ + BigDecimal divide1 = userCommission.divide(new BigDecimal("100")); + BigDecimal userCommissionMoney = divide1.multiply(price).setScale(2, RoundingMode.HALF_UP); + order.setCommissionPrice(userCommissionMoney); + } + order.setShare_user_id(user.getInviteId()); + order.setCommissionPlatform(platformCommissionMoney); + } order.updateById(); + + // 生成记录 + TbAccountDetail tbAccountDetail = new TbAccountDetail(); + tbAccountDetail.setUserId(company.getUserId()); + tbAccountDetail.setType(1); + tbAccountDetail.setCategory(2); + tbAccountDetail.setStatus(1); + BigDecimal subtract = order.getPrice().subtract(order.getCommissionPrice()).subtract(order.getCommissionPlatform()); + tbAccountDetail.setMoney(subtract); + tbAccountDetail.setOrderId(order.getId()); + tbAccountDetail.insert(); + + // 生成记录 + TbAccountDetail tbAccountDetail1 = new TbAccountDetail(); + tbAccountDetail1.setUserId(order.getUserId()); + tbAccountDetail1.setType(2); + tbAccountDetail1.setCategory(5); + tbAccountDetail1.setStatus(2); + tbAccountDetail1.setMoney(order.getPrice()); + tbAccountDetail1.setOrderId(order.getId()); + tbAccountDetail1.insert(); + + + messageService.addMessage("下单成功,请及时发送快递", order.getUserId(),order.getId()); + messageService.addMessage("您发布的订单买家已支付,请尽快处理!", company.getUserId(),order.getId()); } + + return "<xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> </xml>"; } @@ -146,7 +170,6 @@ BigDecimal add = shareUser.getBalance().add(order.getCommissionPrice()); shareUser.setBalance(add); shareUser.updateById(); - TbAccountDetail accountDetail = new TbAccountDetail(); accountDetail.setUserId(shareUserId); @@ -167,6 +190,43 @@ user.updateById(); + + + } + + @Override + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) + public void lastPayOrderData(TbOrder tbOrder, AddBuyerCompanyInfoDto dto, Long userId,TbCompany company) { + TbBuyerCompanyInfo tbBuyerCompanyInfo = new TbBuyerCompanyInfo(); + BeanUtils.copyProperties(dto,tbBuyerCompanyInfo); + tbBuyerCompanyInfo.setOrderId(tbOrder.getId()); + List<TbShareholder> shareholders = dto.getShareholders(); + + BigDecimal addMoney=BigDecimal.ZERO; + int addDay=0; + // 判断是否需要支付改名费 迁区费 + if(dto.getNeedRename()==1){ + addMoney = company.getRenameMoney(); + addDay=company.getRenameDay(); + } + if(dto.getNewDistrict()==1){ + addMoney = addMoney.add(company.getRelocationAreaMoney()); + addDay = addDay+company.getRelocationAreaDay(); + } + // 更新订单金额 + if(addMoney.compareTo(BigDecimal.ZERO)>0){ + BigDecimal add = tbOrder.getPrice().add(addMoney); + tbOrder.setPrice(add); + tbOrder.updateById(); + } + if(addDay>0){ + tbBuyerCompanyInfo.setAddDay(addDay); + } + tbBuyerCompanyInfo.insert(); + for (TbShareholder shareholder : shareholders) { + shareholder.setOrderId(tbOrder.getId()); + shareholder.insert(); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbShareholderServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbShareholderServiceImpl.java new file mode 100644 index 0000000..d484a4e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbShareholderServiceImpl.java @@ -0,0 +1,20 @@ +package com.ruoyi.system.service.impl; + + +import com.ruoyi.system.mapper.TbShareholderMapper; +import com.ruoyi.system.model.TbShareholder; +import com.ruoyi.system.service.TbShareholderService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 股东表 服务实现类 + * </p> + * + * @author administrator + * @since 2025-05-28 + */ +@Service +public class TbShareholderServiceImpl extends ServiceImpl<TbShareholderMapper, TbShareholder> implements TbShareholderService { + +} diff --git a/ruoyi-system/src/main/resources/mapper/system/TbBuyerCompanyInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TbBuyerCompanyInfoMapper.xml new file mode 100644 index 0000000..8e24f6e --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/TbBuyerCompanyInfoMapper.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.system.mapper.TbBuyerCompanyInfoMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TbBuyerCompanyInfo"> + <id column="id" property="id" /> + <result column="order_id" property="orderId" /> + <result column="legal_person_img" property="legalPersonImg" /> + <result column="need_rename" property="needRename" /> + <result column="new_name" property="newName" /> + <result column="backups_name" property="backupsName" /> + <result column="backups_name_one" property="backupsNameOne" /> + <result column="backups_name_two" property="backupsNameTwo" /> + <result column="registered_capital" property="registeredCapital" /> + <result column="account_type" property="accountType" /> + <result column="address" property="address" /> + <result column="new_district" property="newDistrict" /> + <result column="tenancy_agreement" property="tenancyAgreement" /> + <result column="property_ownership_certificate" property="propertyOwnershipCertificate" /> + <result column="account" property="account" /> + <result column="password" property="password" /> + <result column="business_scope" property="businessScope" /> + <result column="remark" property="remark" /> + <result column="create_time" property="createTime" /> + </resultMap> + +</mapper> diff --git a/ruoyi-system/src/main/resources/mapper/system/TbShareholderMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TbShareholderMapper.xml new file mode 100644 index 0000000..49f16bc --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/TbShareholderMapper.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.system.mapper.TbShareholderMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TbShareholder"> + <id column="id" property="id" /> + <result column="order_id" property="orderId" /> + <result column="name" property="name" /> + <result column="rate" property="rate" /> + <result column="img" property="img" /> + <result column="create_time" property="createTime" /> + </resultMap> + +</mapper> -- Gitblit v1.7.1