package com.xzx.gc.shop.service; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.xzx.gc.common.utils.StringUtils; import com.xzx.gc.entity.JhyOrderItems; import com.xzx.gc.entity.ScoreOrderDetails; import com.xzx.gc.shop.dto.QueryJhyOrderListDto; import com.xzx.gc.shop.mapper.JhyOrderItemsMapper; import com.xzx.gc.shop.mapper.JhyOrderMapper; import com.xzx.gc.shop.vo.*; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import tk.mybatis.mapper.entity.Example; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Service @Transactional @Slf4j public class JhyService { @Resource JhyOrderMapper jhyOrderMapper; @Resource JhyOrderItemsMapper jhyOrderItemsMapper; public Map queryOrderList(QueryJhyOrderListDto model) { PageHelper.startPage(model.getPage(), model.getLimit()); String accountPhone = model.getAccount(); String name = StrUtil.isEmpty(model.getAccount())?model.getAccount():StringUtils.encode(model.getAccount()); model.setAccount(name); model.setAccountPhone(accountPhone); List maps = jhyOrderMapper.queryOrderList(model); if(CollUtil.isNotEmpty(maps)){ for(QueryJhyOrderListVo queryJhyOrderListVo : maps){ String decode = StringUtils.decode(queryJhyOrderListVo.getName()); queryJhyOrderListVo.setName(decode); } } PageInfo pageInfo = new PageInfo(maps); int count = Convert.toInt(pageInfo.getTotal()); Map map = new HashMap<>(); map.put("data", maps); map.put("count", count); map.put("code", 0); return map; } public ViewJhyOrderVo viewJhyOrder(Long id) { ViewJhyOrderVo viewJhyOrderVo = new ViewJhyOrderVo(); viewJhyOrderVo = jhyOrderMapper.viewJhyOrder(id); String decode = StringUtils.decode(viewJhyOrderVo.getNickName()); viewJhyOrderVo.setNickName(decode); Example exampleItems = new Example(JhyOrderItems.class); Example.Criteria criteriaItems = exampleItems.createCriteria(); criteriaItems.andEqualTo("orderId",id); ArrayList jhyOrderItemsVolist = new ArrayList<>(); List jhyOrderItemsList = jhyOrderItemsMapper.selectByExample(exampleItems); if(CollUtil.isNotEmpty(jhyOrderItemsList)){ for(JhyOrderItems jhyOrderItems : jhyOrderItemsList){ JhyOrderItemsVo jhyOrderItemsVo = BeanUtil.copyProperties(jhyOrderItems, JhyOrderItemsVo.class); BigDecimal multiply = jhyOrderItemsVo.getPrice().multiply(new BigDecimal(40)); BigDecimal multiplyScore = jhyOrderItemsVo.getPrice() .multiply(jhyOrderItemsVo.getWeight()==null?BigDecimal.ZERO :jhyOrderItemsVo.getWeight()) .multiply(new BigDecimal(40)); jhyOrderItemsVo.setPrice(multiply); jhyOrderItemsVo.setAllPrice(multiplyScore); jhyOrderItemsVolist.add(jhyOrderItemsVo); } } viewJhyOrderVo.setJhyOrderItems(jhyOrderItemsVolist); return viewJhyOrderVo; } }