| 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);  | 
|   | 
|     }  | 
| }  |