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.core.entity.User; import cn.exrick.xboot.core.service.UserService; import cn.exrick.xboot.your.entity.Customer; import cn.exrick.xboot.your.entity.CustomerReceive; import cn.exrick.xboot.your.entity.Fingerprint; import cn.exrick.xboot.your.service.ICustomerReceiveService; import cn.exrick.xboot.your.service.ICustomerService; import cn.exrick.xboot.your.service.IFingerprintService; 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 Exrick */ @Slf4j @RestController @Api(tags = "指纹管理接口") @RequestMapping("/xboot/fingerprint") @Transactional public class FingerprintController { @Autowired private IFingerprintService iFingerprintService; @Autowired private UserService userService; @Autowired private ICustomerReceiveService iCustomerReceiveService; @Autowired private ICustomerService iCustomerService; @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) @ApiOperation(value = "通过id获取") public Result get(@PathVariable String id) { Fingerprint fingerprint = iFingerprintService.getById(id); return new ResultUtil().setData(fingerprint); } @RequestMapping(value = "/getAll", method = RequestMethod.GET) @ApiOperation(value = "获取全部司机和配送员指纹数据") public Result> getAll() { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.isNotNull("user_id"); List list = iFingerprintService.list(wrapper); return new ResultUtil>().setData(list); } @RequestMapping(value = "/getAllByAreaId", method = RequestMethod.GET) @ApiOperation(value = "获取全部片区内指纹数据") public Result> getAllByAreaId(String areaId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("area_id",areaId); List list = iFingerprintService.list(wrapper); return new ResultUtil>().setData(list); } @RequestMapping(value = "/getCount", method = RequestMethod.GET) @ApiOperation(value = "获取用户指纹数") public Result getCount() { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.isNotNull("user_id"); int a = iFingerprintService.count(wrapper); return new ResultUtil().setData(a); } @RequestMapping(value = "/getByPage", method = RequestMethod.GET) @ApiOperation(value = "分页获取") public Result> getByPage(PageVo page) { IPage data = iFingerprintService.page(PageUtil.initMpPage(page)); return new ResultUtil>().setData(data); } @RequestMapping(value = "/getUserByCode", method = RequestMethod.GET) @ApiOperation(value = "用指纹编号司机或配送员的登录名和密码") public Result getUserByCode(String code) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("code",code); wrapper.isNotNull("user_id"); Fingerprint one = iFingerprintService.getOne(wrapper); return new ResultUtil().setData(one); } @RequestMapping(value = "/getCustomerByCode", method = RequestMethod.GET) @ApiOperation(value = "用指纹编号和商户id获取接货人信息") public Result getCustomerByCode(String code,String customerId) { Customer c = iCustomerService.getById(customerId); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("code",code); wrapper.eq("area_id",c.getAreaId()); Fingerprint one = iFingerprintService.getOne(wrapper); CustomerReceive customerReceive = iCustomerReceiveService.getById(one.getCustomerReceiveId()); return new ResultUtil().setData(customerReceive); } @RequestMapping(value = "/getCode2", method = RequestMethod.GET) @ApiOperation(value = "根据商户id获取接货人编号") public Result getCode2(String customerId) { Customer c = iCustomerService.getById(customerId); int code = iFingerprintService.maxCode2(c.getAreaId()); return new ResultUtil().setData(code); } @RequestMapping(value = "/getCode", method = RequestMethod.GET) @ApiOperation(value = "获取司机或配送员指纹编号") public Result getCode() { int code = iFingerprintService.maxCode(); return new ResultUtil().setData(code); } @RequestMapping(value = "/insertOrUpdate", method = RequestMethod.POST) @ApiOperation(value = "编辑或更新数据") public Result saveOrUpdate(Fingerprint fingerprint) { if(StrUtil.isNotEmpty(fingerprint.getUserId())){ User user = userService.get(fingerprint.getUserId()); fingerprint.setUsername(user.getUsername()); fingerprint.setPassword(user.getDescription()); fingerprint.setType(user.getType2()); } if(StrUtil.isNotEmpty(fingerprint.getCustomerId())){ Customer byId = iCustomerService.getById(fingerprint.getCustomerId()); fingerprint.setAreaId(byId.getAreaId()); } if (iFingerprintService.saveOrUpdate(fingerprint)) { return new ResultUtil().setData(fingerprint); } return new ResultUtil().setErrorMsg("操作失败"); } @RequestMapping(value = "/delByIds", method = RequestMethod.POST) @ApiOperation(value = "批量通过id删除") public Result delAllByIds(@RequestParam String[] ids) { for (String id : ids) { iFingerprintService.removeById(id); } return ResultUtil.success("批量通过id删除数据成功"); } }