wang-hao-jie
2022-03-10 ae32c3a7d77e2ed114555623c70e3fbd1d6aba59
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
140
141
142
143
144
145
146
147
148
149
150
package cn.exrick.xboot.your.controller;
 
import cn.exrick.xboot.core.common.utils.PageUtil;
import cn.exrick.xboot.core.common.utils.ResultUtil;
import cn.exrick.xboot.core.common.vo.PageVo;
import cn.exrick.xboot.core.common.vo.Result;
import cn.exrick.xboot.your.entity.Customer;
import cn.exrick.xboot.your.entity.CustomerReceive;
import cn.exrick.xboot.your.service.ICustomerReceiveService;
import cn.exrick.xboot.your.service.ICustomerService;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.transaction.annotation.Transactional;
 
import java.util.List;
 
/**
 * @author zhangzeli
 */
@Slf4j
@RestController
@Api(tags = "商户表管理接口")
@RequestMapping("/xboot/customer")
@Transactional
public class CustomerController {
 
    @Autowired
    private ICustomerService iCustomerService;
    @Autowired
    private ICustomerReceiveService iCustomerReceiveService;
 
    @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
    @ApiOperation(value = "通过id获取")
    public Result<Customer> get(@PathVariable String id) {
        Customer customer = iCustomerService.getById(id);
        QueryWrapper<CustomerReceive> wrapper = new QueryWrapper<>();
        wrapper.eq("customer_id",id);
        wrapper.eq("status",1);
        List<CustomerReceive> list = iCustomerReceiveService.list(wrapper);
        customer.setReceives(list);
        return new ResultUtil<Customer>().setData(customer);
    }
 
    @RequestMapping(value = "/getAll", method = RequestMethod.GET)
    @ApiOperation(value = "获取全部数据")
    public Result<List<Customer>> getAll() {
 
        List<Customer> list = iCustomerService.list();
        return new ResultUtil<List<Customer>>().setData(list);
    }
 
    @RequestMapping(value = "/getByPage", method = RequestMethod.GET)
    @ApiOperation(value = "")
    public Result<IPage<Customer>> getByPage(String areaSectionId,String customerName,PageVo page) {
        QueryWrapper<Customer> wrapper = new QueryWrapper<>();
        if (!StrUtil.isEmpty(areaSectionId))
            wrapper.eq("area_section_id",areaSectionId);
        if (!StrUtil.isEmpty(customerName))
            wrapper.like("name", "%" + customerName + "%");
        IPage<Customer> data = iCustomerService.page(PageUtil.initMpPage(page),wrapper);
        return new ResultUtil<IPage<Customer>>().setData(data);
    }
 
    @RequestMapping(value = "/insertOrUpdate", method = RequestMethod.POST)
    @ApiOperation(value = "编辑或更新数据")
    public Result<Customer> saveOrUpdate(Customer customer) {
 
        if (iCustomerService.saveOrUpdate(customer)) {
 
            if(StrUtil.isNotEmpty(customer.getLinker())){
                QueryWrapper<CustomerReceive> wrapper = new QueryWrapper<>();
                wrapper.eq("customer_id",customer.getId());
                wrapper.eq("name",customer.getLinker());
                CustomerReceive one = iCustomerReceiveService.getOne(wrapper);
                if(one==null){
                    one = new CustomerReceive();
                    one.setCustomerId(customer.getId());
                    one.setFstatus(0);
                    one.setStatus(1);
                    one.setName(customer.getLinker());
                    one.setPhone(customer.getPhone());
                    iCustomerReceiveService.saveOrUpdate(one);
                }
            }
            return new ResultUtil<Customer>().setData(customer);
        }
        return new ResultUtil<Customer>().setErrorMsg("操作失败");
    }
 
    @RequestMapping(value = "/update", method = RequestMethod.POST)
    @ApiOperation(value = "更新数据")
    public Result<Customer> update(String customerId,String lng,String lat,String address,String headImg) {
        Customer customer = iCustomerService.getById(customerId);
        if(StrUtil.isNotEmpty(lng)){
            customer.setLng(lng);
        }else{
            return ResultUtil.error("请将定位信息填写完整");
        }
        if(StrUtil.isNotEmpty(lat)){
            customer.setLat(lat);
        }else{
            return ResultUtil.error("请将定位信息填写完整");
        }
 
        QueryWrapper<Customer> wrapper = new QueryWrapper<>();
        wrapper.eq("lng",lng);
        wrapper.eq("lat",lat);
        List<Customer> list = iCustomerService.list(wrapper);
        if(list.size()>0){
            for(Customer c:list){
                c.setLikeCusotmerId(customerId);
                iCustomerService.saveOrUpdate(c);
            }
            //customer.setLikeCusotmerId(list.get(0).getId());
        }
 
 
        if(StrUtil.isNotEmpty(address)){
            customer.setRegisteredAddress(address);
        }else{
            return ResultUtil.error("请将位置信息填写完整");
        }
        if(StrUtil.isNotEmpty(headImg)){
            customer.setHeadImg(headImg);
        }else{
            return ResultUtil.error("请将门头照信息填写完整");
        }
        customer.setKstatus(2);
        if (iCustomerService.saveOrUpdate(customer)) {
            return new ResultUtil<Customer>().setData(customer);
        }
        return new ResultUtil<Customer>().setErrorMsg("操作失败");
    }
 
    @RequestMapping(value = "/delByIds", method = RequestMethod.POST)
    @ApiOperation(value = "批量通过id删除")
    public Result<Object> delAllByIds(@RequestParam String[] ids) {
 
        for (String id : ids) {
            iCustomerService.removeById(id);
        }
        return ResultUtil.success("批量通过id删除数据成功");
    }
}