From 91991096ba5c8fb27399b317715c76b2c43a15f1 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 30 十二月 2024 15:35:06 +0800 Subject: [PATCH] 小程序 --- manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java | 93 ++++++++++++++++++++++++++++++++++------------ 1 files changed, 68 insertions(+), 25 deletions(-) diff --git a/manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java b/manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java index cebff63..bd53699 100644 --- a/manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java +++ b/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; @@ -15,6 +19,8 @@ import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.List; /** @@ -30,6 +36,8 @@ @RequestMapping("/t-order-accounting") public class TOrderAccountingController { @Autowired + private SecUserService secUserService; + @Autowired private TStoreService storeService; @Autowired private TOrderService orderService; @@ -39,6 +47,14 @@ private TAppUserService appUserService; @Autowired private TOptometryDetailService optometryDetailService; + @Autowired + private TOrderGoodsService orderGoodsService; + @Autowired + private SecFeeItemsService feeItemsService; + @Autowired + private LoginInfoUtil loginInfoUtil; + @Autowired + private TOptometryService optometryService; @ApiOperation(value = "核算订单分页列表") @PostMapping(value = "/pageList") public ApiResult<PageInfo<TOrderVO>> pageList(@RequestBody TOrderAccountingQuery query) { @@ -54,44 +70,71 @@ public ApiResult<TOrderAccountVO> detail(Integer id) { TOrderAccountVO res = new TOrderAccountVO(); TOrder byId = orderService.getById(id); - TOrderAccounting one = orderAccountingService.lambdaQuery().eq(TOrderAccounting::getOrderId, id).one(); if (byId.getUserId()!=null){ TAppUser byId1 = appUserService.getById(byId.getUserId()); if(byId1!=null){ res.setName(byId1.getName()); res.setPhone(byId1.getPhone()); + res.setRealName(byId1.getRealName()); + res.setGender(byId1.getGender()); } + }else { + res.setPhone(byId.getPhone()); + res.setAge(byId.getAge()); + res.setRealName(byId.getRealName()); + res.setGender(byId.getGender()); } - res.setAge(byId.getAge()); - res.setRealName(byId.getRealName()); - res.setGender(byId.getGender()); + res.setUserId(byId.getUserId()); + res.setOptometryId(byId.getOptometryId()); List<TOptometryDetail> list = optometryDetailService.lambdaQuery().eq(TOptometryDetail::getOrderId, id) .eq(TOptometryDetail::getType, 1).list(); res.setOptometryDetails(list); -// res.setOrderGoods(); -// res.setStoreName(); -// res.setOrderMoney(); -// res.setCouponMoney(); -// res.setPayMoney(); -// res.setPayType(); -// res.setRealPayMoney(); -// res.setCommission(); -// res.setProfitMoney(); -// res.setProfitRating(); - - - + List<TOrderGoods> orderGoods = orderGoodsService.lambdaQuery() + .eq(TOrderGoods::getOrderId, id).list(); + BigDecimal goodsMoney = new BigDecimal("0"); + BigDecimal costMoney = new BigDecimal("0"); + BigDecimal constConfirm = new BigDecimal("0"); + for (TOrderGoods orderGood : orderGoods) { + goodsMoney =goodsMoney.add(orderGood.getGoodsMoney()); + costMoney=costMoney.add(orderGood.getCost()==null?new BigDecimal("0"):orderGood.getCost()); + constConfirm=constConfirm.add(orderGood.getConstConfirm()==null?new BigDecimal("0"):orderGood.getConstConfirm()); + } + res.setOrderGoods(orderGoods); + TStore byId1 = storeService.getById(byId.getStoreId()); + res.setStoreName(byId1.getName()); + res.setOrderMoney(goodsMoney); + res.setCouponMoney(byId.getCouponMoney()); + res.setPayMoney(byId.getPayMoney()); + res.setPayType(byId.getPayTypeName()); + res.setRealPayMoney(byId.getPayMoney()); + SecFeeItems one1 = feeItemsService.lambdaQuery().eq(SecFeeItems::getName, byId.getPayTypeName()) + .one(); + BigDecimal percent = one1.getPercent(); + BigDecimal bigDecimal1 = byId.getPayMoney().multiply(percent).setScale(2, BigDecimal.ROUND_DOWN); + res.setCommission(bigDecimal1); + if (byId.getIsAccounting()==1){ + res.setProfitMoney(byId.getPayMoney().subtract(bigDecimal1).subtract(constConfirm)); + res.setProfitRating(res.getProfitMoney().divide(byId.getPayMoney(),2, BigDecimal.ROUND_DOWN)); + } return ApiResult.success(res); } @ApiOperation(value = "确认核算操作") - @PostMapping(value = "/confirm") - public ApiResult confirm(@RequestBody TOrderAccountingQuery query) { - if (StringUtils.hasLength(query.getStartTime())){ - query.setStartTime(query.getStartTime()+" 00:00:00"); - query.setEndTime(query.getEndTime()+" 23:59:59"); - } - PageInfo<TOrderVO> res = orderAccountingService.pageList(query); - return ApiResult.success(res); + @GetMapping(value = "/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(); } } -- Gitblit v1.7.1