修改了根据员工id查询客户订单明细的bug
This commit is contained in:
@ -14,7 +14,7 @@ public interface UserConstant {
|
||||
/**
|
||||
* 用户默认头像
|
||||
*/
|
||||
String USER_DEFAULT_AVATAR = SystemConstant.FILE_COMMON_PREFIX + SystemConstant.DEFAULT_AVATAR_VIEW;
|
||||
String USER_DEFAULT_AVATAR = SystemConstant.DEFAULT_AVATAR_VIEW;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -30,6 +30,7 @@ import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@ -48,6 +49,7 @@ import java.util.stream.Collectors;
|
||||
@RequestMapping("course")
|
||||
@Slf4j
|
||||
@Tag(name = "课程模块")
|
||||
@Transactional
|
||||
public class CourseController {
|
||||
|
||||
@Resource
|
||||
|
@ -10,6 +10,7 @@ import com.greenorange.promotion.common.BaseResponse;
|
||||
import com.greenorange.promotion.common.ErrorCode;
|
||||
import com.greenorange.promotion.common.ResultUtils;
|
||||
import com.greenorange.promotion.constant.OrderStatusConstant;
|
||||
import com.greenorange.promotion.constant.SystemConstant;
|
||||
import com.greenorange.promotion.constant.UserConstant;
|
||||
import com.greenorange.promotion.exception.ThrowUtils;
|
||||
import com.greenorange.promotion.model.dto.CommonBatchRequest;
|
||||
@ -19,6 +20,9 @@ import com.greenorange.promotion.model.dto.courseOrder.CourseOrderQueryRequest;
|
||||
import com.greenorange.promotion.model.dto.courseOrder.CourseOrderUpdateRequest;
|
||||
import com.greenorange.promotion.model.entity.Course;
|
||||
import com.greenorange.promotion.model.entity.CourseOrder;
|
||||
import com.greenorange.promotion.model.entity.CoursePromotionCommissionPending;
|
||||
import com.greenorange.promotion.model.entity.UserPerformanceSummary;
|
||||
import com.greenorange.promotion.model.enums.CommissionStatusEnum;
|
||||
import com.greenorange.promotion.model.vo.course.CourseCardVO;
|
||||
import com.greenorange.promotion.model.vo.course.CourseVO;
|
||||
import com.greenorange.promotion.model.vo.courseOrder.CourseOrderBaseInfoVO;
|
||||
@ -26,7 +30,10 @@ import com.greenorange.promotion.model.vo.courseOrder.CourseOrderCardVO;
|
||||
import com.greenorange.promotion.model.vo.courseOrder.CourseOrderVO;
|
||||
import com.greenorange.promotion.service.common.CommonService;
|
||||
import com.greenorange.promotion.service.course.CourseOrderService;
|
||||
import com.greenorange.promotion.service.course.CoursePromotionCommissionPendingService;
|
||||
import com.greenorange.promotion.service.course.CourseService;
|
||||
import com.greenorange.promotion.service.userInfo.UserInfoService;
|
||||
import com.greenorange.promotion.service.userInfo.UserPerformanceSummaryService;
|
||||
import com.greenorange.promotion.utils.OrderNumberUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
@ -34,13 +41,17 @@ import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
|
||||
|
||||
/**
|
||||
@ -50,6 +61,7 @@ import java.util.List;
|
||||
@RequestMapping("courseOrder")
|
||||
@Slf4j
|
||||
@Tag(name = "课程订单模块")
|
||||
@Transactional
|
||||
public class CourseOrderController {
|
||||
|
||||
@Resource
|
||||
@ -61,6 +73,15 @@ public class CourseOrderController {
|
||||
@Resource
|
||||
private CommonService commonService;
|
||||
|
||||
@Resource
|
||||
private UserInfoService userInfoService;
|
||||
|
||||
@Resource
|
||||
private UserPerformanceSummaryService userPerformanceSummaryService;
|
||||
|
||||
@Resource
|
||||
private CoursePromotionCommissionPendingService coursePromotionCommissionPendingService;
|
||||
|
||||
/**
|
||||
* 小程序端用户生成课程订单
|
||||
* @param courseOrderAddRequest 课程id
|
||||
@ -89,6 +110,149 @@ public class CourseOrderController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 模拟订单支付回调
|
||||
*/
|
||||
@PostMapping("payment")
|
||||
@Operation(summary = "模拟订单支付回调", description = "参数:订单id,权限:管理员,方法名:paymentCourse")
|
||||
@RequiresPermission(mustRole = UserConstant.ADMIN_ROLE)
|
||||
public BaseResponse<Boolean> paymentCourse(@Valid @RequestBody CommonRequest commonRequest) {
|
||||
|
||||
System.out.println("---------------------------微信支付回调(开始)-------------------------------");
|
||||
// 获取订单信息
|
||||
Long id = commonRequest.getId();
|
||||
CourseOrder courseOrder = courseOrderService.getById(id);
|
||||
|
||||
// 修改订单状态
|
||||
LambdaUpdateWrapper<CourseOrder> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(CourseOrder::getId, courseOrder.getId())
|
||||
.set(CourseOrder::getOrderStatus, OrderStatusConstant.SUCCESS);
|
||||
courseOrderService.update(updateWrapper);
|
||||
|
||||
// 修改当前课程下单人数
|
||||
Long courseId = courseOrder.getCourseId();
|
||||
Course course = courseService.getById(courseId);
|
||||
if (course != null) {
|
||||
course.setOrderCount(course.getOrderCount() + 1);
|
||||
courseService.updateById(course);
|
||||
}
|
||||
|
||||
// 更新主管和员工的绩效记录
|
||||
Long userId = courseOrder.getUserId();
|
||||
List<Long> pathToRoot = userInfoService.findPathToRoot(userId);
|
||||
List<Long> superUserIdList = pathToRoot.subList(1, 3);
|
||||
List<UserPerformanceSummary> userPerformanceSummaryList = commonService.findByFieldInTargetField(superUserIdList, userPerformanceSummaryService, Function.identity(), UserPerformanceSummary::getUserId);
|
||||
BigDecimal rate;
|
||||
Map<String, BigDecimal> rateMap = userPerformanceSummaryService.queryRakeRewardsRate();
|
||||
for (int i = 0; i < userPerformanceSummaryList.size(); i ++ ) {
|
||||
if (i == 0) rate = rateMap.get("first");
|
||||
else rate = rateMap.get("second");
|
||||
// 计算理论上获得的最大提成奖励
|
||||
BigDecimal rakeRewards = courseOrder.getTotalAmount().multiply(rate);
|
||||
UserPerformanceSummary userPerformanceSummary = userPerformanceSummaryList.get(i);
|
||||
|
||||
userPerformanceSummary.setTotalAmount(userPerformanceSummary.getTotalAmount().add(courseOrder.getTotalAmount()));
|
||||
userPerformanceSummary.setNetAmount(userPerformanceSummary.getNetAmount().add(courseOrder.getTotalAmount().multiply(SystemConstant.FEE_RATE)));
|
||||
userPerformanceSummary.setOrderCount(userPerformanceSummary.getOrderCount() + 1);
|
||||
userPerformanceSummary.setToRelease(userPerformanceSummary.getToRelease().add(rakeRewards.multiply(SystemConstant.REFUND_RATE)));
|
||||
userPerformanceSummary.setToSettle(userPerformanceSummary.getToSettle().add(rakeRewards.multiply(SystemConstant.FEE_RATE)));
|
||||
}
|
||||
userPerformanceSummaryService.updateBatchById(userPerformanceSummaryList);
|
||||
|
||||
|
||||
// 添加课程推广待提成记录
|
||||
Long firstUserId = pathToRoot.get(0);
|
||||
Long secondUserId = pathToRoot.get(1);
|
||||
CoursePromotionCommissionPending coursePromotionCommissionPending = CoursePromotionCommissionPending.builder()
|
||||
.firstUserId(firstUserId)
|
||||
.secondUserId(secondUserId)
|
||||
.courseId(courseId)
|
||||
.name(courseOrder.getName())
|
||||
.type(courseOrder.getType())
|
||||
.image(courseOrder.getImage())
|
||||
.orderId(courseOrder.getId())
|
||||
.userId(userId)
|
||||
.firstRate(rateMap.get("first"))
|
||||
.secondRate(rateMap.get("second"))
|
||||
.firstReward(courseOrder.getTotalAmount().multiply(rateMap.get("first")))
|
||||
.secondReward(courseOrder.getTotalAmount().multiply(rateMap.get("second")))
|
||||
.totalAmount(courseOrder.getTotalAmount())
|
||||
.commissionStatus(CommissionStatusEnum.PENDING.getValue())
|
||||
.orderCreateTime(courseOrder.getCreateTime())
|
||||
.build();
|
||||
coursePromotionCommissionPendingService.save(coursePromotionCommissionPending);
|
||||
|
||||
|
||||
System.out.println("---------------------------微信支付回调(结束)-------------------------------");
|
||||
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 模拟订单退款回调
|
||||
*/
|
||||
@PostMapping("refund")
|
||||
@Operation(summary = "模拟订单退款回调", description = "参数:订单id,权限:管理员,方法名:refundCourse")
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
public BaseResponse<Boolean> refundCourse(@Valid @RequestBody CommonRequest commonRequest) {
|
||||
System.out.println("---------------------------微信退款回调(开始)-------------------------------");
|
||||
// 获取订单信息
|
||||
Long id = commonRequest.getId();
|
||||
CourseOrder courseOrder = courseOrderService.getById(id);
|
||||
|
||||
// 修改订单状态
|
||||
LambdaUpdateWrapper<CourseOrder> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(CourseOrder::getId, courseOrder.getId())
|
||||
.set(CourseOrder::getOrderStatus, OrderStatusConstant.REFUNDED);
|
||||
courseOrderService.update(updateWrapper);
|
||||
|
||||
// 修改课程下单人数
|
||||
Long courseId = courseOrder.getCourseId();
|
||||
Course course = courseService.getById(courseId);
|
||||
if (course != null) {
|
||||
course.setOrderCount(course.getOrderCount() - 1);
|
||||
courseService.updateById(course);
|
||||
}
|
||||
|
||||
// 更新主管和员工的绩效记录
|
||||
Long userId = courseOrder.getUserId();
|
||||
List<Long> pathToRoot = userInfoService.findPathToRoot(userId);
|
||||
List<Long> superUserIdList = pathToRoot.subList(1, 3);
|
||||
List<UserPerformanceSummary> userPerformanceSummaryList = commonService.findByFieldInTargetField(superUserIdList, userPerformanceSummaryService, Function.identity(), UserPerformanceSummary::getUserId);
|
||||
BigDecimal rate;
|
||||
LambdaQueryWrapper<CoursePromotionCommissionPending> coursePromotionQueryWrapper = new LambdaQueryWrapper<>();
|
||||
coursePromotionQueryWrapper.eq(CoursePromotionCommissionPending::getOrderId, courseOrder.getId());
|
||||
CoursePromotionCommissionPending coursePromotionCommissionPending = coursePromotionCommissionPendingService.getOne(coursePromotionQueryWrapper);
|
||||
for (int i = 0; i < userPerformanceSummaryList.size(); i ++ ) {
|
||||
if (i == 0) rate = coursePromotionCommissionPending.getFirstRate();
|
||||
else rate = coursePromotionCommissionPending.getSecondRate();
|
||||
// 计算理论上获得的最大提成奖励
|
||||
BigDecimal rakeRewards = courseOrder.getTotalAmount().multiply(rate);
|
||||
UserPerformanceSummary userPerformanceSummary = userPerformanceSummaryList.get(i);
|
||||
|
||||
userPerformanceSummary.setTotalAmount(userPerformanceSummary.getTotalAmount().add(courseOrder.getTotalAmount()));
|
||||
userPerformanceSummary.setNetAmount(userPerformanceSummary.getNetAmount().add(courseOrder.getTotalAmount().multiply(SystemConstant.FEE_RATE)));
|
||||
userPerformanceSummary.setOrderCount(userPerformanceSummary.getOrderCount() + 1);
|
||||
userPerformanceSummary.setToRelease(userPerformanceSummary.getToRelease().subtract(rakeRewards.multiply(SystemConstant.REFUND_RATE)));
|
||||
userPerformanceSummary.setRefunded(userPerformanceSummary.getRefunded().add(courseOrder.getTotalAmount().multiply(SystemConstant.REFUND_RATE)));
|
||||
}
|
||||
userPerformanceSummaryService.updateBatchById(userPerformanceSummaryList);
|
||||
|
||||
// 修改课程推广待提成状态为"已失效"
|
||||
LambdaUpdateWrapper<CoursePromotionCommissionPending> coursePromotionUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
coursePromotionUpdateWrapper.eq(CoursePromotionCommissionPending::getOrderId, courseOrder.getId())
|
||||
.set(CoursePromotionCommissionPending::getCommissionStatus, CommissionStatusEnum.EXPIRED.getValue());
|
||||
coursePromotionCommissionPendingService.update(coursePromotionUpdateWrapper);
|
||||
|
||||
System.out.println("---------------------------微信退款回调(结束)-------------------------------");
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 小程序端用户取消课程订单
|
||||
* @param courseOrderAddRequest 课程id
|
||||
|
@ -29,6 +29,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@ -49,6 +50,7 @@ import java.util.List;
|
||||
@RequestMapping("coursePromo")
|
||||
@Slf4j
|
||||
@Tag(name = "课程推广待提成记录模块")
|
||||
@Transactional
|
||||
public class CoursePromotionCommissionPendingController {
|
||||
|
||||
@Resource
|
||||
|
@ -18,6 +18,7 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@ -36,6 +37,7 @@ import java.util.List;
|
||||
@RequestMapping("refundRecord")
|
||||
@Slf4j
|
||||
@Tag(name = "退款记录模块")
|
||||
@Transactional
|
||||
public class RefundRecordController {
|
||||
|
||||
@Resource
|
||||
|
@ -10,6 +10,7 @@ import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
@ -23,6 +24,7 @@ import java.io.IOException;
|
||||
@RequestMapping("file")
|
||||
@Slf4j
|
||||
@Tag(name = "文件管理")
|
||||
@Transactional
|
||||
public class FileInfoController {
|
||||
|
||||
|
||||
|
@ -35,6 +35,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.lang.reflect.GenericDeclaration;
|
||||
@ -51,6 +52,7 @@ import java.util.stream.Collectors;
|
||||
@RequestMapping("projectCommission")
|
||||
@Slf4j
|
||||
@Tag(name = "项目明细抽佣管理")
|
||||
@Transactional
|
||||
public class ProjectCommissionController {
|
||||
|
||||
@Resource
|
||||
|
@ -33,6 +33,7 @@ import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@ -51,6 +52,7 @@ import java.util.Map;
|
||||
@RequestMapping("project")
|
||||
@Slf4j
|
||||
@Tag(name = "项目管理")
|
||||
@Transactional
|
||||
public class ProjectController {
|
||||
|
||||
@Resource
|
||||
|
@ -28,6 +28,7 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import com.greenorange.promotion.model.dto.CommonRequest;
|
||||
@ -47,6 +48,7 @@ import java.util.stream.Collectors;
|
||||
@RequestMapping("projectDetail")
|
||||
@Slf4j
|
||||
@Tag(name = "项目明细管理")
|
||||
@Transactional
|
||||
public class ProjectDetailController {
|
||||
|
||||
@Resource
|
||||
|
@ -23,6 +23,7 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@ -41,6 +42,7 @@ import java.util.List;
|
||||
@RequestMapping("projectNotification")
|
||||
@Slf4j
|
||||
@Tag(name = "项目通知管理")
|
||||
@Transactional
|
||||
public class ProjectNotificationController {
|
||||
|
||||
@Resource
|
||||
|
@ -30,6 +30,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@ -49,6 +50,7 @@ import java.util.Map;
|
||||
@RequestMapping("promoCodeApply")
|
||||
@Slf4j
|
||||
@Tag(name = "推广码申请记录管理")
|
||||
@Transactional
|
||||
public class PromoCodeApplyController {
|
||||
|
||||
@Resource
|
||||
|
@ -24,6 +24,7 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@ -42,6 +43,7 @@ import java.util.List;
|
||||
@RequestMapping("promoCode")
|
||||
@Slf4j
|
||||
@Tag(name = "推广码管理")
|
||||
@Transactional
|
||||
public class PromoCodeController {
|
||||
|
||||
@Resource
|
||||
|
@ -47,6 +47,7 @@ import java.util.function.Function;
|
||||
@RequestMapping("projectSettlement")
|
||||
@Slf4j
|
||||
@Tag(name = "项目结算记录管理")
|
||||
@Transactional
|
||||
public class ProjectSettlementController {
|
||||
|
||||
@Resource
|
||||
|
@ -31,6 +31,7 @@ import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@ -48,6 +49,7 @@ import java.util.List;
|
||||
@RequestMapping("withdrawalApply")
|
||||
@Slf4j
|
||||
@Tag(name = "提现申请记录管理")
|
||||
@Transactional
|
||||
public class WithdrawalApplyController {
|
||||
|
||||
@Resource
|
||||
|
@ -28,6 +28,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@ -44,6 +45,7 @@ import java.util.UUID;
|
||||
@RequestMapping("advancementApply")
|
||||
@Slf4j
|
||||
@Tag(name = "晋升申请模块")
|
||||
@Transactional
|
||||
public class AdvancementApplyController {
|
||||
|
||||
@Resource
|
||||
|
@ -17,6 +17,7 @@ import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@ -30,6 +31,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping("userAccount")
|
||||
@Slf4j
|
||||
@Tag(name = "用户账户管理")
|
||||
@Transactional
|
||||
public class UserAccountController {
|
||||
|
||||
@Resource
|
||||
|
@ -32,6 +32,7 @@ import jakarta.validation.Valid;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -47,6 +48,7 @@ import java.util.concurrent.TimeUnit;
|
||||
@RequestMapping("userInfo")
|
||||
@Slf4j
|
||||
@Tag(name = "用户管理")
|
||||
@Transactional
|
||||
public class UserInfoController {
|
||||
|
||||
|
||||
|
@ -24,6 +24,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import com.greenorange.promotion.model.dto.CommonRequest;
|
||||
@ -45,6 +46,7 @@ import java.util.Map;
|
||||
@RequestMapping("userMainInfo")
|
||||
@Slf4j
|
||||
@Tag(name = "用户主要信息管理")
|
||||
@Transactional
|
||||
public class UserMainInfoController {
|
||||
|
||||
@Resource
|
||||
|
@ -31,6 +31,7 @@ import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@ -50,6 +51,7 @@ import java.util.function.Function;
|
||||
@RequestMapping("perform")
|
||||
@Slf4j
|
||||
@Tag(name = "用户绩效汇总模块")
|
||||
@Transactional
|
||||
public class UserPerformanceSummaryController {
|
||||
|
||||
@Resource
|
||||
|
@ -15,6 +15,7 @@ import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.io.*;
|
||||
@ -24,6 +25,7 @@ import java.io.*;
|
||||
@RestController
|
||||
@Tag(name = "获取二维码模块")
|
||||
@RequestMapping("/qrcode")
|
||||
@Transactional
|
||||
public class WechatGetQrcodeController {
|
||||
|
||||
|
||||
|
@ -31,6 +31,7 @@ import jakarta.validation.Valid;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@ -42,6 +43,7 @@ import java.io.IOException;
|
||||
@RestController
|
||||
@Tag(name = "微信支付")
|
||||
@RequestMapping("/wxPay")
|
||||
@Transactional
|
||||
public class WechatPayController {
|
||||
|
||||
|
||||
|
@ -11,6 +11,7 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
@ -23,6 +24,7 @@ import java.util.Map;
|
||||
@RestController
|
||||
@Tag(name = "微信提现模块")
|
||||
@RequestMapping("/payouts")
|
||||
@Transactional
|
||||
public class WechatPayoutsController {
|
||||
|
||||
|
||||
|
@ -16,8 +16,7 @@ import java.io.Serializable;
|
||||
@Data
|
||||
@Schema(description = "晋升申请批准请求体", requiredProperties = {
|
||||
"applyId",
|
||||
"invitationCode",
|
||||
"userRole"
|
||||
"invitationCode"
|
||||
})
|
||||
public class AdvancementApplyApproveRequest implements Serializable {
|
||||
|
||||
|
@ -178,9 +178,11 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo>
|
||||
myUserInfo.setUserAvatar(UserConstant.USER_DEFAULT_AVATAR);
|
||||
this.save(myUserInfo);
|
||||
|
||||
// // 添加用户绩效记录
|
||||
// UserPerformanceSummary userPerformanceSummary = UserPerformanceSummary.builder().userId(myUserInfo.getId()).build();
|
||||
// userPerformanceSummaryService.save(userPerformanceSummary);
|
||||
// 添加用户绩效记录
|
||||
if (UserRoleEnum.SUPERVISOR.equals(userRoleEnum) || UserRoleEnum.STAFF.equals(userRoleEnum)) {
|
||||
UserPerformanceSummary userPerformanceSummary = UserPerformanceSummary.builder().userId(myUserInfo.getId()).build();
|
||||
userPerformanceSummaryService.save(userPerformanceSummary);
|
||||
}
|
||||
|
||||
// 更新上级用户的数量
|
||||
updateParentUserInfoEmpCount(myUserInfo.getId(), userRoleEnum);
|
||||
@ -345,7 +347,7 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo>
|
||||
if (userRoleEnum.equals(UserRoleEnum.USER)) {
|
||||
userInfoLambdaQueryWrapper.eq(UserInfo::getUserRole, userRoleEnum.getValue());
|
||||
} else {
|
||||
userInfoLambdaQueryWrapper.in(UserInfo::getUserRole, UserRoleEnum.MANAGER, UserRoleEnum.SUPERVISOR, UserRoleEnum.STAFF);
|
||||
userInfoLambdaQueryWrapper.in(UserInfo::getUserRole, UserRoleEnum.MANAGER.getValue(), UserRoleEnum.SUPERVISOR.getValue(), UserRoleEnum.STAFF.getValue());
|
||||
}
|
||||
return userInfoLambdaQueryWrapper;
|
||||
}
|
||||
|
@ -95,12 +95,21 @@ public class UserPerformanceSummaryServiceImpl extends ServiceImpl<UserPerforman
|
||||
String orderNumber = userCourseOrderQueryRequest.getOrderNumber();
|
||||
String startTimeStr = userCourseOrderQueryRequest.getStartDate();
|
||||
String endTimeStr = userCourseOrderQueryRequest.getEndDate();
|
||||
DateTime startDate = DateUtil.parse(startTimeStr, "yyyy-MM-dd HH:mm:ss");
|
||||
DateTime endDate = DateUtil.parse(endTimeStr, "yyyy-MM-dd HH:mm:ss");
|
||||
DateTime startDate = null;
|
||||
DateTime endDate = null;
|
||||
boolean isAddDate = true;
|
||||
try {
|
||||
startDate = DateUtil.parse(startTimeStr, "yyyy-MM-dd HH:mm:ss");
|
||||
endDate = DateUtil.parse(endTimeStr, "yyyy-MM-dd HH:mm:ss");
|
||||
} catch (Exception e) {
|
||||
isAddDate = false;
|
||||
}
|
||||
QueryWrapper<CourseOrder> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(StringUtils.isNotBlank(orderNumber), "orderNumber", orderNumber);
|
||||
if (isAddDate) {
|
||||
queryWrapper.ge(StringUtils.isNotBlank(startTimeStr), "createTime", startDate);
|
||||
queryWrapper.le(StringUtils.isNotBlank(endTimeStr), "createTime", endDate);
|
||||
}
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
|
@ -228,18 +228,18 @@ public class WechatPayServiceImpl implements WechatPayService {
|
||||
amountReq.setCurrency("CNY");
|
||||
createRequest.setAmount(amountReq);
|
||||
|
||||
// 生成退款记录
|
||||
Course course = courseService.getById(courseOrder.getCourseId());
|
||||
RefundRecord refundRecord = commonService.copyProperties(course, RefundRecord.class);
|
||||
refundRecord.setId(null);
|
||||
refundRecord.setOutTradeNo(orderNumber);
|
||||
refundRecord.setOutRefundNo(outRefundNo);
|
||||
refundRecord.setTotalAmount(courseOrder.getTotalAmount().movePointRight(2));
|
||||
refundRecord.setRefundAmount(refundAmount.movePointRight(2));
|
||||
refundRecord.setUserId(courseOrder.getUserId());
|
||||
refundRecord.setCreateTime(null);
|
||||
refundRecord.setUpdateTime(null);
|
||||
refundRecordService.save(refundRecord);
|
||||
// // 生成退款记录
|
||||
// Course course = courseService.getById(courseOrder.getCourseId());
|
||||
// RefundRecord refundRecord = commonService.copyProperties(course, RefundRecord.class);
|
||||
// refundRecord.setId(null);
|
||||
// refundRecord.setOutTradeNo(orderNumber);
|
||||
// refundRecord.setOutRefundNo(outRefundNo);
|
||||
// refundRecord.setTotalAmount(courseOrder.getTotalAmount().movePointRight(2));
|
||||
// refundRecord.setRefundAmount(refundAmount.movePointRight(2));
|
||||
// refundRecord.setUserId(courseOrder.getUserId());
|
||||
// refundRecord.setCreateTime(null);
|
||||
// refundRecord.setUpdateTime(null);
|
||||
// refundRecordService.save(refundRecord);
|
||||
|
||||
// 申请退款
|
||||
System.out.println("退款请求:" + createRequest);
|
||||
|
@ -78,7 +78,6 @@ mybatis-plus:
|
||||
logic-delete-field: isDelete #全局逻辑删除的实体字段名
|
||||
logic-delete-value: 1 #逻辑已删除值(默认为1)
|
||||
logic-not-delete-value: 0 #逻辑未删除值(默认为0)
|
||||
type-handlers-package: com.cultural.heritage.handler
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user