修改了代码结构
This commit is contained in:
@ -91,27 +91,7 @@ public class ProjectController {
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
// @SysLog(title = "项目管理", content = "小程序用户查看项目列表")
|
||||
public BaseResponse<List<ProjectCardVO>> queryProjectCardList(HttpServletRequest request) {
|
||||
Long userId = (Long) request.getAttribute("userId");
|
||||
// 获取项目明细抽佣列表
|
||||
List<ProjectCommission> projectCommissionList = commonService.findByFieldEqTargetField(ProjectCommission::getUserId, userId, projectCommissionService);
|
||||
// 封装Map集合(键:项目id, 值:项目总价)
|
||||
Map<Long, BigDecimal> projectPriceMap = new HashMap<>();
|
||||
for (ProjectCommission projectCommission : projectCommissionList) {
|
||||
Long projectId = projectCommission.getProjectId();
|
||||
BigDecimal projectPrice = projectPriceMap.get(projectId);
|
||||
if (projectPrice == null) {
|
||||
projectPrice = projectCommission.getMyUnitPrice();
|
||||
} else {
|
||||
projectPrice = projectPrice.add(projectCommission.getMyUnitPrice());
|
||||
}
|
||||
projectPriceMap.put(projectId, projectPrice);
|
||||
}
|
||||
List<Project> projectList = commonService.findByFieldEqTargetField(Project::getIsShelves, 1, projectService);
|
||||
for (Project project : projectList) {
|
||||
BigDecimal projectPrice = projectPriceMap.get(project.getId());
|
||||
project.setProjectPrice(projectPrice == null ? BigDecimal.ZERO : projectPrice);
|
||||
}
|
||||
List<ProjectCardVO> projectCardVOS = commonService.convertList(projectList, ProjectCardVO.class);
|
||||
List<ProjectCardVO> projectCardVOS = projectService.queryProjectCardList(request);
|
||||
return ResultUtils.success(projectCardVOS);
|
||||
}
|
||||
|
||||
@ -281,10 +261,7 @@ public class ProjectController {
|
||||
@RequiresPermission(mustRole = UserConstant.ADMIN_ROLE)
|
||||
@SysLog(title = "项目管理", content = "web端管理员根据id查询项目")
|
||||
public BaseResponse<ProjectVO> queryProjectById(@Valid @RequestBody CommonRequest commonRequest) {
|
||||
Long id = commonRequest.getId();
|
||||
Project project = projectService.getById(id);
|
||||
ThrowUtils.throwIf(project == null, ErrorCode.OPERATION_ERROR, "当前项目不存在");
|
||||
ProjectVO projectVO = commonService.copyProperties(project, ProjectVO.class);
|
||||
ProjectVO projectVO = projectService.queryProjectById(commonRequest);
|
||||
return ResultUtils.success(projectVO);
|
||||
}
|
||||
|
||||
|
@ -114,12 +114,7 @@ public class PromoCodeController {
|
||||
@RequiresPermission(mustRole = UserConstant.ADMIN_ROLE)
|
||||
@SysLog(title = "推广码管理", content = "web端管理员批量删除推广码")
|
||||
public BaseResponse<Boolean> delBatchPromoCode(@Valid @RequestBody CommonBatchRequest commonBatchRequest) {
|
||||
List<Long> ids = commonBatchRequest.getIds();
|
||||
LambdaQueryWrapper<PromoCode> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(PromoCode::getId, ids).eq(PromoCode::getPromoCodeStatus, true);
|
||||
List<PromoCode> promoCodeList = promoCodeService.list(lambdaQueryWrapper);
|
||||
ThrowUtils.throwIf(promoCodeList.size() > 0, ErrorCode.OPERATION_ERROR, "当前推广码正在使用中,无法删除");
|
||||
promoCodeService.removeByIds(ids);
|
||||
promoCodeService.delBatchPromoCode(commonBatchRequest);
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
|
@ -58,10 +58,7 @@ public class UserAccountController {
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
// @SysLog(title = "用户账户管理", content = "小程序端用户添加用户账户")
|
||||
public BaseResponse<Boolean> addUserAccount(@Valid @RequestBody UserAccountAddRequest userAccountAddRequest, HttpServletRequest request) {
|
||||
Long userId = (Long) request.getAttribute("userId");
|
||||
UserAccount userAccount = commonService.copyProperties(userAccountAddRequest, UserAccount.class);
|
||||
userAccount.setUserId(userId);
|
||||
userAccountService.save(userAccount);
|
||||
userAccountService.addUserAccount(userAccountAddRequest, request);
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
@ -75,10 +72,7 @@ public class UserAccountController {
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
// @SysLog(title = "用户账户管理", content = "小程序端用户根据id修改用户账户信息")
|
||||
public BaseResponse<Boolean> updateUserAccount(@Valid @RequestBody UserAccountUpdateRequest userAccountUpdateRequest, HttpServletRequest request) {
|
||||
Long userId = (Long) request.getAttribute("userId");
|
||||
UserAccount userAccount = commonService.copyProperties(userAccountUpdateRequest, UserAccount.class);
|
||||
userAccount.setUserId(userId);
|
||||
userAccountService.updateById(userAccount);
|
||||
userAccountService.updateUserAccount(userAccountUpdateRequest, request);
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
|
@ -1,13 +1,17 @@
|
||||
package com.greenorange.promotion.model.vo.project;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ProjectCardVO implements Serializable {
|
||||
|
||||
/**
|
||||
|
@ -1,9 +1,15 @@
|
||||
package com.greenorange.promotion.service.project;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.greenorange.promotion.model.dto.CommonRequest;
|
||||
import com.greenorange.promotion.model.dto.project.ProjectQueryRequest;
|
||||
import com.greenorange.promotion.model.entity.Project;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.greenorange.promotion.model.vo.project.ProjectCardVO;
|
||||
import com.greenorange.promotion.model.vo.project.ProjectVO;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
@ -17,4 +23,17 @@ public interface ProjectService extends IService<Project> {
|
||||
* 获取查询条件
|
||||
*/
|
||||
QueryWrapper<Project> getQueryWrapper(ProjectQueryRequest projectQueryRequest);
|
||||
|
||||
|
||||
/**
|
||||
* 小程序用户查看项目列表
|
||||
* @return 项目列表
|
||||
*/
|
||||
List<ProjectCardVO> queryProjectCardList(HttpServletRequest request);
|
||||
|
||||
|
||||
/**
|
||||
* web端管理员根据id查询项目
|
||||
*/
|
||||
ProjectVO queryProjectById(CommonRequest commonRequest);
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.greenorange.promotion.service.project;
|
||||
|
||||
import com.greenorange.promotion.model.dto.CommonBatchRequest;
|
||||
import com.greenorange.promotion.model.entity.PromoCode;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
@ -10,4 +11,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
*/
|
||||
public interface PromoCodeService extends IService<PromoCode> {
|
||||
|
||||
|
||||
/**
|
||||
* web端管理员批量删除推广码
|
||||
*/
|
||||
void delBatchPromoCode(CommonBatchRequest commonBatchRequest);
|
||||
}
|
||||
|
@ -2,16 +2,32 @@ package com.greenorange.promotion.service.project.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.greenorange.promotion.common.ErrorCode;
|
||||
import com.greenorange.promotion.common.ResultUtils;
|
||||
import com.greenorange.promotion.constant.CommonConstant;
|
||||
import com.greenorange.promotion.exception.ThrowUtils;
|
||||
import com.greenorange.promotion.model.dto.CommonRequest;
|
||||
import com.greenorange.promotion.model.dto.project.ProjectQueryRequest;
|
||||
import com.greenorange.promotion.model.entity.Project;
|
||||
import com.greenorange.promotion.model.entity.ProjectCommission;
|
||||
import com.greenorange.promotion.model.entity.UserInfo;
|
||||
import com.greenorange.promotion.model.vo.project.ProjectCardVO;
|
||||
import com.greenorange.promotion.model.vo.project.ProjectVO;
|
||||
import com.greenorange.promotion.service.common.CommonService;
|
||||
import com.greenorange.promotion.service.project.ProjectCommissionService;
|
||||
import com.greenorange.promotion.service.project.ProjectService;
|
||||
import com.greenorange.promotion.mapper.ProjectMapper;
|
||||
import com.greenorange.promotion.utils.SqlUtils;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
* @description 针对表【project(项目表)】的数据库操作Service实现
|
||||
@ -21,6 +37,19 @@ import org.springframework.stereotype.Service;
|
||||
public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
|
||||
implements ProjectService{
|
||||
|
||||
|
||||
@Resource
|
||||
private CommonService commonService;
|
||||
|
||||
|
||||
@Resource
|
||||
private ProjectService projectService;
|
||||
|
||||
|
||||
@Resource
|
||||
private ProjectCommissionService projectCommissionService;
|
||||
|
||||
|
||||
/**
|
||||
* 获取查询条件
|
||||
*/
|
||||
@ -36,6 +65,49 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
|
||||
queryWrapper.orderBy(SqlUtils.validSortField(sortField), sortOrder.equals(CommonConstant.SORT_ORDER_ASC), sortField);
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 小程序用户查看项目列表
|
||||
* @return 项目列表
|
||||
*/
|
||||
@Override
|
||||
public List<ProjectCardVO> queryProjectCardList(HttpServletRequest request) {
|
||||
|
||||
Long userId = (Long) request.getAttribute("userId");
|
||||
// 获取项目明细抽佣列表
|
||||
List<ProjectCommission> projectCommissionList = commonService.findByFieldEqTargetField(ProjectCommission::getUserId, userId, projectCommissionService);
|
||||
// 封装Map集合(键:项目id, 值:项目总价)
|
||||
Map<Long, BigDecimal> projectPriceMap = new HashMap<>();
|
||||
for (ProjectCommission projectCommission : projectCommissionList) {
|
||||
Long projectId = projectCommission.getProjectId();
|
||||
BigDecimal projectPrice = projectPriceMap.get(projectId);
|
||||
if (projectPrice == null) {
|
||||
projectPrice = projectCommission.getMyUnitPrice();
|
||||
} else {
|
||||
projectPrice = projectPrice.add(projectCommission.getMyUnitPrice());
|
||||
}
|
||||
projectPriceMap.put(projectId, projectPrice);
|
||||
}
|
||||
List<Project> projectList = commonService.findByFieldEqTargetField(Project::getIsShelves, 1, projectService);
|
||||
for (Project project : projectList) {
|
||||
BigDecimal projectPrice = projectPriceMap.get(project.getId());
|
||||
project.setProjectPrice(projectPrice == null ? BigDecimal.ZERO : projectPrice);
|
||||
}
|
||||
return commonService.convertList(projectList, ProjectCardVO.class);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* web端管理员根据id查询项目
|
||||
*/
|
||||
@Override
|
||||
public ProjectVO queryProjectById(CommonRequest commonRequest) {
|
||||
Long id = commonRequest.getId();
|
||||
Project project = projectService.getById(id);
|
||||
ThrowUtils.throwIf(project == null, ErrorCode.OPERATION_ERROR, "当前项目不存在");
|
||||
return commonService.copyProperties(project, ProjectVO.class);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,11 +1,17 @@
|
||||
package com.greenorange.promotion.service.project.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.greenorange.promotion.common.ErrorCode;
|
||||
import com.greenorange.promotion.exception.ThrowUtils;
|
||||
import com.greenorange.promotion.model.dto.CommonBatchRequest;
|
||||
import com.greenorange.promotion.model.entity.PromoCode;
|
||||
import com.greenorange.promotion.service.project.PromoCodeService;
|
||||
import com.greenorange.promotion.mapper.PromoCodeMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
* @description 针对表【promo_code(推广码信息表)】的数据库操作Service实现
|
||||
@ -15,6 +21,19 @@ import org.springframework.stereotype.Service;
|
||||
public class PromoCodeServiceImpl extends ServiceImpl<PromoCodeMapper, PromoCode>
|
||||
implements PromoCodeService{
|
||||
|
||||
|
||||
/**
|
||||
* web端管理员批量删除推广码
|
||||
*/
|
||||
@Override
|
||||
public void delBatchPromoCode(CommonBatchRequest commonBatchRequest) {
|
||||
List<Long> ids = commonBatchRequest.getIds();
|
||||
LambdaQueryWrapper<PromoCode> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(PromoCode::getId, ids).eq(PromoCode::getPromoCodeStatus, true);
|
||||
List<PromoCode> promoCodeList = this.list(lambdaQueryWrapper);
|
||||
ThrowUtils.throwIf(promoCodeList.size() > 0, ErrorCode.OPERATION_ERROR, "当前推广码正在使用中,无法删除");
|
||||
this.removeByIds(ids);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,7 +1,10 @@
|
||||
package com.greenorange.promotion.service.settle;
|
||||
|
||||
import com.greenorange.promotion.model.dto.userAccount.UserAccountAddRequest;
|
||||
import com.greenorange.promotion.model.dto.userAccount.UserAccountUpdateRequest;
|
||||
import com.greenorange.promotion.model.entity.UserAccount;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
@ -10,4 +13,14 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
*/
|
||||
public interface UserAccountService extends IService<UserAccount> {
|
||||
|
||||
/**
|
||||
* 小程序端用户添加用户账户
|
||||
*/
|
||||
void addUserAccount(UserAccountAddRequest userAccountAddRequest, HttpServletRequest request);
|
||||
|
||||
|
||||
/**
|
||||
* 小程序端用户根据id修改用户账户信息
|
||||
*/
|
||||
void updateUserAccount(UserAccountUpdateRequest userAccountUpdateRequest, HttpServletRequest request);
|
||||
}
|
||||
|
@ -1,9 +1,14 @@
|
||||
package com.greenorange.promotion.service.settle.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.greenorange.promotion.model.dto.userAccount.UserAccountAddRequest;
|
||||
import com.greenorange.promotion.model.dto.userAccount.UserAccountUpdateRequest;
|
||||
import com.greenorange.promotion.model.entity.UserAccount;
|
||||
import com.greenorange.promotion.service.common.CommonService;
|
||||
import com.greenorange.promotion.service.settle.UserAccountService;
|
||||
import com.greenorange.promotion.mapper.UserAccountMapper;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
@ -15,6 +20,33 @@ import org.springframework.stereotype.Service;
|
||||
public class UserAccountServiceImpl extends ServiceImpl<UserAccountMapper, UserAccount>
|
||||
implements UserAccountService{
|
||||
|
||||
|
||||
@Resource
|
||||
private CommonService commonService;
|
||||
|
||||
|
||||
/**
|
||||
* 小程序端用户添加用户账户
|
||||
*/
|
||||
@Override
|
||||
public void addUserAccount(UserAccountAddRequest userAccountAddRequest, HttpServletRequest request) {
|
||||
Long userId = (Long) request.getAttribute("userId");
|
||||
UserAccount userAccount = commonService.copyProperties(userAccountAddRequest, UserAccount.class);
|
||||
userAccount.setUserId(userId);
|
||||
this.save(userAccount);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 小程序端用户根据id修改用户账户信息
|
||||
*/
|
||||
@Override
|
||||
public void updateUserAccount(UserAccountUpdateRequest userAccountUpdateRequest, HttpServletRequest request) {
|
||||
Long userId = (Long) request.getAttribute("userId");
|
||||
UserAccount userAccount = commonService.copyProperties(userAccountUpdateRequest, UserAccount.class);
|
||||
userAccount.setUserId(userId);
|
||||
this.updateById(userAccount);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user