admin
2023-11-15 991958ef0adc1562e510ac7f5dc73c63e941a24c
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
package com.ruoyi.iot.controller;
 
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.iot.domain.Device;
import com.ruoyi.iot.domain.DeviceOrder;
import com.ruoyi.iot.service.IDeviceOrderService;
import com.ruoyi.iot.service.IDeviceService;
import com.ruoyi.system.service.ISysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.thymeleaf.util.ArrayUtils;
 
import javax.annotation.Resource;
import java.util.List;
 
import static com.ruoyi.common.utils.SecurityUtils.getLoginUser;
 
/**
 * @author wmz
 * @version v1.0
 * @ClassName DeviceOrderController
 * @description 设备安装controller
 * @createTime 2023/11/13 0:27
 */
@Api(tags = "设备安装信息")
@RestController
@RequestMapping("/iot/deviceOrder")
public class DeviceOrderController extends BaseController {
 
    @Resource
    private IDeviceOrderService iDeviceOrderService;
    @Resource
    private ISysUserService userService;
 
    @Autowired
    private IDeviceService deviceService;
 
    /**
     * 查询全部设备订单信息
     *
     * @return
     * @throws Exception
     */
    @PreAuthorize("@ss.hasAnyPermi('iot:deviceOrder:list')")
    @GetMapping("/list")
    @ApiOperation(value = "获取设备订单分页列表")
    public TableDataInfo list(DeviceOrder deviceOrder) throws Exception {
        startPage();
        //if (deviceOrder.getState() == -1) {
            //List<DeviceOrder> list1 = iDeviceOrderService.selectDeviceOrderAll(deviceOrder);
            //return getDataTable(list1);
        //}
        SysUser sysUser = getLoginUser().getUser();
        deviceOrder.setCreateUserId(sysUser.getUserId());
        List<DeviceOrder> list = iDeviceOrderService.selectDeviceOrderList(deviceOrder);
        return getDataTable(list);
    }
 
    /**
     * 添加安装设备订单信息
     *
     * @param deviceOrder
     * @return
     * @throws Exception
     */
    @ApiOperation("添加安装单")
    @PreAuthorize("@ss.hasPermi('iot:device:add')")
    @Log(title = "添加安装单信息", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@Validated @RequestBody DeviceOrder deviceOrder) throws Exception {
        //更新订单的初始化状态
        if ("未指派".equals(deviceOrder.getErectoName())) {
            deviceOrder.setState(0);
        } else {
            deviceOrder.setState(1);
        }
        //更新订单的用户信息
        SysUser sysUser = getLoginUser().getUser();
        deviceOrder.setCreateUserId(sysUser.getUserId());
        //插入安装订单
        int rows =iDeviceOrderService.insertDeviceOrder(deviceOrder);
        if(rows>0)
        {
            //更新当前设备状态信息--安装中
            Device device = new Device();
            device.setDeviceId(deviceOrder.getDeviceId());
            device.setStatus(5);
            deviceService.updateDevice(device);
        }
        return toAjax(rows);
    }
 
    /**
     * 修改设备订单信息
     *
     * @param deviceOrder
     * @return
     * @throws Exception
     */
    @ApiOperation(value = "修改设备订单信息")
    @PreAuthorize("@ss.hasPermi('iot:device:edit')")
    @Log(title = "修改设备订单信息", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody DeviceOrder deviceOrder) throws Exception {
        return AjaxResult.success(iDeviceOrderService.updateDeviceOrder(deviceOrder));
    }
 
    /**
     * 删除设备订单信息
     *
     * @param deviceId
     * @return
     * @throws Exception
     */
    @PreAuthorize("@ss.hasPermi('iot:device:list')")
    @Log(title = "修改设备订单信息", businessType = BusinessType.DELETE)
    @DeleteMapping("/{deviceId}")
    @ApiOperation("删除订单信息")
    public AjaxResult remove(@PathVariable("deviceId") Integer deviceId) throws Exception {
        return AjaxResult.success(iDeviceOrderService.deleteDeviceOrderById(deviceId));
    }
}