jyy
2021-03-19 382794b20c47d0f74317b2ac5bb7b6849986166f
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package com.matrix.system.shopXcx.api.action;
 
import com.alibaba.fastjson.JSONObject;
import com.matrix.biz.bean.BizUser;
import com.matrix.component.redis.RedisClient;
import com.matrix.component.redis.RedisUserLoginUtils;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.LogUtil;
import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.UUIDUtil;
import com.matrix.system.app.authority.AppAuthorityManager;
import com.matrix.system.app.dto.LoginDto;
import com.matrix.system.app.dto.PwdResetDto;
import com.matrix.system.app.dto.SmsCodeDto;
import com.matrix.system.app.dto.UploadPhotoDto;
import com.matrix.system.app.vo.UserInfoVo;
import com.matrix.system.common.authority.strategy.AccountPasswordLogin;
import com.matrix.system.common.authority.strategy.LoginStrategy;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.service.SysUsersService;
import com.matrix.system.common.tools.PasswordUtil;
import com.matrix.system.hive.bean.AppVersion;
import com.matrix.system.hive.bean.SysOrderFlow;
import com.matrix.system.hive.bean.SysShopInfo;
import com.matrix.system.hive.bean.SysVipInfo;
import com.matrix.system.hive.dao.SysOrderDao;
import com.matrix.system.hive.dao.SysOrderFlowDao;
import com.matrix.system.hive.dao.SysOrderItemDao;
import com.matrix.system.hive.dao.SysVipInfoDao;
import com.matrix.system.hive.plugin.util.CollectionUtils;
import com.matrix.system.hive.plugin.util.ImageUtil;
import com.matrix.system.hive.service.SysShopInfoService;
import com.matrix.system.shopXcx.api.dto.ErpOrderListDto;
import com.matrix.system.shopXcx.api.vo.ErpOrderDetailFlowVo;
import com.matrix.system.shopXcx.api.vo.ErpOrderDetailItemVo;
import com.matrix.system.shopXcx.api.vo.ErpOrderDetailVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
 
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.List;
 
/**
 * @author wzy
 * @date 2020-12-21
 **/
@Api(value = "WxErpOrderAction", tags = "小程序端Erp订单查询接口")
@RestController
@RequestMapping(value = "/wxapi/erpOrder")
public class WxErpOrderAction {
 
    @Autowired
    private SysUsersService sysUsersService;
 
    @Autowired
    private SysShopInfoService sysShopInfoService;
 
    @Autowired
    private AppAuthorityManager authorityManager;
 
    @Autowired
    private RedisClient redisClient;
 
    @Autowired
    private SysVipInfoDao vipInfoDao;
 
    @Autowired
    RedisUserLoginUtils redisUserLoginUtils;
 
    @Autowired
    private SysOrderDao sysOrderDao;
 
    @Autowired
    private SysOrderItemDao orderItemDao;
 
    @Autowired
    private SysOrderFlowDao orderFlowDao;
 
    @Value("${file_storage_path}")
    private String fileStoragePath;
    @Value("${static_resource_url}")
    private String nginxUrl;
 
    @ApiOperation(value = "查询用户所有在ERP中产生的订单" )
    @ApiResponses({
            @ApiResponse(code = 200, message = "OK",  response = ErpOrderListDto.class)
    })
    @PostMapping(value = "/findUserOrderList")
    public AjaxResult findUserOrderList(@RequestBody @Validated ErpOrderListDto erpOrderListDto) {
        BizUser bizUser = redisUserLoginUtils.getLoginUser(BizUser.class);
        SysVipInfo vipInfo = vipInfoDao.selectByPhone(bizUser.getPhoneNumber());
        if(vipInfo!=null){
            erpOrderListDto.setVipId(vipInfo.getId());
            List<ErpOrderDetailVo> rows=sysOrderDao.selectErpOrderList(erpOrderListDto);
            rows.forEach(item->{
                item.setItems(orderItemDao.selectErpOrderItemByOrderId(item.getOrderId()));
            });
            return  AjaxResult.buildSuccessInstance(rows,"查询成功");
        }else{
            return  AjaxResult.buildFailInstance("未查询到相关订单001");
        }
 
    }
 
    @ApiOperation(value = "查询用户在ERP中的订单详情" )
    @ApiResponses({
            @ApiResponse(code = 200, message = "OK",  response = ErpOrderListDto.class)
    })
    @GetMapping(value = "/findUserOrderById/{orderId}")
    public AjaxResult findUserOrderList(@PathVariable Long orderId) {
        ErpOrderDetailVo order=sysOrderDao.findUserOrderById(orderId);
        order.setItems(orderItemDao.selectErpOrderItemByOrderId(order.getOrderId()));
        List<SysOrderFlow> sysOrderFlows = orderFlowDao.selectPayMethodsAmountByOrderId(orderId);
        List<ErpOrderDetailFlowVo> flowVos=new ArrayList<>();
        sysOrderFlows.forEach(item->{
            ErpOrderDetailFlowVo erpOrderDetailFlowVo = new ErpOrderDetailFlowVo();
            BeanUtils.copyProperties(item,erpOrderDetailFlowVo);
            flowVos.add(erpOrderDetailFlowVo);
        });
        order.setFlow(flowVos);
        AjaxResult result = AjaxResult.buildSuccessInstance("查询成功");
        result.putInMap("order",order);
        return  result;
    }
 
 
 
 
}