manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java
@@ -3,10 +3,14 @@ import com.jilongda.common.basic.ApiResult; import com.jilongda.common.basic.PageInfo; import com.jilongda.manage.authority.model.SecUser; import com.jilongda.manage.authority.service.SecUserService; import com.jilongda.manage.dto.AccountDetailDTO; import com.jilongda.manage.model.*; import com.jilongda.manage.query.TLineUpQuery; import com.jilongda.manage.query.TOrderAccountingQuery; import com.jilongda.manage.service.*; import com.jilongda.manage.utils.LoginInfoUtil; import com.jilongda.manage.vo.TOrderAccountVO; import com.jilongda.manage.vo.TOrderVO; import io.swagger.annotations.Api; @@ -16,6 +20,7 @@ import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; /** @@ -31,6 +36,8 @@ @RequestMapping("/t-order-accounting") public class TOrderAccountingController { @Autowired private SecUserService secUserService; @Autowired private TStoreService storeService; @Autowired private TOrderService orderService; @@ -44,6 +51,8 @@ private TOrderGoodsService orderGoodsService; @Autowired private SecFeeItemsService feeItemsService; @Autowired private LoginInfoUtil loginInfoUtil; @ApiOperation(value = "核算订单分页列表") @PostMapping(value = "/pageList") public ApiResult<PageInfo<TOrderVO>> pageList(@RequestBody TOrderAccountingQuery query) { @@ -103,7 +112,20 @@ } @ApiOperation(value = "确认核算操作") @GetMapping(value = "/confirm") public ApiResult confirm() { public ApiResult confirm(@RequestBody AccountDetailDTO dto) { List<TOrderGoods> list = dto.getList(); orderGoodsService.updateBatchById(list); TOrder byId = orderService.getById(dto.getId()); byId.setPayTypeName(dto.getPayTypeName()); byId.setPayTypeName(dto.getPayTypeName()); byId.setPayMoney(dto.getPayMoney()); byId.setCommissionMoney(dto.getCommission()); byId.setIsAccounting(1); Long userId = loginInfoUtil.getUserId(); SecUser byId1 = secUserService.getById(userId); byId.setAccountingName(byId1.getNickName()); byId.setAccountingTime(LocalDateTime.now()); orderService.updateById(byId); return ApiResult.success(); } } manage/src/main/java/com/jilongda/manage/controller/TOrderAftersalesController.java
@@ -5,21 +5,22 @@ import com.jilongda.common.basic.PageInfo; import com.jilongda.common.constants.WarehousingConstant; import com.jilongda.common.utils.CodeGenerateUtils; import com.jilongda.manage.model.TOptometrist; import com.jilongda.manage.model.TOrderAftersales; import com.jilongda.manage.authority.model.SecUser; import com.jilongda.manage.authority.service.SecUserService; import com.jilongda.manage.model.*; import com.jilongda.manage.query.TOptometristQuery; import com.jilongda.manage.query.TOrderAftersalesQuery; import com.jilongda.manage.service.TOrderAftersalesService; import com.jilongda.manage.service.*; import com.jilongda.manage.vo.TOptometristVO; import com.jilongda.manage.vo.TOrderAftersalesDetailVO; import com.jilongda.manage.vo.TOrderAftersalesVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.RestController; import java.text.SimpleDateFormat; import java.util.List; /** * <p> @@ -37,6 +38,18 @@ @Autowired private TOrderAftersalesService orderAftersalesService; @Autowired private TOrderService orderService; @Autowired private SecUserService secUserService; @Autowired private TStoreService tStoreService; @Autowired private TAppUserService appUserService; @Autowired private TOptometristService tOptometristService; @Autowired private TOrderGoodsService goodsService; @ApiOperation(value = "订单售后列表") @@ -53,6 +66,36 @@ orderAftersalesService.save(dto); return ApiResult.success(); } @ApiOperation(value = "订单售后详情") @GetMapping(value = "/detail") public ApiResult<TOrderAftersalesDetailVO> detail(Integer id) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd"); TOrderAftersales byId = orderAftersalesService.getById(id); TOrder byId1 = orderService.getById(byId.getOrderId()); TStore byId2 = tStoreService.getById(byId1.getStoreId()); SecUser byId3 = secUserService.getById(byId.getSysId()); TOptometrist byId5 = tOptometristService.getById(byId.getOptometristId()); TOrderAftersalesDetailVO res = new TOrderAftersalesDetailVO(); res.setOrderId(byId1.getId()); if (byId1.getUserId()!=null){ TAppUser byId4 = appUserService.getById(byId1); if (byId4!=null){ res.setPhone(byId4.getPhone()); } } res.setStoreName(byId2.getName()); res.setOptometristName(byId5.getName()); res.setSalesUser(byId3.getNickName()); res.setOrderTime(simpleDateFormat.format(byId1.getCreateTime())); res.setAfterSalesTime(simpleDateFormat1.format(byId.getCreateTime())); List<TOrderGoods> list = goodsService.lambdaQuery().eq(TOrderGoods::getOrderId, byId1.getId()).list(); res.setGoodsList(list); res.setOrderMoney(byId1.getOrderMoney()); res.setCouponMoney(byId1.getCouponMoney()); res.setPayMoney(byId1.getPayMoney()); return ApiResult.success(res); } } manage/src/main/java/com/jilongda/manage/controller/TOrderController.java
@@ -8,10 +8,14 @@ import com.jilongda.manage.authority.service.SecUserService; import com.jilongda.manage.dto.TOrderDTO; import com.jilongda.manage.model.*; import com.jilongda.manage.query.TModelQuery; import com.jilongda.manage.query.TOptometryQuery; import com.jilongda.manage.query.TOrderQuery; import com.jilongda.manage.service.*; import com.jilongda.manage.utils.LoginInfoUtil; import com.jilongda.manage.vo.TModelVO; import com.jilongda.manage.vo.TOptometryVO; import com.jilongda.manage.vo.TOrderListVO; import com.jilongda.manage.vo.TOrderVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -21,6 +25,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -55,6 +60,56 @@ private TFrameGoodsService frameGoodsService; @Autowired private TLensGoodsService lensGoodsService; @Autowired private TModelService modelService; @Autowired private TLensSeriesService lensSeriesService; @Autowired private TBrandService brandService; @Autowired private TOptometryService optometryService; @ApiOperation(value = "销售订单分页列表") @PostMapping(value = "/pageList") public ApiResult<PageInfo<TOrderListVO>> pageList(@RequestBody TOrderQuery query) { if (StringUtils.hasLength(query.getStartTime())){ query.setStartTime(query.getStartTime()+" 00:00:00"); query.setEndTime(query.getEndTime()+" 23:59:59"); } List<Integer> orderIds = new ArrayList<>(); List<Integer> collect = tAppUserService.lambdaQuery() .eq(StringUtils.hasLength(query.getWxName()), TAppUser::getName, query.getWxName()) .eq(StringUtils.hasLength(query.getPhone()), TAppUser::getName, query.getPhone()).list() .stream().map(TAppUser::getId).collect(Collectors.toList()); if (StringUtils.hasLength(query.getWxName())||StringUtils.hasLength(query.getPhone())){ query.setUserIds(collect); if (collect.isEmpty())return ApiResult.success(new PageInfo<>()); } List<Integer> collect1 = orderGoodsService.lambdaQuery() .eq(StringUtils.hasLength(query.getBrandLens()), TOrderGoods::getBrandName, query.getBrandLens()) .eq(StringUtils.hasLength(query.getSeries()), TOrderGoods::getSeriesName, query.getSeries()) .eq((query.getType() != null), TOrderGoods::getType, query.getType()) .eq(StringUtils.hasLength(query.getRefractiveIndex()), TOrderGoods::getRefractiveIndex, query.getRefractiveIndex()).list() .stream().map(TOrderGoods::getOrderId).collect(Collectors.toList()); if (StringUtils.hasLength(query.getBrandLens())||StringUtils.hasLength(query.getSeries())||query.getType() != null|| StringUtils.hasLength(query.getRefractiveIndex())){ orderIds.addAll(collect1); } List<Integer> collect2 = orderGoodsService.lambdaQuery() .eq(StringUtils.hasLength(query.getBrandFrame()), TOrderGoods::getBrandName, query.getBrandFrame()) .eq(StringUtils.hasLength(query.getModelName()), TOrderGoods::getModelName, query.getModelName()) .eq(StringUtils.hasLength(query.getColor()), TOrderGoods::getColor, query.getColor()).list() .stream().map(TOrderGoods::getOrderId).collect(Collectors.toList()); if (StringUtils.hasLength(query.getBrandFrame())||StringUtils.hasLength(query.getModelName())|| StringUtils.hasLength(query.getColor())){ orderIds.addAll(collect2); } if (StringUtils.hasLength(query.getBrandFrame())||StringUtils.hasLength(query.getModelName())|| StringUtils.hasLength(query.getColor())||StringUtils.hasLength(query.getBrandLens())||StringUtils.hasLength(query.getSeries())||query.getType() != null|| StringUtils.hasLength(query.getRefractiveIndex())){ if (orderIds.isEmpty())return ApiResult.success(new PageInfo<>()); } return ApiResult.success(orderService.pageList(query)); } @ApiOperation(value = "查询用户信息") @GetMapping(value = "/getUserById") public ApiResult getUserById(@RequestParam Integer userId) { @@ -102,7 +157,9 @@ if(Objects.nonNull(user)){ dto.setStoreId(user.getStoreId()); } orderService.save(dto); List<TOptometryDetail> optometryDetails = dto.getOptometryDetails(); if (!CollectionUtils.isEmpty(optometryDetails)){ for (TOptometryDetail optometryDetail : optometryDetails) { @@ -110,26 +167,80 @@ } optometryDetailService.saveBatch(optometryDetails); } List<TOrderGoods> orderGoods = dto.getOrderGoods(); List<TLensGoods> tLensGoods = new ArrayList<>(); List<TFrameGoods> tFrameGoods = new ArrayList<>(); for (TOrderGoods orderGood : orderGoods) { orderGood.setOrderId(dto.getId()); if (StringUtils.hasLength(orderGood.getSeriesName())){ // 镜片 String rLens = orderGood.getRLens(); String[] split = rLens.split(","); TBrand one1 = brandService.lambdaQuery().eq(TBrand::getName, orderGood.getBrandName()) .eq(TBrand::getType, 2).one(); TLensSeries one2 = lensSeriesService.lambdaQuery().eq(TLensSeries::getName, orderGood.getSeriesName()) .eq(TLensSeries::getBrandId, one1.getId()).one(); TLensGoods one = lensGoodsService.lambdaQuery() .eq(StringUtils.hasLength(orderGood.getSeriesName()),TLensGoods::getSeriesId, one2.getId()) .eq(StringUtils.hasLength(orderGood.getRefractiveIndex()),TLensGoods::getRefractiveIndex, orderGood.getRefractiveIndex()) .eq(orderGood.getType()!=null,TLensGoods::getLensType, orderGood.getType()) .eq(split.length>0,TLensGoods::getBallMirror, split[0]) .eq(split.length>=2,TLensGoods::getColumnMirror, split[1]) .one(); if (one!=null){ if (one.getTotal()-1<0){ return ApiResult.failed("库存不足"); } // 减少对应库存 one.setTotal(one.getTotal()-1); tLensGoods.add(one); }else { return ApiResult.failed("商品不存在"); } }else{ TModel one1 = modelService.lambdaQuery().eq(TModel::getName, orderGood.getModelName()) .eq(TModel::getColor, orderGood.getColor()).one(); BigDecimal cost = one1.getCost(); orderGood.setCost(cost); TFrameGoods one = frameGoodsService.lambdaQuery() .eq(TFrameGoods::getModelId, one1.getId()) .eq(TFrameGoods::getColor, orderGood.getColor()).one(); if (one!=null){ if (one.getTotal()-1<0){ return ApiResult.failed("库存不足"); } // 增加对应库存 one.setTotal(one.getTotal()-1); tFrameGoods.add(one); }else{ return ApiResult.failed("商品不存在"); } } } // TODO 周哥 补库存 orderGoodsService.saveBatch(orderGoods); lensGoodsService.updateBatchById(tLensGoods); frameGoodsService.updateBatchById(tFrameGoods); return ApiResult.success(); } @ApiOperation(value = "销售订单详情") @GetMapping(value = "/getOrderDetailById") public ApiResult getOrderDetailById(@RequestParam Integer orderId) { TOrder byId = orderService.getById(orderId); TOrderVO orderVO = orderService.getOrderDetailById(orderId); // TODO 周哥 商品信息集合 // TODO 周哥 验光处方 判断是关联或者手动 List<TOrderGoods> list = orderGoodsService.lambdaQuery().eq(TOrderGoods::getOrderId, orderId).list(); orderVO.setOrderGoods(list); if (byId.getOptometryId()!=null){ // 选择验光单 List<TOptometryDetail> list1 = optometryDetailService.lambdaQuery().eq(TOptometryDetail::getOptometryId, byId.getOptometryId()).list(); orderVO.setOptometryDetails(list1); }else{ // 手动填写验光单 List<TOptometryDetail> list1 = optometryDetailService.lambdaQuery().eq(TOptometryDetail::getOrderId, orderId).list(); orderVO.setOptometryDetails(list1); } return ApiResult.success(orderVO); } manage/src/main/java/com/jilongda/manage/dto/AccountDetailDTO.java
New file @@ -0,0 +1,30 @@ package com.jilongda.manage.dto; import com.jilongda.manage.model.TInventory; import com.jilongda.manage.model.TInventoryFrameDetail; import com.jilongda.manage.model.TOrderGoods; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.List; @Data @ApiModel(value = "确认核算DTO") public class AccountDetailDTO { @ApiModelProperty(value = "id") private Integer id; @ApiModelProperty(value = "商品明细列表") private List<TOrderGoods> list; @ApiModelProperty(value = "实收金额") private BigDecimal payMoney; @ApiModelProperty(value = "手续费扣除") private BigDecimal commission; @ApiModelProperty(value = "支付方式名称") private String payTypeName; @ApiModelProperty(value = "本单毛利") private BigDecimal profitMoney; @ApiModelProperty(value = "毛利率") private BigDecimal profitRating; } manage/src/main/java/com/jilongda/manage/mapper/TOrderMapper.java
@@ -1,9 +1,16 @@ package com.jilongda.manage.mapper; import com.jilongda.common.basic.PageInfo; import com.jilongda.manage.model.TOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.jilongda.manage.query.TOrderQuery; import com.jilongda.manage.query.TStoreQuery; import com.jilongda.manage.vo.TOrderListVO; import com.jilongda.manage.vo.TOrderVO; import com.jilongda.manage.vo.TStoreVO; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -22,4 +29,6 @@ */ TOrderVO getOrderDetailById(@Param("orderId") Integer orderId); List<TOrder> pageList(@Param("query")TOrderQuery query,@Param("pageInfo") PageInfo<TOrderListVO> pageInfo); } manage/src/main/java/com/jilongda/manage/model/TOrder.java
@@ -162,5 +162,11 @@ @ApiModelProperty(value = "支付方式") @TableField("payTypeName") private String payTypeName; @ApiModelProperty(value = "手续费扣除") private BigDecimal commission; @ApiModelProperty(value = "笨蛋毛利") private BigDecimal profitMoney; @ApiModelProperty(value = "毛利率") private BigDecimal profitRating; } manage/src/main/java/com/jilongda/manage/model/TOrderGoods.java
@@ -69,6 +69,12 @@ @ApiModelProperty(value = "镜架-型号名称") @TableField("modelName") private String modelName; @ApiModelProperty(value = "镜架型号id 前端忽略") @TableField("modelId") private Integer modelId; @ApiModelProperty(value = "类型 1镜架 2镜片") @TableField("status") private Integer status; @ApiModelProperty(value = "商品价格") @TableField("goodsMoney") manage/src/main/java/com/jilongda/manage/query/TOrderQuery.java
New file @@ -0,0 +1,52 @@ package com.jilongda.manage.query; import com.jilongda.common.pojo.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel(value = "销售订单查询Query") public class TOrderQuery extends BasePage { @ApiModelProperty(value = "微信昵称") private String wxName; @ApiModelProperty(value = "姓名") private String realName; @ApiModelProperty(value = "手机号") private String phone; @ApiModelProperty(value = "下单起始日期 yyyy-MM-dd") private String startTime; @ApiModelProperty(value = "下单结束日期 yyyy-MM-dd") private String endTime; @ApiModelProperty(value = "金额起始 ") private String startMoney; @ApiModelProperty(value = "金额结束 ") private String endMoney; @ApiModelProperty(value = "镜片品牌名称-全部不传") private String brandLens; @ApiModelProperty(value = "镜片系列名称-全部不传") private String series; @ApiModelProperty(value = "镜片球/非球 1球 2非 3双非-全部不传") private Integer type; @ApiModelProperty(value = "折射率-全部不传") private String refractiveIndex; @ApiModelProperty(value = "镜架品牌名称-全部不传") private String brandFrame; @ApiModelProperty(value = "镜架型号名称-全部不传") private String modelName; @ApiModelProperty(value = "镜架色号-全部不传") private String color; @ApiModelProperty(value = "店铺id") private Integer storeId; @ApiModelProperty(value = "店员id") private Integer sysId; @ApiModelProperty(value = "用户ids 前端忽略") private List<Integer> userIds; @ApiModelProperty(value = "订单ids 前端忽略") private List<Integer> orderIds; } manage/src/main/java/com/jilongda/manage/service/TOrderService.java
@@ -1,7 +1,11 @@ package com.jilongda.manage.service; import com.jilongda.common.basic.PageInfo; import com.jilongda.manage.model.TOrder; import com.baomidou.mybatisplus.extension.service.IService; import com.jilongda.manage.query.TOrderQuery; import com.jilongda.manage.vo.TModelVO; import com.jilongda.manage.vo.TOrderListVO; import com.jilongda.manage.vo.TOrderVO; /** @@ -21,4 +25,5 @@ */ TOrderVO getOrderDetailById(Integer orderId); PageInfo<TOrderListVO> pageList(TOrderQuery query); } manage/src/main/java/com/jilongda/manage/service/impl/TOrderServiceImpl.java
@@ -1,11 +1,32 @@ package com.jilongda.manage.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jilongda.common.basic.PageInfo; import com.jilongda.manage.authority.mapper.SecUserMapper; import com.jilongda.manage.authority.model.SecUser; import com.jilongda.manage.mapper.TAppUserMapper; import com.jilongda.manage.mapper.TOrderGoodsMapper; import com.jilongda.manage.mapper.TStoreMapper; import com.jilongda.manage.model.TAppUser; import com.jilongda.manage.model.TOrder; import com.jilongda.manage.mapper.TOrderMapper; import com.jilongda.manage.model.TOrderGoods; import com.jilongda.manage.model.TStore; import com.jilongda.manage.query.TOrderQuery; import com.jilongda.manage.service.TOrderService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jilongda.manage.vo.TAppUserVO; import com.jilongda.manage.vo.TModelVO; import com.jilongda.manage.vo.TOrderListVO; import com.jilongda.manage.vo.TOrderVO; import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; /** * <p> @@ -22,4 +43,84 @@ public TOrderVO getOrderDetailById(Integer orderId) { return this.baseMapper.getOrderDetailById(orderId); } @Autowired private TAppUserMapper appUserMapper; @Autowired private TStoreMapper storeMapper; @Autowired private SecUserMapper secUserMapper; @Autowired private TOrderGoodsMapper orderGoodsMapper; @Override public PageInfo<TOrderListVO> pageList(TOrderQuery query) { PageInfo<TOrderListVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TOrder> list = this.baseMapper.pageList(query,pageInfo); List<TOrderListVO> res = new ArrayList<>(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (TOrder tOrder : list) { TOrderListVO tOrderListVO = new TOrderListVO(); if (tOrder.getUserId()!=null){ TAppUser tAppUser = appUserMapper.selectById(tOrder.getUserId()); tOrderListVO.setWxName(tAppUser.getName()); } TStore tStore = storeMapper.selectById(tOrder.getStoreId()); if (tStore!=null){ tOrderListVO.setStoreName(tStore.getName()); } SecUser secUser = secUserMapper.selectById(tOrder.getSysId()); if (secUser!=null){ tOrderListVO.setStaffName(secUser.getNickName()); } tOrderListVO.setId(tOrder.getId()); tOrderListVO.setPhone(tOrder.getPhone()); tOrderListVO.setRealName(tOrder.getRealName()); List<TOrderGoods> orderGoods = orderGoodsMapper.selectList(new LambdaQueryWrapper<TOrderGoods>().eq(TOrderGoods::getOrderId, tOrder.getId())); for (TOrderGoods orderGood : orderGoods) { if (StringUtils.hasLength(orderGood.getModelName())){ // 镜架 tOrderListVO.setFrame(orderGood.getBrandName()+orderGood.getModelName()+" "+orderGood.getColor()); continue; } if (StringUtils.hasLength(orderGood.getLLens())){ String temp = null; switch (orderGood.getType()){ case 1: temp = "球面"; break; case 2: temp = "非球面"; break; case 3: temp = "双非"; break; } tOrderListVO.setLensL(orderGood.getBrandName() + orderGood.getSeriesName() + temp + orderGood.getRefractiveIndex()); continue; } if (StringUtils.hasLength(orderGood.getRLens())){ String temp = null; switch (orderGood.getType()){ case 1: temp = "球面"; break; case 2: temp = "非球面"; break; case 3: temp = "双非"; break; } tOrderListVO.setLensR(orderGood.getBrandName() + orderGood.getSeriesName() + temp + orderGood.getRefractiveIndex()); } } tOrderListVO.setCouponMoney(tOrder.getCouponMoney()); tOrderListVO.setOrderMoney(tOrder.getOrderMoney()); tOrderListVO.setOrderTime(simpleDateFormat.format(tOrder.getCreateTime())); res.add(tOrderListVO); } pageInfo.setRecords(res); return pageInfo; } } manage/src/main/java/com/jilongda/manage/vo/TOrderAftersalesDetailVO.java
New file @@ -0,0 +1,42 @@ package com.jilongda.manage.vo; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.jilongda.manage.model.TOrderAftersales; import com.jilongda.manage.model.TOrderGoods; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; @Data @ApiModel(value = "售后订单详情VO") public class TOrderAftersalesDetailVO extends TOrderAftersales { @ApiModelProperty(value = "订单id") private Integer orderId; @ApiModelProperty(value = "手机号") private String phone; @ApiModelProperty(value = "门店名称") private String storeName; @ApiModelProperty(value = "验光师名称") private String optometristName; @ApiModelProperty(value = "售后店员名称") private String salesUser; @ApiModelProperty(value = "下单时间") private String orderTime; @ApiModelProperty(value = "售后日期") private String afterSalesTime; @ApiModelProperty(value = "商品详情列表") private List<TOrderGoods> goodsList; @ApiModelProperty(value = "订单总金额") private BigDecimal orderMoney; @ApiModelProperty(value = "优惠金额") private BigDecimal couponMoney; @ApiModelProperty(value = "支付金额") private BigDecimal payMoney; } manage/src/main/java/com/jilongda/manage/vo/TOrderListVO.java
New file @@ -0,0 +1,42 @@ package com.jilongda.manage.vo; import com.jilongda.manage.model.TOptometryDetail; import com.jilongda.manage.model.TOrder; import com.jilongda.manage.model.TOrderGoods; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import io.swagger.models.auth.In; import lombok.Data; import java.math.BigDecimal; import java.util.List; @Data @ApiModel(value = "销售订单列表VO") public class TOrderListVO { @ApiModelProperty(value = "id") private Integer id; @ApiModelProperty(value = "微信昵称") private String wxName; @ApiModelProperty(value = "手机号") private String phone; @ApiModelProperty(value = "姓名") private String realName; @ApiModelProperty(value = "镜片R") private String lensR; @ApiModelProperty(value = "镜片L") private String lensL; @ApiModelProperty(value = "镜架") private String frame; @ApiModelProperty(value = "优惠金额") private BigDecimal couponMoney; @ApiModelProperty(value = "金额") private BigDecimal orderMoney; @ApiModelProperty(value = "下单时间") private String orderTime; @ApiModelProperty(value = "店铺名称") private String storeName; @ApiModelProperty(value = "员工昵称") private String staffName; } manage/src/main/java/com/jilongda/manage/vo/TOrderVO.java
@@ -1,7 +1,9 @@ package com.jilongda.manage.vo; import com.jilongda.manage.model.TModel; import com.jilongda.manage.model.TOptometryDetail; import com.jilongda.manage.model.TOrder; import com.jilongda.manage.model.TOrderGoods; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -9,7 +11,7 @@ import java.util.List; @Data @ApiModel(value = "镜架型号VO") @ApiModel(value = "核算订单列表VO") public class TOrderVO extends TOrder { @ApiModelProperty(value = "店铺名称") @@ -18,4 +20,8 @@ private String staffName; @ApiModelProperty(value = "优惠券名称") private String couponName; @ApiModelProperty(value = "商品详情列表") private List<TOrderGoods> orderGoods; @ApiModelProperty(value = "验光单详情") private List<TOptometryDetail> optometryDetails; } manage/src/main/resources/mapping/TOrderMapper.xml
@@ -61,5 +61,35 @@ left join t_coupon_receive tcr on tcr.id = o.couponId left join t_coupon tc on tc.id = tcr.couponId </select> <select id="pageList" resultType="com.jilongda.manage.model.TOrder"> select * from t_order where 1=1 <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> and createTime between #{query.startTime} and #{query.endTime} </if> <if test="query.startMoney != null "> and orderMoney between #{query.startMoney} and #{query.endMoney} </if> <if test="query.realName != null and query.realName != ''"> and `name` like concat('%',#{query.realName},'%') </if> <if test="query.storeId != null"> and storeId = #{query.storeId} </if> <if test="query.sysId != null"> and sysId = #{query.sysId} </if> <if test="query.userIds != null and query.userIds.size()>0"> AND userId IN <foreach collection="query.userIds" close=")" open="(" item="id" separator=","> #{id} </foreach> </if> <if test="query.orderIds != null and query.orderIds.size()>0"> AND id IN <foreach collection="query.orderIds" close=")" open="(" item="id" separator=","> #{id} </foreach> </if> </select> </mapper>