package com.xzx.gc.order.controller;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.util.StrUtil;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.xzx.gc.common.constant.BusinessEnum;
|
import com.xzx.gc.common.constant.CommonEnum;
|
import com.xzx.gc.common.constant.Constants;
|
import com.xzx.gc.common.constant.OrderEnum;
|
import com.xzx.gc.common.dto.log.OperationAppLog;
|
import com.xzx.gc.common.request.BaseController;
|
import com.xzx.gc.common.utils.DateUtils;
|
import com.xzx.gc.entity.OrderSettle;
|
import com.xzx.gc.entity.WeightItemPrice;
|
import com.xzx.gc.model.FileExportDTO;
|
import com.xzx.gc.model.JsonResult;
|
import com.xzx.gc.model.admin.OrderModel;
|
import com.xzx.gc.model.admin.SettlementModel;
|
import com.xzx.gc.model.order.QueryRuleManageDetailDTO;
|
import com.xzx.gc.model.order.SettlePageDTO;
|
import com.xzx.gc.model.order.UpdateRoyaltyRuleDTO;
|
import com.xzx.gc.order.service.WeightItemPriceService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.MediaType;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
@RestController
|
@Api(tags = {"提成管理"})
|
@Validated
|
@Slf4j
|
public class WeightItemPriceController extends BaseController {
|
|
@Autowired
|
private WeightItemPriceService weightItemPriceService;
|
|
@PostMapping("/admin/front/weightItemPrice/queryRuleManage.json")
|
@ApiOperation(value = "提成管理", notes = "test: 仅0有正确返回")
|
public JsonResult<Map<String, Object>> queryRoyaltyManage(@RequestBody SettlementModel model) {
|
Map<String, Object> map = weightItemPriceService.queryRoyaltyManage(model);
|
return JsonResult.success(map);
|
}
|
|
@PostMapping("/admin/front/weightItemPrice/queryRuleManageDetail.json")
|
@ApiOperation(value = "提成明细列表", notes = "test: 仅0有正确返回")
|
public JsonResult<List<WeightItemPrice>> queryRuleManageDetail(@RequestBody QueryRuleManageDetailDTO queryRuleManageDetailDTO) {
|
List<WeightItemPrice> list = weightItemPriceService.queryRuleManageDetail(queryRuleManageDetailDTO);
|
return JsonResult.success(list);
|
}
|
|
@PostMapping( "/admin/front/weightItemPrice/updateRoyaltyRule.json")
|
@ApiOperation(value = "提成明细审核", notes = "test: 仅0有正确返回")
|
public JsonResult<String> updateRoyaltyRule(@RequestBody UpdateRoyaltyRuleDTO updateRoyaltyRuleDTO, HttpServletRequest request) {
|
weightItemPriceService.updateRoyaltyRule(updateRoyaltyRuleDTO);
|
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.ORDER_MODUL_NAME).operateAction("提成明细批量审核-" + updateRoyaltyRuleDTO.getReceiver()).build();
|
mqUtil.sendApp(build);
|
return JsonResult.success("结算成功!");
|
}
|
|
|
@PostMapping( "/admin/front/weightItemPrice/settlePage.json")
|
@ApiOperation(value = "结算明细分页查询", notes = "test: 仅0有正确返回")
|
public JsonResult<PageInfo<OrderSettle>> settlePage(@RequestBody SettlePageDTO settlePageDTO, HttpServletRequest request) {
|
PageHelper.startPage(settlePageDTO.getPageNo(),settlePageDTO.getPageSize());
|
List<OrderSettle> list=weightItemPriceService.settlePage(settlePageDTO);
|
return JsonResult.success(new PageInfo<>(list));
|
}
|
|
@ApiOperation(value = "提成明细导出", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
|
@PostMapping(value = "/admin/front/weightItemPrice/export")
|
public void fileExport(@RequestBody FileExportDTO fileExportDTO, HttpServletRequest request, HttpServletResponse response) {
|
List<List<String>> rows = new ArrayList<>();
|
Map<String, Object> object = (Map<String, Object>) fileExportDTO.getObject();
|
//标题
|
List<String> header = CollUtil.newArrayList("结算状态","未结算提成(元)", "入库重量(kg)", "回收价格(元)", "入库价格(元)", "分类类型", "入库单号", "姓名","手机号","角色","入库完成时间");
|
rows.add(header);
|
|
//组装数据
|
QueryRuleManageDetailDTO dto = BeanUtil.mapToBean(object, QueryRuleManageDetailDTO.class, true);
|
List<WeightItemPrice> list = weightItemPriceService.queryRuleManageDetail(dto);
|
if (CollUtil.isNotEmpty(list)) {
|
for (WeightItemPrice model : list) {
|
String statusName;
|
if(OrderEnum.未结算.getValue().equals(model.getStatus())){
|
statusName=OrderEnum.未结算.name();
|
}else if(OrderEnum.已结算并支付.getValue().equals(model.getStatus())){
|
statusName=OrderEnum.已结算并支付.name();
|
}else if(OrderEnum.异常.getValue().equals(model.getStatus())){
|
statusName=OrderEnum.异常.name();
|
}else{
|
statusName=OrderEnum.仅结算.name();
|
}
|
List<String> row = CollUtil.newArrayList(statusName,model.getSettleMoney(),model.getWeight(),model.getGoodsPrice(),model.getPackagePrice(),model.getProductName(),model.getStorageId(),model.getName(),model.getMobilePhone(),model.getRoleName(),model.getStorageTime());
|
rows.add(row);
|
}
|
}
|
|
//导出
|
export(rows, response);
|
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.ORDER_MODUL_NAME).operateAction("提成明细导出").build();
|
mqUtil.sendApp(build);
|
|
}
|
}
|