| | |
| | | package com.kidgrow.oprationcenter.controller; |
| | | |
| | | import java.util.Map; |
| | | import com.kidgrow.common.annotation.LoginUser; |
| | | import com.kidgrow.common.controller.BaseController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.kidgrow.common.model.PageResult; |
| | | import com.kidgrow.common.model.ResultBody; |
| | | import com.kidgrow.common.model.SysOrganization; |
| | | import com.kidgrow.common.model.SysUser; |
| | | import com.kidgrow.oprationcenter.model.ProductOrderDetail; |
| | | import com.kidgrow.oprationcenter.model.SysProduct; |
| | | import com.kidgrow.oprationcenter.service.IProductOrderDetailService; |
| | | import com.kidgrow.oprationcenter.service.ISysProductService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import com.kidgrow.oprationcenter.model.SysProduct; |
| | | import com.kidgrow.oprationcenter.service.ISysProductService; |
| | | import com.kidgrow.common.model.*; |
| | | |
| | | import org.apache.commons.collections4.MapUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.validation.BindingResult; |
| | | import org.springframework.validation.ObjectError; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.validation.Valid; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping("/sysproduct") |
| | | @RequestMapping("/product") |
| | | @Api(tags = "") |
| | | public class SysProductController extends BaseController{ |
| | | @Autowired |
| | | private ISysProductService sysProductService; |
| | | @Autowired |
| | | private IProductOrderDetailService productOrderDetailService; |
| | | |
| | | /** |
| | | * 列表 |
| | |
| | | @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer") |
| | | }) |
| | | @GetMapping |
| | | public ResultBody<PageResult> list(@RequestParam Map<String, Object> params) { |
| | | public PageResult list(@RequestParam Map<String, Object> params, @LoginUser SysUser sysUser) { |
| | | if(params.size()==0){ |
| | | params.put("page",1); |
| | | params.put("limit",10); |
| | | } |
| | | return ResultBody.ok().data(sysProductService.findList(params)); |
| | | return sysProductService.findList(params,sysUser); |
| | | } |
| | | |
| | | @GetMapping("/all") |
| | | public PageResult allList(@RequestParam Map<String, Object> params, @LoginUser SysUser sysUser) { |
| | | return sysProductService.findAllList(params,sysUser); |
| | | } |
| | | /** |
| | | * 查询 |
| | | */ |
| | |
| | | */ |
| | | @ApiOperation(value = "保存") |
| | | @PostMapping |
| | | public ResultBody save(@Valid @RequestBody SysProduct sysProduct, BindingResult bindingResult) { |
| | | public ResultBody save(@Valid @RequestBody SysProduct sysProduct, BindingResult bindingResult,@LoginUser SysUser sysUser) { |
| | | List<String> errMsg= new ArrayList<>(); |
| | | if (bindingResult.hasErrors()) { |
| | | return ResultBody.failed().msg(bindingResult.getFieldError().getDefaultMessage()); |
| | | } else { |
| | | for (ObjectError error : bindingResult.getAllErrors()) { |
| | | errMsg.add(error.getDefaultMessage()); |
| | | } |
| | | return ResultBody.failed().msg(errMsg.toString()); |
| | | } else { |
| | | List<SysOrganization> organizations = sysUser.getOrganizations(); |
| | | if(organizations.size()>0){ |
| | | sysProduct.setCreateUserOrgCode(organizations.get(organizations.size()-1).getOrgCode()); |
| | | } |
| | | |
| | | boolean v= sysProductService.saveOrUpdate(sysProduct); |
| | | if(v) { |
| | | return ResultBody.ok().data(sysProduct).msg("保存成功"); |
| | |
| | | @ApiOperation(value = "删除") |
| | | @DeleteMapping("/{id}") |
| | | public ResultBody delete(@PathVariable Long id) { |
| | | boolean v= sysProductService.removeById(id); |
| | | if(v) { |
| | | return ResultBody.ok().msg("删除成功"); |
| | | if (!ProIsUseed(id)) { |
| | | return ResultBody.failed().msg("该产品已经被使用,无法删除!"); |
| | | } |
| | | else { |
| | | return ResultBody.failed().msg("删除失败"); |
| | | boolean v = sysProductService.removeById(id); |
| | | if (v) { |
| | | return ResultBody.ok().msg("删除成功"); |
| | | } else { |
| | | return ResultBody.failed().msg("删除失败"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 判断该产品id下有没有已经使用的订单明细 |
| | | * @param id |
| | | * @return |
| | | */ |
| | | private boolean ProIsUseed(Long id) |
| | | { |
| | | ProductOrderDetail productOrderDetail=new ProductOrderDetail(); |
| | | productOrderDetail.setProId(id); |
| | | productOrderDetail=productOrderDetailService.findByObject(productOrderDetail); |
| | | return (productOrderDetail==null); |
| | | } |
| | | /** |
| | | * 修改状态 |
| | | * |
| | | * @param params |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "修改数据状态") |
| | | @GetMapping("/updateEnabled") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Integer"), |
| | | @ApiImplicitParam(name = "enabled", value = "是否启用", required = true, dataType = "Boolean") |
| | | }) |
| | | public ResultBody updateEnabled(@RequestParam Map<String, Object> params) { |
| | | if (params.size()==0) |
| | | { |
| | | return ResultBody.failed().msg("参数异常!"); |
| | | } |
| | | else if (!ProIsUseed(Long.valueOf(MapUtils.getInteger(params, "id")))) { |
| | | return ResultBody.failed().msg("该产品已经被使用,无法删除!"); |
| | | } |
| | | else{ |
| | | return sysProductService.updateEnabled(params); |
| | | } |
| | | } |
| | | } |