feat(dealer): 实现分销订单结算及分成逻辑
- 添加一级、二级、三级分销分成处理 - 更新经销商资金记录 - 修改资金记录字段名 describe 为 comments - 增加订单查询条件 resourceId 和 month - 实现根据用户ID获取经销商用户信息方法- 优化导入语句,统一使用通配符导入 - 注入 ShopDealerCapitalService 和 ShopDealerUserService 服务 - 移除 saveSettled 方法上的 @OperationLog 注解
This commit is contained in:
@@ -7,12 +7,8 @@ import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.sdy.param.SdyDealerOrderImportParam;
|
||||
import com.gxwebsoft.shop.entity.ShopDealerApply;
|
||||
import com.gxwebsoft.shop.entity.ShopDealerOrder;
|
||||
import com.gxwebsoft.shop.entity.ShopDealerReferee;
|
||||
import com.gxwebsoft.shop.service.ShopDealerApplyService;
|
||||
import com.gxwebsoft.shop.service.ShopDealerOrderService;
|
||||
import com.gxwebsoft.shop.service.ShopDealerRefereeService;
|
||||
import com.gxwebsoft.shop.entity.*;
|
||||
import com.gxwebsoft.shop.service.*;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -40,6 +36,10 @@ public class SdyDealerOrderController extends BaseController {
|
||||
private ShopDealerApplyService shopDealerApplyService;
|
||||
@Resource
|
||||
private ShopDealerRefereeService shopDealerRefereeService;
|
||||
@Resource
|
||||
private ShopDealerCapitalService shopDealerCapitalService;
|
||||
@Resource
|
||||
private ShopDealerUserService shopDealerUserService;
|
||||
|
||||
/**
|
||||
* excel批量导入售电云分销订单
|
||||
@@ -157,12 +157,59 @@ public class SdyDealerOrderController extends BaseController {
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('shop:shopDealerOrder:update')")
|
||||
@OperationLog
|
||||
@Operation(summary = "结算订单")
|
||||
@PutMapping()
|
||||
public ApiResult<?> saveSettled(@RequestBody ShopDealerOrder shopDealerOrder) {
|
||||
shopDealerOrder.setSettleTime(LocalDateTime.now());
|
||||
shopDealerOrder.setIsSettled(1);
|
||||
if (shopDealerOrderService.updateById(shopDealerOrder)) {
|
||||
|
||||
// 一级分成
|
||||
ShopDealerUser dealerUser = shopDealerUserService.getByUserIdRel(shopDealerOrder.getUserId());
|
||||
dealerUser.setMoney(dealerUser.getMoney().add(shopDealerOrder.getFirstMoney()));
|
||||
if(shopDealerUserService.updateById(dealerUser)){
|
||||
System.out.println("一级分成 = 1");
|
||||
ShopDealerCapital shopDealerCapital = new ShopDealerCapital();
|
||||
shopDealerCapital.setUserId(shopDealerOrder.getFirstUserId());
|
||||
shopDealerCapital.setOrderId(dealerUser.getId());
|
||||
shopDealerCapital.setMoney(shopDealerOrder.getFirstMoney());
|
||||
shopDealerCapital.setComments("分销订单结算");
|
||||
shopDealerCapital.setToUserId(shopDealerOrder.getUserId());
|
||||
shopDealerCapitalService.save(shopDealerCapital);
|
||||
}
|
||||
|
||||
// 二级分成
|
||||
ShopDealerUser dealerUser2 = shopDealerUserService.getByUserIdRel(shopDealerOrder.getSecondUserId());
|
||||
if(ObjectUtil.isNotEmpty(dealerUser2)){
|
||||
dealerUser2.setMoney(dealerUser2.getMoney().add(shopDealerOrder.getSecondMoney()));
|
||||
if (shopDealerUserService.updateById(dealerUser2)) {
|
||||
System.out.println("二级分成 = 2");
|
||||
ShopDealerCapital shopDealerCapital2 = new ShopDealerCapital();
|
||||
shopDealerCapital2.setUserId(shopDealerOrder.getSecondUserId());
|
||||
shopDealerCapital2.setOrderId(dealerUser.getId());
|
||||
shopDealerCapital2.setMoney(shopDealerOrder.getSecondMoney());
|
||||
shopDealerCapital2.setComments("分销订单结算");
|
||||
shopDealerCapital2.setToUserId(shopDealerOrder.getUserId());
|
||||
shopDealerCapitalService.save(shopDealerCapital2);
|
||||
}
|
||||
}
|
||||
|
||||
// 三级分成
|
||||
ShopDealerUser dealerUser3 = shopDealerUserService.getByUserIdRel(shopDealerOrder.getThirdUserId());
|
||||
if(ObjectUtil.isNotEmpty(dealerUser3)){
|
||||
dealerUser3.setMoney(dealerUser3.getMoney().add(shopDealerOrder.getThirdMoney()));
|
||||
if (shopDealerUserService.updateById(dealerUser3)) {
|
||||
System.out.println("三级分成 = 3");
|
||||
ShopDealerCapital shopDealerCapital3 = new ShopDealerCapital();
|
||||
shopDealerCapital3.setUserId(shopDealerOrder.getThirdUserId());
|
||||
shopDealerCapital3.setOrderId(dealerUser.getId());
|
||||
shopDealerCapital3.setMoney(shopDealerOrder.getThirdMoney());
|
||||
shopDealerCapital3.setComments("分销订单结算");
|
||||
shopDealerCapital3.setToUserId(shopDealerOrder.getUserId());
|
||||
shopDealerCapitalService.save(shopDealerCapital3);
|
||||
}
|
||||
}
|
||||
|
||||
return success("结算成功");
|
||||
}
|
||||
return fail("结算失败");
|
||||
|
||||
@@ -39,7 +39,7 @@ public class ShopDealerCapital implements Serializable {
|
||||
private BigDecimal money;
|
||||
|
||||
@Schema(description = "描述")
|
||||
private String describe;
|
||||
private String comments;
|
||||
|
||||
@Schema(description = "对方用户ID")
|
||||
private Integer toUserId;
|
||||
|
||||
@@ -22,9 +22,6 @@
|
||||
<if test="param.money != null">
|
||||
AND a.money = #{param.money}
|
||||
</if>
|
||||
<if test="param.describe != null">
|
||||
AND a.describe LIKE CONCAT('%', #{param.describe}, '%')
|
||||
</if>
|
||||
<if test="param.toUserId != null">
|
||||
AND a.to_user_id = #{param.toUserId}
|
||||
</if>
|
||||
|
||||
@@ -18,6 +18,12 @@
|
||||
<if test="param.userId != null">
|
||||
AND a.user_id = #{param.userId}
|
||||
</if>
|
||||
<if test="param.resourceId != null">
|
||||
AND ( a.user_id = #{param.resourceId} OR a.first_user_id = #{param.resourceId} OR a.second_user_id = #{param.resourceId} OR a.third_user_id = #{param.resourceId} )
|
||||
</if>
|
||||
<if test="param.month != null">
|
||||
AND a.month = #{param.month}
|
||||
</if>
|
||||
<if test="param.orderId != null">
|
||||
AND a.order_id = #{param.orderId}
|
||||
</if>
|
||||
|
||||
@@ -43,7 +43,7 @@ public class ShopDealerCapitalParam extends BaseParam {
|
||||
private BigDecimal money;
|
||||
|
||||
@Schema(description = "描述")
|
||||
private String describe;
|
||||
private String comments;
|
||||
|
||||
@Schema(description = "对方用户ID")
|
||||
@QueryField(type = QueryType.EQ)
|
||||
|
||||
@@ -78,4 +78,12 @@ public class ShopDealerOrderParam extends BaseParam {
|
||||
@QueryField(type = QueryType.EQ)
|
||||
private String comments;
|
||||
|
||||
@Schema(description = "关联ID")
|
||||
@QueryField(type = QueryType.EQ)
|
||||
private Integer resourceId;
|
||||
|
||||
@Schema(description = "月份")
|
||||
@QueryField(type = QueryType.EQ)
|
||||
private String month;
|
||||
|
||||
}
|
||||
|
||||
@@ -39,4 +39,5 @@ public interface ShopDealerUserService extends IService<ShopDealerUser> {
|
||||
*/
|
||||
ShopDealerUser getByIdRel(Integer id);
|
||||
|
||||
ShopDealerUser getByUserIdRel(Integer userId);
|
||||
}
|
||||
|
||||
@@ -44,4 +44,11 @@ public class ShopDealerUserServiceImpl extends ServiceImpl<ShopDealerUserMapper,
|
||||
return param.getOne(baseMapper.selectListRel(param));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ShopDealerUser getByUserIdRel(Integer userId) {
|
||||
ShopDealerUserParam param = new ShopDealerUserParam();
|
||||
param.setUserId(userId);
|
||||
return param.getOne(baseMapper.selectListRel(param));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user