Compare commits
No commits in common. "2fe2397bd86370d1c523ba72e7066b5907f466df" and "12be6fea4e3184830287937187b5ebbbceb7aa05" have entirely different histories.
2fe2397bd8
...
12be6fea4e
|
@ -5,12 +5,14 @@ import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
||||||
import com.greenorange.promotion.annotation.RequiresPermission;
|
import com.greenorange.promotion.annotation.RequiresPermission;
|
||||||
import com.greenorange.promotion.annotation.SysLog;
|
import com.greenorange.promotion.annotation.SysLog;
|
||||||
import com.greenorange.promotion.common.BaseResponse;
|
import com.greenorange.promotion.common.BaseResponse;
|
||||||
|
import com.greenorange.promotion.common.ErrorCode;
|
||||||
import com.greenorange.promotion.common.ResultUtils;
|
import com.greenorange.promotion.common.ResultUtils;
|
||||||
import com.greenorange.promotion.constant.UserConstant;
|
import com.greenorange.promotion.constant.UserConstant;
|
||||||
|
import com.greenorange.promotion.exception.ThrowUtils;
|
||||||
import com.greenorange.promotion.model.dto.CommonRequest;
|
import com.greenorange.promotion.model.dto.CommonRequest;
|
||||||
import com.greenorange.promotion.model.dto.projectSettlement.ProjectSettlementAddRequest;
|
import com.greenorange.promotion.model.dto.projectSettlement.ProjectSettlementAddRequest;
|
||||||
|
import com.greenorange.promotion.model.dto.projectSettlement.ProjectSettlementUpdateRequest;
|
||||||
import com.greenorange.promotion.model.entity.*;
|
import com.greenorange.promotion.model.entity.*;
|
||||||
import com.greenorange.promotion.model.vo.projectSettlement.MiniProjectSettlementVO;
|
|
||||||
import com.greenorange.promotion.model.vo.projectSettlement.ProjectSettlementVO;
|
import com.greenorange.promotion.model.vo.projectSettlement.ProjectSettlementVO;
|
||||||
import com.greenorange.promotion.service.common.CommonService;
|
import com.greenorange.promotion.service.common.CommonService;
|
||||||
import com.greenorange.promotion.service.project.ProjectDetailService;
|
import com.greenorange.promotion.service.project.ProjectDetailService;
|
||||||
|
@ -84,23 +86,12 @@ public class ProjectSettlementController {
|
||||||
@Operation(summary = "小程序端用户根据推广码申请记录id查询结算记录", description = "参数:项目结算记录添加请求体,权限:管理员,方法名:queryProjectSettlementRecordByPid")
|
@Operation(summary = "小程序端用户根据推广码申请记录id查询结算记录", description = "参数:项目结算记录添加请求体,权限:管理员,方法名:queryProjectSettlementRecordByPid")
|
||||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||||
// @SysLog(title = "项目结算记录管理", content = "小程序端用户根据推广码申请记录id查询结算记录")
|
// @SysLog(title = "项目结算记录管理", content = "小程序端用户根据推广码申请记录id查询结算记录")
|
||||||
public BaseResponse<List<MiniProjectSettlementVO>> queryProjectSettlementRecordByPid(@Valid @RequestBody CommonRequest commonRequest) {
|
public BaseResponse<List<ProjectSettlementVO>> queryProjectSettlementRecordByPid(@Valid @RequestBody CommonRequest commonRequest) {
|
||||||
Long id = commonRequest.getId();
|
Long id = commonRequest.getId();
|
||||||
Map<SFunction<ProjectSettlement, ?>, Object> fieldConditions = Map.of(ProjectSettlement::getPromoCodeApplyId, id);
|
Map<SFunction<ProjectSettlement, ?>, Object> fieldConditions = Map.of(ProjectSettlement::getPromoCodeApplyId, id, ProjectSettlement::getRevenueSource, 0);
|
||||||
List<ProjectSettlement> projectSettlementList = commonService.findByFieldEqTargetFields(fieldConditions, projectSettlementService);
|
List<ProjectSettlement> projectSettlementList = commonService.findByFieldEqTargetFields(fieldConditions, projectSettlementService);
|
||||||
List<PromoCodeApply> promoCodeApplyList = commonService.findByFieldInTargetField(projectSettlementList, promoCodeApplyService, ProjectSettlement::getPromoCodeApplyId, PromoCodeApply::getId);
|
List<ProjectSettlementVO> projectSettlementVOS = commonService.convertList(projectSettlementList, ProjectSettlementVO.class);
|
||||||
// 封装Map集合(键:推广码申请记录id, 值:业务员姓名)
|
return ResultUtils.success(projectSettlementVOS);
|
||||||
Map<Long, String> salespersonNameMap = new HashMap<>();
|
|
||||||
for (PromoCodeApply promoCodeApply : promoCodeApplyList) {
|
|
||||||
salespersonNameMap.put(promoCodeApply.getId(), promoCodeApply.getSalespersonName());
|
|
||||||
}
|
|
||||||
List<MiniProjectSettlementVO> miniProjectSettlementVOList = commonService.convertList(projectSettlementList, MiniProjectSettlementVO.class);
|
|
||||||
for (MiniProjectSettlementVO miniProjectSettlementVO : miniProjectSettlementVOList) {
|
|
||||||
Long applyId = miniProjectSettlementVO.getPromoCodeApplyId();
|
|
||||||
String salespersonName = salespersonNameMap.get(applyId);
|
|
||||||
miniProjectSettlementVO.setSalespersonName(salespersonName);
|
|
||||||
}
|
|
||||||
return ResultUtils.success(miniProjectSettlementVOList);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -112,24 +103,11 @@ public class ProjectSettlementController {
|
||||||
@Operation(summary = "小程序端用户查询当前推广项目的所有结算明细", description = "参数:项目结算记录添加请求体,权限:管理员,方法名:queryProjectSettlementRecordByProjectId")
|
@Operation(summary = "小程序端用户查询当前推广项目的所有结算明细", description = "参数:项目结算记录添加请求体,权限:管理员,方法名:queryProjectSettlementRecordByProjectId")
|
||||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||||
// @SysLog(title = "项目结算记录管理", content = "小程序端用户查询当前推广项目的所有结算明细")
|
// @SysLog(title = "项目结算记录管理", content = "小程序端用户查询当前推广项目的所有结算明细")
|
||||||
public BaseResponse<List<MiniProjectSettlementVO>> queryProjectSettlementRecordByProjectId(@Valid @RequestBody CommonRequest commonRequest, HttpServletRequest request) {
|
public BaseResponse<List<ProjectSettlementVO>> queryProjectSettlementRecordByProjectId(@Valid @RequestBody CommonRequest commonRequest) {
|
||||||
Long projectId = commonRequest.getId();
|
Long id = commonRequest.getId();
|
||||||
Long userId = (Long) request.getAttribute("userId");
|
List<ProjectSettlement> projectSettlementList = commonService.findByFieldEqTargetField(ProjectSettlement::getProjectId, id, projectSettlementService);
|
||||||
Map<SFunction<ProjectSettlement, ?>, Object> fieldConditions = Map.of(ProjectSettlement::getUserId, userId, ProjectSettlement::getProjectId, projectId);
|
List<ProjectSettlementVO> projectSettlementVOS = commonService.convertList(projectSettlementList, ProjectSettlementVO.class);
|
||||||
List<ProjectSettlement> projectSettlementList = commonService.findByFieldEqTargetFields(fieldConditions, projectSettlementService);
|
return ResultUtils.success(projectSettlementVOS);
|
||||||
List<PromoCodeApply> promoCodeApplyList = commonService.findByFieldInTargetField(projectSettlementList, promoCodeApplyService, ProjectSettlement::getPromoCodeApplyId, PromoCodeApply::getId);
|
|
||||||
// 封装Map集合(键:推广码申请记录id, 值:业务员姓名)
|
|
||||||
Map<Long, String> salespersonNameMap = new HashMap<>();
|
|
||||||
for (PromoCodeApply promoCodeApply : promoCodeApplyList) {
|
|
||||||
salespersonNameMap.put(promoCodeApply.getId(), promoCodeApply.getSalespersonName());
|
|
||||||
}
|
|
||||||
List<MiniProjectSettlementVO> miniProjectSettlementVOList = commonService.convertList(projectSettlementList, MiniProjectSettlementVO.class);
|
|
||||||
for (MiniProjectSettlementVO miniProjectSettlementVO : miniProjectSettlementVOList) {
|
|
||||||
Long applyId = miniProjectSettlementVO.getPromoCodeApplyId();
|
|
||||||
String salespersonName = salespersonNameMap.get(applyId);
|
|
||||||
miniProjectSettlementVO.setSalespersonName(salespersonName);
|
|
||||||
}
|
|
||||||
return ResultUtils.success(miniProjectSettlementVOList);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -5,7 +5,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.Min;
|
import jakarta.validation.constraints.Min;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
@ -52,14 +51,14 @@ public class ProjectSettlementAddRequest implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 作业时间
|
* 作业时间
|
||||||
*/
|
*/
|
||||||
@Schema(description = "作业时间", example = "2025-05-10")
|
@Schema(description = "作业时间", example = "2025-05-10 10:00:00")
|
||||||
private String workTime;
|
private Date workTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结算时间
|
* 结算时间
|
||||||
*/
|
*/
|
||||||
@Schema(description = "结算时间", example = "2025-05-12")
|
@Schema(description = "结算时间", example = "2025-05-12 10:00:00")
|
||||||
private String settlementTime;
|
private Date settlementTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推广码申请记录id
|
* 推广码申请记录id
|
||||||
|
|
|
@ -48,14 +48,14 @@ public class ProjectSettlementQueryRequest extends PageRequest implements Serial
|
||||||
/**
|
/**
|
||||||
* 作业时间
|
* 作业时间
|
||||||
*/
|
*/
|
||||||
@Schema(description = "作业时间", example = "2025-05-10")
|
@Schema(description = "作业时间", example = "2025-05-10 10:00:00")
|
||||||
private String workTime;
|
private Date workTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结算时间
|
* 结算时间
|
||||||
*/
|
*/
|
||||||
@Schema(description = "结算时间", example = "2025-05-12")
|
@Schema(description = "结算时间", example = "2025-05-12 10:00:00")
|
||||||
private String settlementTime;
|
private Date settlementTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推广码申请记录id
|
* 推广码申请记录id
|
||||||
|
|
|
@ -57,14 +57,14 @@ public class ProjectSettlementUpdateRequest implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 作业时间
|
* 作业时间
|
||||||
*/
|
*/
|
||||||
@Schema(description = "作业时间", example = "2025-05-10")
|
@Schema(description = "作业时间", example = "2025-05-10 10:00:00")
|
||||||
private String workTime;
|
private Date workTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结算时间
|
* 结算时间
|
||||||
*/
|
*/
|
||||||
@Schema(description = "结算时间", example = "2025-05-12")
|
@Schema(description = "结算时间", example = "2025-05-12 10:00:00")
|
||||||
private String settlementTime;
|
private Date settlementTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推广码申请记录id
|
* 推广码申请记录id
|
||||||
|
|
|
@ -47,12 +47,12 @@ public class ProjectSettlement implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 作业时间
|
* 作业时间
|
||||||
*/
|
*/
|
||||||
private String workTime;
|
private Date workTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结算时间
|
* 结算时间
|
||||||
*/
|
*/
|
||||||
private String settlementTime;
|
private Date settlementTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推广码申请记录id
|
* 推广码申请记录id
|
||||||
|
|
|
@ -1,68 +0,0 @@
|
||||||
package com.greenorange.promotion.model.vo.projectSettlement;
|
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
||||||
import jakarta.validation.constraints.Min;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serial;
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@Schema(description = "项目结算记录 视图对象")
|
|
||||||
public class MiniProjectSettlementVO implements Serializable {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 推广码申请ID
|
|
||||||
*/
|
|
||||||
@Schema(description = "推广码申请ID", example = "1")
|
|
||||||
private Long promoCodeApplyId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 业务员姓名
|
|
||||||
*/
|
|
||||||
@Schema(description = "业务员姓名", example = "chenxinzhi")
|
|
||||||
private String salespersonName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 项目明细名称
|
|
||||||
*/
|
|
||||||
@Schema(description = "项目明细名称", example = "2.9元购买30元券包")
|
|
||||||
private String projectDetailName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 结算数量
|
|
||||||
*/
|
|
||||||
@Schema(description = "结算数量", example = "2")
|
|
||||||
private Integer settlementQuantity;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 结算收益
|
|
||||||
*/
|
|
||||||
@Schema(description = "结算收益", example = "2.34")
|
|
||||||
private BigDecimal settlementRevenue;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 作业时间
|
|
||||||
*/
|
|
||||||
@Schema(description = "作业时间", example = "2025-05-10")
|
|
||||||
private String workTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 结算时间
|
|
||||||
*/
|
|
||||||
@Schema(description = "结算时间", example = "2025-05-12")
|
|
||||||
private String settlementTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 收益来源(true:抽成,false:推广码)
|
|
||||||
*/
|
|
||||||
@Schema(description = "收益来源(true:抽成,false:推广码)", example = "false")
|
|
||||||
private Boolean revenueSource;
|
|
||||||
|
|
||||||
|
|
||||||
@Serial
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
}
|
|
|
@ -44,14 +44,14 @@ public class ProjectSettlementVO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 作业时间
|
* 作业时间
|
||||||
*/
|
*/
|
||||||
@Schema(description = "作业时间", example = "2025-05-10")
|
@Schema(description = "作业时间", example = "2025-05-10 10:00:00")
|
||||||
private String workTime;
|
private Date workTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结算时间
|
* 结算时间
|
||||||
*/
|
*/
|
||||||
@Schema(description = "结算时间", example = "2025-05-12")
|
@Schema(description = "结算时间", example = "2025-05-12 10:00:00")
|
||||||
private String settlementTime;
|
private Date settlementTime;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -47,7 +47,7 @@ threadpool:
|
||||||
|
|
||||||
|
|
||||||
server:
|
server:
|
||||||
port: 9093
|
port: 3456
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ threadpool:
|
||||||
|
|
||||||
|
|
||||||
server:
|
server:
|
||||||
port: 9091
|
port: 3456
|
||||||
|
|
||||||
|
|
||||||
mybatis-plus:
|
mybatis-plus:
|
||||||
|
|
|
@ -46,7 +46,7 @@ threadpool:
|
||||||
|
|
||||||
|
|
||||||
server:
|
server:
|
||||||
port: 9092
|
port: 3456
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
spring:
|
spring:
|
||||||
profiles:
|
profiles:
|
||||||
active: dev
|
active: caozhe
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user