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(); } 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(); } 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(); } ruoyi-system/src/main/java/com/ruoyi/system/dto/AddBuyerCompanyInfoDto.java
New file @@ -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; } ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbBuyerCompanyInfoMapper.java
New file @@ -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> { } ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbShareholderMapper.java
New file @@ -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> { } 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; ruoyi-system/src/main/java/com/ruoyi/system/model/TbBuyerCompanyInfo.java
New file @@ -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; } 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; 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; ruoyi-system/src/main/java/com/ruoyi/system/model/TbShareholder.java
New file @@ -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; } 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); } 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); } ruoyi-system/src/main/java/com/ruoyi/system/service/TbShareholderService.java
New file @@ -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> { } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBuyerCompanyInfoServiceImpl.java
New file @@ -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 { } 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); } } 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(); } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbShareholderServiceImpl.java
New file @@ -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 { } ruoyi-system/src/main/resources/mapper/system/TbBuyerCompanyInfoMapper.xml
New file @@ -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> ruoyi-system/src/main/resources/mapper/system/TbShareholderMapper.xml
New file @@ -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>