xiaoyong931011
2021-07-02 61280b59da270052fca2f6a058255c7803e41357
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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<String, Object> 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());
        String name = model.getAccount();
        model.setAccount(name);
        model.setAccountPhone(accountPhone);
        List<QueryJhyOrderListVo> 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<String, Object> 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<JhyOrderItemsVo> jhyOrderItemsVolist = new ArrayList<>();
        List<JhyOrderItems> 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(new BigDecimal(StrUtil.isEmpty(jhyOrderItemsVo.getScore())?"0":jhyOrderItemsVo.getScore()).setScale( 2, BigDecimal.ROUND_DOWN ));
                jhyOrderItemsVolist.add(jhyOrderItemsVo);
            }
        }
        viewJhyOrderVo.setJhyOrderItems(jhyOrderItemsVolist);
 
        return viewJhyOrderVo;
    }
}