Browse Source

1、注释结算功能
2、更改钱包退款接口

rayson 11 months ago
parent
commit
7ac4a4476d

+ 1 - 2
citu-module-pay/citu-module-pay-biz/src/main/java/com/citu/module/pay/controller/admin/wallet/PayWalletRechargeController.java

@@ -55,8 +55,7 @@ public class PayWalletRechargeController {
         return success(true);
     }
 
-    // TODO @jason:发起退款,要 post 操作哈;
-    @GetMapping("/refund")
+    @PostMapping("/refund")
     @Operation(summary = "发起钱包充值退款")
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
     public CommonResult<Boolean> refundWalletRecharge(@RequestParam("id") Long id) {

+ 3 - 0
menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java

@@ -304,6 +304,9 @@ public interface ErrorCodeConstants {
     ErrorCode INTERVIEW_INVITE_STATUS_NOT_COMPLETED = new ErrorCode(1_100_033_011, "当前面试未完成");
     ErrorCode INTERVIEW_INVITE_STATUS_NOT_ENTRY = new ErrorCode(1_100_033_012, "当前员工还未入职,无法结算");
 
+    ErrorCode INTERVIEW_INVITE_STATUS_NOT_SETTLEMENT = new ErrorCode(1_100_033_013, "结算功能维护中");
+
+
     // ========== 企业用户申请 1_100_034_000 ==========
     ErrorCode ENTERPRISE_USER_APPLY_NOT_EXISTS = new ErrorCode(1_100_034_001, "企业用户申请不存在");
     ErrorCode ENTERPRISE_USER_APPLY_APPROVED = new ErrorCode(1_100_034_002, "用户申请已审批");

+ 51 - 53
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/interview/InterviewInviteServiceImpl.java

@@ -19,8 +19,6 @@ import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobCvRelDO;
 import com.citu.module.menduner.system.dal.mysql.interview.InterviewInviteMapper;
 import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedMapper;
-import com.citu.module.menduner.system.enums.MathOperationEnum;
-import com.citu.module.menduner.system.enums.account.BalanceBizTypeEnum;
 import com.citu.module.menduner.system.enums.cv.ConversationStatusEnum;
 import com.citu.module.menduner.system.enums.interview.InterviewInviteStatusEnum;
 import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
@@ -65,6 +63,26 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
     @Resource
     private JobAdvertisedMapper jobAdvertisedMapper;
 
+    /**
+     * 计算佣金
+     *
+     * @param hirePrice 职位价格
+     * @param rate      比例
+     * @param totalRate 总比例
+     * @return 佣金
+     **/
+    public static Long calculateCommission(Long hirePrice, BigDecimal rate, BigDecimal totalRate) {
+        // 将hirePrice转换为BigDecimal
+        BigDecimal hirePriceBD = BigDecimal.valueOf(hirePrice);
+
+        // 计算佣金
+        // 使用 (hirePrice * rate + totalRate / 2) / totalRate 来确保四舍五入
+        BigDecimal commission = hirePriceBD.multiply(rate).add(totalRate.divide(BigDecimal.valueOf(2), 0, RoundingMode.HALF_UP)).divide(totalRate, 0, RoundingMode.HALF_UP);
+
+        // 将结果转换为Long类型
+        return commission.longValue();
+    }
+
     @Override
     public Long createInterviewInvite(InterviewInviteSaveReqVO createReqVO) {
         // 插入
@@ -109,7 +127,6 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
         return mapper.selectPage(pageReqVO);
     }
 
-
     @Override
     @DSTransactional
     public void consent(AppRecruitInterviewInviteReqConsentVO reqVO) {
@@ -264,34 +281,35 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
     @Override
     @DSTransactional
     public void settlement(Long id) {
-
-        InterviewInviteDO interviewInvite = validateInterviewInviteExists(id);
-
-        checkStatusIsCompleted(interviewInvite);
-
-        if (!interviewInvite.getConversationStatus()
-                .equals(ConversationStatusEnum.ENTRY.getStatus())) {
-            // 不是已入职状态
-            throw exception(INTERVIEW_INVITE_STATUS_NOT_ENTRY);
-        }
-        // 标记为结算
-        interviewInvite.setConversationStatus(ConversationStatusEnum.SETTLEMENT.getStatus());
-        mapper.updateById(interviewInvite);
-
-        // 获取 面试的求职者投递的简历信息
-        JobCvRelDO cv = jobCvRelService
-                .selectByUserIdAndJobId(interviewInvite.getUserId(), interviewInvite.getJobId());
-
-        // 猎头、 推荐人、投递人
-        // 获取比例配置
-        HireCommissionRatioDO ratio = ratioService.get();
-
-        JobAdvertisedDO job = jobAdvertisedMapper.selectById(cv.getJobId());
-
-        if (null != job.getHirePrice()) {
-            // 余额结算
-            priceSettlement(job, ratio, cv);
-        }
+        throw exception(INTERVIEW_INVITE_STATUS_NOT_SETTLEMENT);
+
+//        InterviewInviteDO interviewInvite = validateInterviewInviteExists(id);
+//
+//        checkStatusIsCompleted(interviewInvite);
+//
+//        if (!interviewInvite.getConversationStatus()
+//                .equals(ConversationStatusEnum.ENTRY.getStatus())) {
+//            // 不是已入职状态
+//            throw exception(INTERVIEW_INVITE_STATUS_NOT_ENTRY);
+//        }
+//        // 标记为结算
+//        interviewInvite.setConversationStatus(ConversationStatusEnum.SETTLEMENT.getStatus());
+//        mapper.updateById(interviewInvite);
+//
+//        // 获取 面试的求职者投递的简历信息
+//        JobCvRelDO cv = jobCvRelService
+//                .selectByUserIdAndJobId(interviewInvite.getUserId(), interviewInvite.getJobId());
+//
+//        // 猎头、 推荐人、投递人
+//        // 获取比例配置
+//        HireCommissionRatioDO ratio = ratioService.get();
+//
+//        JobAdvertisedDO job = jobAdvertisedMapper.selectById(cv.getJobId());
+//
+//        if (null != job.getHirePrice()) {
+//            // 余额结算
+//            priceSettlement(job, ratio, cv);
+//        }
 
         //TODO 发送推送消息
     }
@@ -308,11 +326,11 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
         // 总比例
         BigDecimal totalRate = BigDecimal.valueOf(100);
         // 猎头佣金
-        Long headhuntPrice =  calculateCommission(hirePrice, ratio.getHeadhuntRate(), totalRate);
+        Long headhuntPrice = calculateCommission(hirePrice, ratio.getHeadhuntRate(), totalRate);
         // 推荐人佣金
         Long recommendPrice = calculateCommission(hirePrice, ratio.getRecommendRate(), totalRate);
         // 投递人佣金
-        Long cvPrice =calculateCommission(hirePrice, ratio.getCvRate(), totalRate);
+        Long cvPrice = calculateCommission(hirePrice, ratio.getCvRate(), totalRate);
 
         // 猎头 (平台自己)
         if (headhuntPrice > 0) {
@@ -364,24 +382,4 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
         }
     }
 
-    /**
-     * 计算佣金
-     *
-     * @param hirePrice 职位价格
-     * @param rate      比例
-     * @param totalRate 总比例
-     * @return 佣金
-     **/
-    public static Long calculateCommission(Long hirePrice, BigDecimal rate, BigDecimal totalRate) {
-        // 将hirePrice转换为BigDecimal
-        BigDecimal hirePriceBD = BigDecimal.valueOf(hirePrice);
-
-        // 计算佣金
-        // 使用 (hirePrice * rate + totalRate / 2) / totalRate 来确保四舍五入
-        BigDecimal commission = hirePriceBD.multiply(rate).add(totalRate.divide(BigDecimal.valueOf(2), 0, RoundingMode.HALF_UP)).divide(totalRate, 0, RoundingMode.HALF_UP);
-
-        // 将结果转换为Long类型
-        return commission.longValue();
-    }
-
 }

+ 1 - 0
menduner/menduner-system-biz/src/main/resources/i18n/messages_en_US.properties

@@ -235,6 +235,7 @@
 1_100_033_010=Interview status cannot be empty
 1_100_033_011=The current interview has not been completed
 1_100_033_012=The current employee has not yet joined and cannot be settled
+1_100_033_013=Settlement function maintenance in progress
 # ========== 企业用户申请 1_100_034_000 ==========
 1_100_034_001=Enterprise user application does not exist
 1_100_034_002=User application has been approved

+ 1 - 0
menduner/menduner-system-biz/src/main/resources/i18n/messages_zh_CN.properties

@@ -235,6 +235,7 @@
 1_100_033_010=面试状态不能为空
 1_100_033_011=当前面试未完成
 1_100_033_012=当前员工还未入职,无法结算
+1_100_033_013=结算功能维护中
 # ========== 企业用户申请 1_100_034_000 ==========
 1_100_034_001=企业用户申请不存在
 1_100_034_002=用户申请已审批