This commit is contained in:
许允枞 2025-03-14 18:08:37 +08:00
parent 019770205c
commit 8b058ad67e
7 changed files with 934 additions and 60 deletions

View File

@ -0,0 +1,857 @@
package cn.iocoder.yudao.module.inspection.controller.app;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.core.controller.BaseController;
import cn.iocoder.yudao.module.inspection.entity.*;
import cn.iocoder.yudao.module.inspection.query.OrderTableQuery;
import cn.iocoder.yudao.module.inspection.service.AppInspectionPartnerService;
import cn.iocoder.yudao.module.inspection.vo.*;
import cn.iocoder.yudao.module.partner.entity.PartnerBalanceDetail;
import cn.iocoder.yudao.module.partner.entity.PartnerWorker;
import cn.iocoder.yudao.module.partner.service.IPartnerWorkerService;
import cn.iocoder.yudao.module.payment.entity.OrderInfo;
import cn.iocoder.yudao.module.shop.entity.ShopCouponTemplate;
import cn.iocoder.yudao.module.shop.entity.ShopMallPartners;
import cn.iocoder.yudao.module.system.api.user.dto.UserDTO;
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataSaveReqVO;
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.type.DictTypeSaveReqVO;
import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO;
import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictTypeDO;
import cn.iocoder.yudao.module.system.service.dict.DictDataService;
import cn.iocoder.yudao.module.system.service.dict.DictTypeService;
import cn.iocoder.yudao.module.system.service.permission.RoleService;
import cn.iocoder.yudao.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@RestController
@RequestMapping("/partnerOwn/partner")
public class AppPartnerOwnController extends BaseController {
@Autowired
private AppInspectionPartnerService partnerList;
@Autowired
private IPartnerWorkerService partnerWorkerService;
@Autowired
private DictTypeService dictTypeService;
@Autowired
private DictDataService dictDataService;
@Autowired
private RoleService roleService;
/**
* 获取店铺详情
*/
@GetMapping("/shopInfo")
public CommonResult shopInfo() throws Exception {
return success(partnerList.shopInfo());
}
@GetMapping("/shopInfoByUserId")
public CommonResult shopInfoByUserId() throws Exception {
return success(partnerList.shopInfoByUserId());
}
/**
* 获取上门取车 预约条数
*/
@GetMapping("/getAppointAndPickNum")
public CommonResult getAppointAndPickNum() throws Exception {
return success(partnerList.getAppointAndPickNum());
}
/**
* 开始或者停止营业
*/
@PostMapping("/startOrEnd")
public CommonResult startOrEnd(Long partnerId) {
partnerList.startOrEnd(partnerId);
return success();
}
/**
* 首页 顶部数据统计
*/
@GetMapping("/statisticsInfo")
public CommonResult statisticsInfo() {
return success(partnerList.statisticsInfo(null));
}
/**
* 检测线图
*/
@GetMapping("/chartInfoAmount")
public CommonResult chartInfoAmount(Long partnerId, String unit) {
return success(partnerList.chartInfoAmount(partnerId, unit));
}
/**
* 新检测线图
*/
@GetMapping("/newChartInfoAmount")
public CommonResult newChartInfoAmount(String unit) {
return success(partnerList.newChartInfoAmount(unit));
}
/**
* staticsTable1
* 检测数量折线图
*/
@GetMapping("/chartLineInspectionNum")
public CommonResult chartLineInspectionNum(Long partnerId, String unit) {
return success(partnerList.chartLineInspectionNum(partnerId, unit));
}
/**
* staticsTable1
* 新检测数量折线图
*/
@GetMapping("/newChartLineInspectionNum")
public CommonResult newChartLineInspectionNum(String unit) {
return success(partnerList.newChartLineInspectionNum(unit));
}
/**
* 检测金额折线图
*/
@GetMapping("/chartLineInspectionAmount")
public CommonResult chartLineInspectionAmount(Long partnerId, String unit) {
return success(partnerList.chartLineInspectionAmount(partnerId, unit));
}
/**
* 新检测金额折线图
*/
@GetMapping("/newChartLineInspectionAmount")
public CommonResult newChartLineInspectionAmount(String unit) {
return success(partnerList.newChartLineInspectionAmount(unit));
}
/**
* 检测线图
*/
@GetMapping("/chartInfoNum")
public CommonResult chartInfoNum(Long partnerId, String unit) {
return success(partnerList.chartInfoNum(partnerId, unit));
}
/**
* 新检测线图
*/
@GetMapping("/newChartInfoNum")
public CommonResult newChartInfoNum(String unit) {
return success(partnerList.newChartInfoNum(unit));
}
/**
* 检测线图
*/
@GetMapping("/chartInfoRatio")
public CommonResult chartInfoRatio(Long partnerId, String unit) throws Exception {
if (ObjectUtil.isNull(partnerId)) {
partnerId = partnerList.shopInfoByUserId().getPartnerId();
}
return success(partnerList.chartInfoRatio(partnerId, unit));
}
/**
* 新检测线图
*/
@GetMapping("/newChartInfoRatio")
public CommonResult newChartInfoRatio(String unit) {
return success(partnerList.newChartInfoRatio(unit));
}
/**
* 首页 订单信息
*/
@GetMapping("/orderInfo")
public CommonResult orderInfo(Long partnerId) {
return success(partnerList.orderInfo(partnerId));
}
/**
* 热销商品列表
*/
@GetMapping("/hotGoodsList")
public CommonResult hotGoodsList(Long partnerId) {
return success(partnerList.hotGoodsList(partnerId));
}
/**
* 热销商品列表
*/
@GetMapping("/newHotGoodsList")
public CommonResult newHotGoodsList() {
return success(partnerList.newHotGoodsList());
}
/**
* 分页查询所有数据
*
* @return 所有数据
*/
@GetMapping("/categoryList")
public CommonResult categoryList(Long partnerId) {
return success(partnerList.categoryList(partnerId));
}
/**
* 发布商品
*/
@PostMapping("/addGoods")
public CommonResult addGoods(@RequestBody ShopInspectionGoods goods) throws Exception {
partnerList.addGoods(goods);
return success();
}
/**
* 商品管理列表
*/
@GetMapping("/goodsList")
public CommonResult goodsList(Long partnerId, String isListing, String goodsTitle,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
// LoginUser user = SecurityFrameworkUtils.getLoginUser();
// ShopMallPartners partners = partnerList.getById(partnerId);
// if (!partners.getUserId().equals(user.getId())) {
// return null;
// }
Page<GoodsVo> page = new Page<>(pageNum, pageSize);
IPage<GoodsVo> list = partnerList.goodsList(page, partnerId, isListing, goodsTitle);
return success(list);
}
/**
* 商品管理列表
*/
@GetMapping("/canUsegoods")
public CommonResult canUseGoods(Long partnerId) {
LoginUser user = SecurityFrameworkUtils.getLoginUser();
ShopMallPartners partners = partnerList.getById(partnerId);
if (!partners.getUserId().equals(user.getId())) {
return null;
}
return success(partnerList.canUseGoods(partnerId));
}
/**
* 商品详细信息
*/
@GetMapping("/goodsDetail")
public CommonResult goodsDetail(Long goodsId) {
return success(partnerList.goodsDetail(goodsId));
}
/**
* 修改商品
*/
@PostMapping("/editGoods")
public CommonResult editGoods(@RequestBody ShopInspectionGoods goods) throws Exception {
partnerList.editGoods(goods);
return success();
}
@PostMapping("/editSkuPrice")
public CommonResult editSkuPrice(@RequestBody ShopInspectionGoods goods) throws Exception {
partnerList.editSkuPrice(goods);
return success();
}
/**
* 上下架
*/
@PostMapping("/changeListing")
public CommonResult changeListing(Long goodsId) throws Exception {
partnerList.changeListing(goodsId);
return success();
}
/**
* 删除商品
*/
@PostMapping("/delGoods")
public CommonResult delGoods(Long goodsId) throws Exception {
partnerList.delGoods(goodsId);
return success();
}
/**
* 管理店铺信息
*/
@PostMapping("/getPartnerInfo")
public CommonResult getPartnerInfo(Long partnerId) {
return success(partnerList.getPartnerInfo(partnerId));
}
/**
* 管理店铺信息
*/
@PostMapping("/editPartnerInfo")
public CommonResult editPartnerInfo(@RequestBody ShopMallPartners partners) {
partnerList.editPartnerInfo(partners);
return success();
}
/**
* 店铺账户信息
*/
@GetMapping("/accountInfo")
public CommonResult accountInfo(Long partnerId) {
return success(partnerList.accountInfo(partnerId));
}
/**
* 店铺账户信息
*/
@GetMapping("/accountDetail")
public CommonResult accountDetail(Long partnerId,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
Page<PartnerBalanceDetail> page = new Page<>(pageNum, pageSize);
IPage<PartnerBalanceDetail> details = partnerList.accountDetail(page, partnerId, pageNum, pageSize);
return success(details);
}
/**
* 当前店铺的订单信息
*/
@GetMapping("/orderList")
public CommonResult orderList(Long partnerId, String phoneNum, String title,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
LoginUser user = SecurityFrameworkUtils.getLoginUser();
ShopMallPartners partnersTmp = partnerList.getById(partnerId);
if (!partnersTmp.getUserId().equals(user.getId())) {
return null;
}
Page<OrderAppDetail> page = new Page<>(pageNum, pageSize);
IPage<OrderAppDetail> orderInfos = partnerList.orderList(page, partnerId, phoneNum, title);
return success(orderInfos);
}
/**
* 通过核销码获取订单信息
*/
@GetMapping("/orderDetailByCode")
public CommonResult orderDetailByCode(Long partnerId, String code) throws Exception {
Long orderId = partnerList.orderDetailByCode(partnerId, code);
return success(orderId);
}
/**
* 当前的订单信息
*/
@GetMapping("/orderDetail")
public CommonResult orderDetail(Long partnerId, Long orderId) {
OrderAppDetail orderInfos = partnerList.orderDetail(partnerId, orderId);
return success(orderInfos);
}
/**
* 店铺核销功能
*/
@PostMapping("/takeOut")
public CommonResult takeOut(@RequestBody InspectionInfo inspectionInfo) throws Exception {
partnerList.takeOut(inspectionInfo);
return success();
}
@PostMapping("/addWorker")
public CommonResult addWorker(Long partnerId, String realName, String phoneNum, Long postId) throws Exception {
partnerList.addWorker(partnerId, realName, phoneNum, postId);
return success();
}
/**
* 获取员工信息
*/
@GetMapping("/getWorkList")
public CommonResult<IPage<?>> getWorkList(Long partnerId, String workName, String phoneNum, Long postId, Integer pageNum, Integer pageSize) {
LoginUser user = SecurityFrameworkUtils.getLoginUser();
// ShopMallPartners partnersTmp = partnerList.getById(partnerId);
// if (!partnersTmp.getUserId().equals(user.getId())){
// return null;
// }
/*获取检测的用户*/
RolePageReqVO reqVO = new RolePageReqVO();
reqVO.setPageNo(pageNum);
reqVO.setNickname(workName);
reqVO.setPageSize(pageSize);
IPage<UserDTO> userDTOIPage = roleService.selectListByRoleId(reqVO);
// Page<LabelRespVO> page = new Page<>(pageNum, pageSize);
// IPage<PartnerWorker> workList = partnerList.pageWorkList(partnerId,postId, workName, phoneNum,page);
return CommonResult.success(userDTOIPage);
}
@PostMapping("/delWorker")
public CommonResult delWorker(Long partnerId, String workIdStr) {
String[] workIds = workIdStr.split(",");
for (String workId : workIds) {
partnerList.delWorker(partnerId, Long.parseLong(workId));
}
return success();
}
//获取检测的数据
@GetMapping("/inspectionList")
public CommonResult inspectionList(Long partnerId, String status, String carNum, Integer pageSize, Integer pageNum) throws Exception {
ShopMallPartners partners = partnerList.shopInfo();
if (!partnerId.equals(partners.getPartnerId())) {
return null;
}
Page<InspectionInfo> page = new Page<>(pageNum, pageSize);
IPage<InspectionInfo> inspectionInfos = partnerList.inspectionList(page, partnerId, status, carNum);
return success(inspectionInfos);
}
//获取检测的详细信息
@GetMapping("/inspectionDetail")
public CommonResult inspectionDetail(Long inspectionInfoId) {
return CommonResult.success(partnerList.inspectionDetail(inspectionInfoId));
}
//获取检测的数据
@GetMapping("/workerInspectionList")
public CommonResult workerInspectionList(Long partnerId, String status, String searchValue, Integer pageSize, Integer pageNum) {
LoginUser user = SecurityFrameworkUtils.getLoginUser();
LambdaQueryWrapper<PartnerWorker> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PartnerWorker::getUserId, user.getId()).eq(PartnerWorker::getPartnerId, partnerId);
PartnerWorker worker = partnerWorkerService.getOne(queryWrapper);
if (ObjectUtil.isEmpty(worker)) {
return null;
}
Page<InspectionInfo> page = new Page<>(pageNum, pageSize);
IPage<InspectionInfo> inspectionInfos = partnerList.inspectionList(page, partnerId, status, searchValue);
return success(inspectionInfos);
}
//增加检测步骤信息
@PostMapping("/addStepInfo")
public CommonResult addStepInfo(@RequestBody InspectionStepInfo stepInfo) {
partnerList.addStepInfo(stepInfo);
return success();
}
//增加检测结果
@PostMapping("/stopInspection")
public CommonResult editInspection(@RequestBody InspectionInfo info) throws Exception {
partnerList.stopInspection(info);
return success();
}
//完成制证
@PostMapping("/makeCertOk")
public CommonResult makeCertOk(Long inspectionId) {
partnerList.makeCertOk(inspectionId);
return success();
}
//获取到店预约的数据
@GetMapping("/getAppointmentList")
public CommonResult getAppointmentList(Long partnerId, String phoneNum, Integer pageSize, Integer pageNum) {
// LoginUser user = SecurityFrameworkUtils.getLoginUser();
// ShopMallPartners partnersTmp = partnerList.getById(partnerId);
// if (!partnersTmp.getUserId().equals(user.getId())){
// return null;
// }
Page<InspectionAppointment> page = new Page<>(pageNum, pageSize);
IPage<InspectionAppointment> appointments = partnerList.getAppointmentList(page, partnerId, phoneNum);
return success(appointments);
}
//获取上门取车数据
@GetMapping("/getPickCarList")
public CommonResult getPickCarList(Long partnerId, String phoneNum, String pickStatus, Integer pageSize, Integer pageNum) {
LoginUser user = SecurityFrameworkUtils.getLoginUser();
// ShopMallPartners partnersTmp = partnerList.getById(partnerId);
// if (!partnersTmp.getUserId().equals(user.getId())){
// return null;
// }
Page<InspectionPickCar> page = new Page<>(pageNum, pageSize);
IPage<InspectionPickCar> pickCarList = partnerList.getPickCarList(page, partnerId, phoneNum, pickStatus);
return success(pickCarList);
}
//获取上门取车详情页
@GetMapping("/getPickCarDetail")
public CommonResult getPickCarDetail(Long dataId) {
InspectionPickCar pickCar = partnerList.getPickCarDetail(dataId);
return success(pickCar);
}
// 核销记录By核销人Id
@GetMapping("/validationList")
public CommonResult validationList(Long partnerId, String searchValue,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
LoginUser user = SecurityFrameworkUtils.getLoginUser();
ShopMallPartners partnersTmp = partnerList.getById(partnerId);
if (!partnersTmp.getUserId().equals(user.getId())) {
return null;
}
Page<OrderInfo> page = new Page<>(pageNum, pageSize);
IPage<OrderInfo> orderInfos = partnerList.validationList(page, partnerId, searchValue);
return success(orderInfos);
}
//送券功能
@PostMapping("/sendCoupon")
public CommonResult sendCoupon(@RequestBody ShopCouponTemplate template) throws Exception {
partnerList.sendCoupon(template);
return success();
}
//优惠券列表
@GetMapping("/listCoupon")
public CommonResult listCoupon(Long partnerId, String searchValue,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
LoginUser user = SecurityFrameworkUtils.getLoginUser();
ShopMallPartners partnersTmp = partnerList.getById(partnerId);
if (!partnersTmp.getUserId().equals(user.getId())) {
return success(new ArrayList<>());
}
Page<ShopCouponTemplate> page = new Page<>(pageNum, pageSize);
IPage<ShopCouponTemplate> shopCouponTemplates = partnerList.listCoupon(page, partnerId, searchValue);
return success(shopCouponTemplates);
}
//删除优惠券
@PostMapping("/delCoupon")
public CommonResult delCoupon(Long partnerId, Long id) {
partnerList.delCoupon(partnerId, id);
return success();
}
//指派工人上门取车
@PostMapping("/designatePickCarWorker")
public CommonResult designatePickCarWorker(Long pickCarId, Long workerId) {
partnerList.designatePickCarWorker(pickCarId, workerId);
return success();
}
//获取上门取车数据
@GetMapping("/getPickCarListOfWorker")
public CommonResult getPickCarListOfWorker(Long partnerId, String phoneNum,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
LoginUser user = SecurityFrameworkUtils.getLoginUser();
// .eq(PartnerWorker::getUserId,user.getId())
// LambdaQueryWrapper<PartnerWorker> queryWrapper =new LambdaQueryWrapper<>();
// queryWrapper.eq(PartnerWorker::getPartnerId,partnerId);
// PartnerWorker worker = partnerWorkerService.getOne(queryWrapper);
// if (ObjectUtil.isEmpty(worker)){
// return null;
// }
Page<InspectionPickCar> page = new Page<>(pageNum, pageSize);
IPage<InspectionPickCar> pickCarList = partnerList.getPickCarListOfWorker(page, user.getId(), phoneNum);
return success(pickCarList);
}
//获取客户来源
@GetMapping("/getCustomerSource")
public CommonResult getCustomerSource(String searchValue) throws Exception {
ShopMallPartners partners = partnerList.shopInfoByUserId();
String dictStr = "customer_source-" + partners.getPartnerId();
DictTypeDO sysDictType = dictTypeService.getDictType(dictStr);
if (ObjectUtil.isEmpty(sysDictType)) {
//初始化
DictTypeSaveReqVO save = new DictTypeSaveReqVO();
save.setName("客户来源-" + partners.getPartnerName());
save.setStatus(0);
save.setType(dictStr);
dictTypeService.createDictType(save);
}
List<DictDataDO> dataList = dictDataService.getDictDataListByDictType(dictStr);
if (CollectionUtil.isEmpty(dataList)) {
dataList = new ArrayList<>();
}
if (StringUtils.isNotEmpty(searchValue)) {
dataList = dataList.stream().filter(it -> {
return it.getLabel().contains(searchValue);
}).collect(Collectors.toList());
}
return success(dataList);
}
//新增客户来源
@PostMapping("/addCustomerSource")
public CommonResult addCustomerSource(@RequestBody SysDictData dictData) throws Exception {
ShopMallPartners partners = partnerList.shopInfo();
String dictStr = "customer_source-" + partners.getPartnerId();
DictTypeDO sysDictType = dictTypeService.getDictType(dictStr);
DictDataSaveReqVO dictSave = new DictDataSaveReqVO();
dictSave.setLabel(dictData.getDictLabel());
dictSave.setDictType(sysDictType.getType());
dictSave.setStatus(0);
dictSave.setValue(dictData.getDictLabel());
dictSave.setCssClass("default");
dictSave.setRemark(dictData.getRemark());
dictDataService.createDictData(dictSave);
return success();
}
//新增客户来源
@PostMapping("/delCustomerSource")
public CommonResult delCustomerSource(Long dictId) {
dictDataService.deleteDictData(dictId);
return success();
}
//批量删除客户来源
@PostMapping("/delCustomerSourceBatch")
public CommonResult delCustomerSourceBatch(@RequestBody List<Long> dictIds) {
dictDataService.deleteDictDataBatch(dictIds);
return success();
}
@PostMapping("/vehicleLicenseOCR")
public CommonResult vehicleLicenseOCR(String imagePath) throws Exception {
return success(partnerList.vehicleLicenseOCR(imagePath));
}
//线下收费
@PostMapping("/offlineCharging")
public CommonResult offlineCharging(@RequestBody InspectionInfoVo infoVo) {
partnerList.offlineCharging(infoVo);
return success();
}
//获取收款账号
@GetMapping("/getBankAccountList")
public CommonResult getBankAccountList(String searchValue) throws Exception {
ShopMallPartners partners = partnerList.shopInfoByUserId();
String dictStr = "partner_bankList-" + partners.getPartnerId();
DictTypeDO sysDictType = dictTypeService.getDictType(dictStr);
if (ObjectUtil.isEmpty(sysDictType)) {
//初始化
DictTypeSaveReqVO sysDictTypeSave = new DictTypeSaveReqVO();
sysDictTypeSave.setName("收款账户-" + partners.getPartnerName());
sysDictTypeSave.setStatus(0);
sysDictTypeSave.setType(dictStr);
dictTypeService.createDictType(sysDictTypeSave);
}
List<DictDataDO> dataList = dictDataService.getDictDataListByDictType(dictStr);
if (CollectionUtil.isEmpty(dataList)) {
dataList = new ArrayList<>();
}
if (StringUtils.isNotEmpty(searchValue)) {
dataList = dataList.stream().filter(it -> {
return it.getLabel().contains(searchValue);
}).collect(Collectors.toList());
}
return success(dataList);
}
//新增银行卡账户
@PostMapping("/addBankAccount")
public CommonResult addBankAccount(@RequestBody SysDictData dictData) throws Exception {
ShopMallPartners partners = partnerList.shopInfo();
String dictStr = "partner_bankList-" + partners.getPartnerId();
DictTypeDO sysDictType = dictTypeService.getDictType(dictStr);
DictDataSaveReqVO dictSave = new DictDataSaveReqVO();
dictSave.setDictType(sysDictType.getType());
dictSave.setStatus(0);
dictSave.setLabel(dictData.getDictLabel());
dictSave.setValue(dictData.getDictValue());
dictSave.setRemark(dictData.getRemark());
dictSave.setCssClass("default");
dictDataService.createDictData(dictSave);
return success();
}
//删除银行卡账户
@PostMapping("/delBankAccount")
public CommonResult delBankAccount(Long dictId) {
dictDataService.deleteDictData(dictId);
return success();
}
//工单预览
@GetMapping("/workOrderView")
public CommonResult workOrderView(Long inspectionId) {
return success(partnerList.workOrderView(inspectionId));
}
//岗位信息
@GetMapping("/inspectionPostInfo")
public CommonResult inspectionPostInfo() {
return success(partnerList.inspectionPostInfo());
}
//统计表格1
@GetMapping("/staticsTable1")
public CommonResult staticsTable1(String startTime, String endTime) throws Exception {
ShopMallPartners partners = partnerList.shopInfo();
return success(partnerList.staticsTable1(partners.getPartnerId(), startTime, endTime));
}
//统计表格1
@GetMapping("/newStaticsTable1")
public CommonResult newStaticsTable1(String startTime, String endTime) throws Exception {
return success(partnerList.newStaticsTable1(startTime, endTime));
}
//统计表格2
@GetMapping("/staticsTable2")
public CommonResult staticsTable2(String startTime, String endTime) throws Exception {
ShopMallPartners partners = partnerList.shopInfo();
return success(partnerList.staticsTable2(partners.getPartnerId(), startTime, endTime));
}
//新统计表格2
@GetMapping("/newStaticsTable2")
public CommonResult newStaticsTable2(String startTime, String endTime) throws Exception {
return success(partnerList.newStaticsTable2(startTime, endTime));
}
//统计表格3
@GetMapping("/staticsTable3")
public CommonResult staticsTable3(String startTime, String endTime) throws Exception {
ShopMallPartners partners = partnerList.shopInfo();
return success(partnerList.staticsTable3(partners.getPartnerId(), startTime, endTime));
}
//新统计表格3
@GetMapping("/newStaticsTable3")
public CommonResult newStaticsTable3(String startTime, String endTime) throws Exception {
return success(partnerList.newStaticsTable3(startTime, endTime));
}
//统计表格3
@GetMapping("/staticsTable3Detail")
public CommonResult staticsTable3Detail(String startTime, String endTime, String remark) throws Exception {
ShopMallPartners partners = partnerList.shopInfo();
return success(partnerList.staticsTable3Detail(partners.getPartnerId(), startTime, endTime, remark));
}
//统计表格4
@GetMapping("/staticsTable4")
public CommonResult staticsTable4(String startTime, String endTime) throws Exception {
ShopMallPartners partners = partnerList.shopInfo();
return success(partnerList.staticsTable4(partners.getPartnerId(), startTime, endTime));
}
//统计表格5
@GetMapping("/staticsTable5")
public CommonResult staticsTable5(String startTime, String endTime) throws Exception {
ShopMallPartners partners = partnerList.shopInfo();
return success(partnerList.staticsTable5(partners.getPartnerId(), startTime, endTime));
}
/**
* 查询检测类型统计
*
* @param startTime 开始时间
* @param endTime 结束时间
* @return 结果
*/
@GetMapping("/queryInspectionSkuList")
public CommonResult<?> queryInspectionSkuList(String startTime, String endTime) {
if (StrUtil.isEmpty(startTime) || StrUtil.isEmpty(endTime)) {
startTime = DateUtil.format(new Date(), "yyyy-MM-dd");
endTime = DateUtil.format(new Date(), "yyyy-MM-dd");
}
return success(partnerList.queryInspectionSkuList(startTime, endTime));
}
/**
* 根据inspection_info的id查有的项目名称
*
* @param ids inspection_info的id
* @author 小李
* @date 14:52 2024/12/10
**/
@GetMapping("/getProjectByIds")
public CommonResult<?> getProjectByIds(Long[] ids) {
return success(partnerList.getProjectByIds(ids));
}
/**
* 根据时间查订单
*
* @param startTime 开始时间 非必传
* @param endTime 结束时间 非必传
* @param pageNum 页码
* @param pageSize 条数
* @author 小李
* @date 14:39 2024/12/12
**/
@GetMapping("/getOrderByDate")
public CommonResult<?> getOrderByDate(OrderTableQuery query,
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
Page<OrderTable> page = new Page<>(pageNum, pageSize);
return success(partnerList.getOrderByDate(query, page));
}
/**
* 根据时间查订单
*
* @param startTime 开始时间 非必传
* @param endTime 结束时间 非必传
* @param pageNum 页码
* @param pageSize 条数
* @author 小李
* @date 14:39 2024/12/12
**/
@GetMapping("/getOrderApp")
public CommonResult<?> getOrderApp(@RequestParam(value = "startTime", required = false) String startTime,
@RequestParam(value = "endTime", required = false) String endTime,
@RequestParam(value = "chooseStatus", required = false) String chooseStatus,
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
Page<OrderTable> page = new Page<>(pageNum, pageSize);
return success(partnerList.getOrderApp(startTime, endTime, chooseStatus, page));
}
/**
* 分类计数
*
* @param startTime 开始时间
* @param endTime 结束时间
* @param chooseStatus 状态
* @author 小李
* @date 17:14 2024/12/16
**/
@GetMapping("/getTypeCount")
public CommonResult<?> getTypeCount(@RequestParam(value = "startTime", required = false) String startTime,
@RequestParam(value = "endTime", required = false) String endTime,
@RequestParam(value = "chooseStatus", required = false) String chooseStatus) {
return success(partnerList.getTypeCount(startTime, endTime, chooseStatus));
}
/**
* 获取员工统计
*
* @param dlInspectionProject 项目
* @return 结果
*/
@PostMapping("/getStaffCount")
public CommonResult<?> getStaffCount(@RequestBody DlInspectionProject dlInspectionProject) {
return success(partnerList.getStaffCount(dlInspectionProject));
}
}

View File

@ -99,8 +99,8 @@ public class AppInspectionOrderServiceImpl extends ServiceImpl<OrderInfoMapper,
public InspectionInfoVo inspectionDetail(Long inspectionInfoId) {
InspectionInfo info = infoService.getById(inspectionInfoId);
AdminUserRespDTO buyUser = userService.getUser(info.getUserId());
PartnerWorker workerTmp = workerService.getById(info.getWorkId());
AdminUserRespDTO worker = userService.getUser(workerTmp.getUserId());
// PartnerWorker workerTmp = workerService.getById(info.getWorkId());
AdminUserRespDTO worker = userService.getUser(info.getWorkId());
OrderInfo orderInfo = orderInfoService.getById(info.getInspectionOrderId());
ShopInspectionGoods goods = goodsService.getById(orderInfo.getGoodsId());
ShopInspectionCategory category = categoryService.getById(goods.getGoodsCategoryId());
@ -109,9 +109,12 @@ public class AppInspectionOrderServiceImpl extends ServiceImpl<OrderInfoMapper,
res.setGoodsImage(ObjectUtil.isEmpty(goods)?"":goods.getImage());
res.setStatus(info.getStatus());
res.setIsPass(info.getIsPass());
res.setWorkerAvatar(Optional.ofNullable(worker.getAvatar()).orElse(null));
res.setWorkerName(worker.getNickname());
res.setWorkerPhone(worker.getMobile());
if (ObjectUtil.isNotEmpty(worker)) {
res.setWorkerAvatar(worker.getAvatar() == null ? "" : worker.getAvatar());
res.setWorkerName(worker.getNickname());
res.setWorkerPhone(worker.getMobile());
}
res.setBuyUserName(Optional.ofNullable(buyUser.getNickname()).orElse(""));
res.setBuyUserPhone(buyUser.getMobile());
res.setCarNum(info.getCarNum());

View File

@ -1425,6 +1425,7 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl<AppInspectionPa
inspectionWorkNode.setUpdateTime(null);
//将节点状态设置为未开始
inspectionWorkNode.setStatus("0");
inspectionWorkNode.setId(null);
});
workNodeService.saveBatch(inspectionWorkNodes);
//检测步骤表插入检测开始

View File

@ -398,6 +398,16 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
//冻结积分
userBalanceService.frozenBalance(orderInfo.getBalance(), user.getId());
}
//修改预约记录表的orderId
if (ObjectUtil.isNotEmpty(orderInfo.getAppointmentId())) {
appointmentService.update(Wrappers.<InspectionAppointment>lambdaUpdate()
.eq(InspectionAppointment::getId, orderInfo.getAppointmentId())
.set(InspectionAppointment::getOrderId, createOrder.getId()));
//处理预约记录
orderInfo.setId(createOrder.getId());
this.dealAppointment(orderInfo);
}
return createOrder.getId();
}

View File

@ -101,7 +101,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left JOIN order_info oi ON ip.order_id = oi.id and oi.deleted=0
left join shop_user_car suc on suc.car_id = oi.user_car_id and suc.deleted=0
LEFT JOIN inspection_goods_sku igs on igs.id = ip.sku_id
where ip.deleted=0 and ip.partner_id = #{partnerId}
where ip.deleted=0 and ip.partner_id = #{partnerId} and oi.validation_time IS NULL
<if test="phoneNum!=null and phoneNum!=''">
and su.mobile like concat('%',#{phoneNum},'%')
</if>

View File

@ -88,60 +88,61 @@ public class DeptDataPermissionRule implements DataPermissionRule {
@Override
public Expression getExpression(String tableName, Alias tableAlias) {
// 只有有登陆用户的情况下才进行数据权限的处理
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
if (loginUser == null) {
return null;
}
// 只有管理员类型的用户才进行数据权限的处理
if (ObjectUtil.notEqual(loginUser.getUserType(), UserTypeEnum.ADMIN.getValue())) {
return null;
}
// 获得数据权限
DeptDataPermissionRespDTO deptDataPermission = loginUser.getContext(CONTEXT_KEY, DeptDataPermissionRespDTO.class);
// 从上下文中拿不到则调用逻辑进行获取
if (deptDataPermission == null) {
deptDataPermission = permissionApi.getDeptDataPermission(loginUser.getId());
if (deptDataPermission == null) {
log.error("[getExpression][LoginUser({}) 获取数据权限为 null]", JsonUtils.toJsonString(loginUser));
throw new NullPointerException(String.format("LoginUser(%d) Table(%s/%s) 未返回数据权限",
loginUser.getId(), tableName, tableAlias.getName()));
}
// 添加到上下文中避免重复计算
loginUser.setContext(CONTEXT_KEY, deptDataPermission);
}
// 情况一如果是 ALL 可查看全部则无需拼接条件
if (deptDataPermission.getAll()) {
return null;
}
// 情况二即不能查看部门又不能查看自己则说明 100% 无权限
if (CollUtil.isEmpty(deptDataPermission.getDeptIds())
&& Boolean.FALSE.equals(deptDataPermission.getSelf())) {
return new EqualsTo(null, null); // WHERE null = null可以保证返回的数据为空
}
// 情况三拼接 Dept User 的条件最后组合
Expression deptExpression = buildDeptExpression(tableName,tableAlias, deptDataPermission.getDeptIds());
Expression userExpression = buildUserExpression(tableName, tableAlias, deptDataPermission.getSelf(), loginUser.getId());
if (deptExpression == null && userExpression == null) {
// TODO 芋艿获得不到条件的时候暂时不抛出异常而是不返回数据
log.warn("[getExpression][LoginUser({}) Table({}/{}) DeptDataPermission({}) 构建的条件为空]",
JsonUtils.toJsonString(loginUser), tableName, tableAlias, JsonUtils.toJsonString(deptDataPermission));
// throw new NullPointerException(String.format("LoginUser(%d) Table(%s/%s) 构建的条件为空",
// loginUser.getId(), tableName, tableAlias.getName()));
return EXPRESSION_NULL;
}
if (deptExpression == null) {
return userExpression;
}
if (userExpression == null) {
return deptExpression;
}
// 目前如果有指定部门 + 可查看自己采用 OR 条件WHERE (dept_id IN ? OR user_id = ?)
return new Parenthesis(new OrExpression(deptExpression, userExpression));
return null;
// // 只有有登陆用户的情况下才进行数据权限的处理
//
// if (loginUser == null) {
// return null;
// }
// // 只有管理员类型的用户才进行数据权限的处理
// if (ObjectUtil.notEqual(loginUser.getUserType(), UserTypeEnum.ADMIN.getValue())) {
// return null;
// }
//
// // 获得数据权限
// DeptDataPermissionRespDTO deptDataPermission = loginUser.getContext(CONTEXT_KEY, DeptDataPermissionRespDTO.class);
// // 从上下文中拿不到则调用逻辑进行获取
// if (deptDataPermission == null) {
// deptDataPermission = permissionApi.getDeptDataPermission(loginUser.getId());
// if (deptDataPermission == null) {
// log.error("[getExpression][LoginUser({}) 获取数据权限为 null]", JsonUtils.toJsonString(loginUser));
// throw new NullPointerException(String.format("LoginUser(%d) Table(%s/%s) 未返回数据权限",
// loginUser.getId(), tableName, tableAlias.getName()));
// }
// // 添加到上下文中避免重复计算
// loginUser.setContext(CONTEXT_KEY, deptDataPermission);
// }
//
// // 情况一如果是 ALL 可查看全部则无需拼接条件
// if (deptDataPermission.getAll()) {
// return null;
// }
//
// // 情况二即不能查看部门又不能查看自己则说明 100% 无权限
// if (CollUtil.isEmpty(deptDataPermission.getDeptIds())
// && Boolean.FALSE.equals(deptDataPermission.getSelf())) {
// return new EqualsTo(null, null); // WHERE null = null可以保证返回的数据为空
// }
//
// // 情况三拼接 Dept User 的条件最后组合
// Expression deptExpression = buildDeptExpression(tableName,tableAlias, deptDataPermission.getDeptIds());
// Expression userExpression = buildUserExpression(tableName, tableAlias, deptDataPermission.getSelf(), loginUser.getId());
// if (deptExpression == null && userExpression == null) {
// // TODO 芋艿获得不到条件的时候暂时不抛出异常而是不返回数据
// log.warn("[getExpression][LoginUser({}) Table({}/{}) DeptDataPermission({}) 构建的条件为空]",
// JsonUtils.toJsonString(loginUser), tableName, tableAlias, JsonUtils.toJsonString(deptDataPermission));
//// throw new NullPointerException(String.format("LoginUser(%d) Table(%s/%s) 构建的条件为空",
//// loginUser.getId(), tableName, tableAlias.getName()));
// return EXPRESSION_NULL;
// }
// if (deptExpression == null) {
// return userExpression;
// }
// if (userExpression == null) {
// return deptExpression;
// }
// // 目前如果有指定部门 + 可查看自己采用 OR 条件WHERE (dept_id IN ? OR user_id = ?)
// return new Parenthesis(new OrExpression(deptExpression, userExpression));
}
private Expression buildDeptExpression(String tableName, Alias tableAlias, Set<Long> deptIds) {

View File

@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.system.service.user;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportExcelVO;
@ -292,4 +293,5 @@ public interface AdminUserService extends IService<AdminUserDO> {
* @return
*/
List<AdminUserDO> selectByRoleId(Long roleId);
}