|
|
@@ -26,6 +26,8 @@ import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
+import org.springblade.client.entity.CorpsAttn;
|
|
|
+import org.springblade.client.entity.CorpsDesc;
|
|
|
import org.springblade.common.annotation.RepeatSubmit;
|
|
|
import org.springblade.core.boot.ctrl.BladeController;
|
|
|
import org.springblade.core.excel.util.ExcelUtil;
|
|
|
@@ -36,8 +38,12 @@ import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.utils.BeanUtil;
|
|
|
import org.springblade.core.tool.utils.Func;
|
|
|
import org.springblade.core.tool.utils.ObjectUtil;
|
|
|
+import org.springblade.purchase.sales.entity.IntegralDetail;
|
|
|
+import org.springblade.purchase.sales.entity.Order;
|
|
|
+import org.springblade.purchase.sales.feign.IIntegralClient;
|
|
|
import org.springblade.salesPart.brand.service.IBrandFilesService;
|
|
|
import org.springblade.salesPart.corps.service.ICorpsAttnService;
|
|
|
+import org.springblade.salesPart.corps.service.ICorpsDescService;
|
|
|
import org.springblade.salesPart.entity.*;
|
|
|
import org.springblade.salesPart.enums.OrderTypeEnum;
|
|
|
import org.springblade.salesPart.excel.*;
|
|
|
@@ -47,10 +53,13 @@ import org.springblade.salesPart.order.service.IOrderService;
|
|
|
import org.springblade.salesPart.vo.OrderStatistics;
|
|
|
import org.springblade.salesPart.vo.OrderVO;
|
|
|
import org.springblade.salesPart.vo.PjOrderStatisticsWeb;
|
|
|
+import org.springblade.system.entity.Tenant;
|
|
|
+import org.springblade.system.feign.ISysClient;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
import org.springblade.system.user.feign.IUserClient;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import javax.validation.Valid;
|
|
|
import java.math.BigDecimal;
|
|
|
@@ -78,8 +87,11 @@ public class OrderController extends BladeController {
|
|
|
//获取用户信息
|
|
|
private final IUserClient iUserClient;
|
|
|
private final ICorpsAttnService corpsAttnService;
|
|
|
+ private final ICorpsDescService corpsDescService;
|
|
|
private final IGoodsFilesService goodsFilesService;
|
|
|
private final IBrandFilesService brandFilesService;
|
|
|
+ private final ISysClient sysClient;
|
|
|
+ private final IIntegralClient iIntegralClient;
|
|
|
|
|
|
/**
|
|
|
* 销售详情
|
|
|
@@ -853,4 +865,104 @@ public class OrderController extends BladeController {
|
|
|
return orderService.todayIncome(order);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 积分兑换记录
|
|
|
+ */
|
|
|
+ @GetMapping("/integralExchangeRecord")
|
|
|
+ public R<IPage<IntegralDetail>> integralExchangeRecord(HttpServletRequest request, Query query, @RequestParam(value = "corpId", required = false) Long corpId) {
|
|
|
+ LambdaQueryWrapper<IntegralDetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ if (corpId == null) {
|
|
|
+ if (ObjectUtils.isNull(request.getHeader("Blade-Auth"))) {
|
|
|
+ // 获取租户信息
|
|
|
+ R<Tenant> tenant = sysClient.getTenantByAppId(request.getHeader("appId"));
|
|
|
+ if (tenant.isSuccess() && ObjectUtils.isNotNull(tenant.getData())) {
|
|
|
+ lambdaQueryWrapper.eq(IntegralDetail::getTenantId, tenant.getData().getTenantId());
|
|
|
+ } else {
|
|
|
+ throw new RuntimeException("获取数据失败");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ lambdaQueryWrapper.eq(IntegralDetail::getTenantId, AuthUtil.getTenantId());
|
|
|
+ }
|
|
|
+ if (AuthUtil.getUserRole().equals("客户")) {
|
|
|
+ PjCorpsAttn corpsAttn = corpsAttnService.getOne(new LambdaQueryWrapper<PjCorpsAttn>()
|
|
|
+ .eq(PjCorpsAttn::getUserId, AuthUtil.getUserId())
|
|
|
+ .eq(PjCorpsAttn::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PjCorpsAttn::getIsDeleted, 0));
|
|
|
+ if (ObjectUtils.isNull(corpsAttn)) {
|
|
|
+ throw new RuntimeException("未查到用户信息");
|
|
|
+ } else {
|
|
|
+ PjCorpsDesc corpsDesc = corpsDescService.getById(corpsAttn.getPid());
|
|
|
+ if (ObjectUtils.isNull(corpsDesc)) {
|
|
|
+ throw new RuntimeException("未查到用户信息");
|
|
|
+ } else {
|
|
|
+ corpId = corpsDesc.getId();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ lambdaQueryWrapper.eq(IntegralDetail::getTenantId, AuthUtil.getTenantId());
|
|
|
+ }
|
|
|
+ lambdaQueryWrapper.eq(IntegralDetail::getCorpId, corpId)
|
|
|
+ .eq(IntegralDetail::getType, "积分兑换")
|
|
|
+ .ne(IntegralDetail::getIntegral, 0);
|
|
|
+ return iIntegralClient.slectPage(Condition.getPage(query), lambdaQueryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 积分获取记录
|
|
|
+ */
|
|
|
+ @GetMapping("/integralRecord")
|
|
|
+ public R<IPage<IntegralDetail>> integralRecord(HttpServletRequest request, Query query, @RequestParam(value = "corpId", required = false) Long corpId) {
|
|
|
+ LambdaQueryWrapper<IntegralDetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ if (corpId == null) {
|
|
|
+ if (ObjectUtils.isNull(request.getHeader("Blade-Auth"))) {
|
|
|
+ // 获取租户信息
|
|
|
+ R<Tenant> tenant = sysClient.getTenantByAppId(request.getHeader("appId"));
|
|
|
+ if (tenant.isSuccess() && ObjectUtils.isNotNull(tenant.getData())) {
|
|
|
+ lambdaQueryWrapper.eq(IntegralDetail::getTenantId, tenant.getData().getTenantId());
|
|
|
+ } else {
|
|
|
+ throw new RuntimeException("获取数据失败");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ lambdaQueryWrapper.eq(IntegralDetail::getTenantId, AuthUtil.getTenantId());
|
|
|
+ }
|
|
|
+ if (AuthUtil.getUserRole().equals("客户")) {
|
|
|
+ PjCorpsAttn corpsAttn = corpsAttnService.getOne(new LambdaQueryWrapper<PjCorpsAttn>()
|
|
|
+ .eq(PjCorpsAttn::getUserId, AuthUtil.getUserId())
|
|
|
+ .eq(PjCorpsAttn::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PjCorpsAttn::getIsDeleted, 0));
|
|
|
+ if (ObjectUtils.isNull(corpsAttn)) {
|
|
|
+ throw new RuntimeException("未查到用户信息");
|
|
|
+ } else {
|
|
|
+ PjCorpsDesc corpsDesc = corpsDescService.getById(corpsAttn.getPid());
|
|
|
+ if (ObjectUtils.isNull(corpsDesc)) {
|
|
|
+ throw new RuntimeException("未查到用户信息");
|
|
|
+ } else {
|
|
|
+ corpId = corpsDesc.getId();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ lambdaQueryWrapper.eq(IntegralDetail::getTenantId, AuthUtil.getTenantId());
|
|
|
+ }
|
|
|
+ lambdaQueryWrapper.eq(IntegralDetail::getCorpId, corpId)
|
|
|
+ .apply("find_in_set(type,'购买获取,退款退货')")
|
|
|
+ .ne(IntegralDetail::getIntegral, 0);
|
|
|
+ return iIntegralClient.slectPage(Condition.getPage(query), lambdaQueryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 消费记录
|
|
|
+ */
|
|
|
+ @GetMapping("/consumptionRecords")
|
|
|
+ public R<IPage<PjOrder>> consumptionRecords(PjOrder order, Query query) {
|
|
|
+ LambdaQueryWrapper<PjOrder> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PjOrder::getIsDeleted, 0)
|
|
|
+ .eq(PjOrder::getBsType, "XS")
|
|
|
+ .eq(PjOrder::getWhetherIntegral, "0")
|
|
|
+ .eq(PjOrder::getCustomerId, order.getCustomerId());
|
|
|
+ return R.data(orderService.page(Condition.getPage(query), lambdaQueryWrapper));
|
|
|
+ }
|
|
|
+
|
|
|
}
|