package com.pj.project.tb_goods; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.util.StrUtil; import com.pj.constants.UserTypeEnum; import com.pj.constants.business.GoodsEnum; import com.pj.current.satoken.StpUserUtil; import com.pj.project.tb_costomer.TbCostomer; import com.pj.project.tb_costomer.TbCostomerService; import com.pj.project4sp.SP; import com.pj.utils.sg.AjaxJson; import com.pj.utils.so.SoMap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * Controller: tb_goods -- 商品管理 * * @author qzy */ @RestController @RequestMapping("/TbGoods/") public class TbGoodsController { /** * 底层 Service 对象 */ @Autowired TbGoodsService tbGoodsService; @Resource private TbCostomerService tbCostomerService; /** * 增 */ @RequestMapping("add") @SaCheckPermission(TbGoods.PERMISSION_CODE_ADD) public AjaxJson add(TbGoods t) { t.setCreateTime(new Date()); tbGoodsService.save(t); return AjaxJson.getSuccessData(t); } /** * 删 */ @RequestMapping("delete") @SaCheckPermission(TbGoods.PERMISSION_CODE_DEL) public AjaxJson delete(Long id) { tbGoodsService.removeById(id); return AjaxJson.getSuccess(); } /** * 改 */ @RequestMapping("update") @SaCheckPermission(TbGoods.PERMISSION_CODE_EDIT) public AjaxJson update(TbGoods t) { tbGoodsService.update(t); return AjaxJson.getSuccess(); } /** * 查 - 根据id */ @RequestMapping("getById") public AjaxJson getById(Long id) { TbGoods t = tbGoodsService.getById(id); return AjaxJson.getSuccessData(t); } /** * 查集合 - 根据条件(参数为空时代表忽略指定条件) */ @RequestMapping("getList") public AjaxJson getList() { SoMap so = SoMap.getRequestSoMap(); List list = tbGoodsService.getList(so.startPage()); String id = StpUserUtil.getCustomerId(); if (StrUtil.equals(id, UserTypeEnum.PLATFORM_ADMIN.getCustomerId())) { return AjaxJson.getPageData(so.getDataCount(), list); } TbCostomer tbCostomer = tbCostomerService.getById(id); list = list.stream().filter(tbGoods -> StrUtil.splitTrim(tbCostomer.getBusinessType(), ",").contains(tbGoods.getId())).collect(Collectors.toList()); return AjaxJson.getPageData(so.getDataCount(), list); } /** * 查集合 - 根据条件(参数为空时代表忽略指定条件) */ @RequestMapping("all") public AjaxJson getAll() { return AjaxJson.getSuccessData(tbGoodsService.list()); } /** * 改 - 状态(1=禁用,2=启用) */ @RequestMapping("updateStatus") @SaCheckPermission(TbGoods.PERMISSION_CODE) public AjaxJson updateStatus(Long id, String value) { int line = SP.publicMapper.updateColumnById(TbGoods.TABLE_NAME, "status", value, id); return AjaxJson.getByLine(line); } /** * 改 - 载重是否必填(1=是,0=否) */ @RequestMapping("updateNeedWeight") @SaCheckPermission(TbGoods.PERMISSION_CODE_EDIT) public AjaxJson updateNeedWeight(Long id, String value) { int line = SP.publicMapper.updateColumnById(TbGoods.TABLE_NAME, "need_weight", value, id); return AjaxJson.getByLine(line); } /** * 改 - 载重是否必填(1=是,0=否) */ @RequestMapping("updateNeedOwner") @SaCheckPermission(TbGoods.PERMISSION_CODE_EDIT) public AjaxJson updateNeedOwner(Long id, String value) { if (StrUtil.isEmpty(value)) { return AjaxJson.getError("参数异常"); } int line = SP.publicMapper.updateColumnById(TbGoods.TABLE_NAME, "need_owner", value, id); return AjaxJson.getByLine(line); } /** * 改 - 规格是否必填(1=是,0=否) */ @RequestMapping("updateNeedCarSize") @SaCheckPermission(TbGoods.PERMISSION_CODE_EDIT) public AjaxJson updateNeedCarSize(Long id, String value) { int line = SP.publicMapper.updateColumnById(TbGoods.TABLE_NAME, "need_car_size", value, id); return AjaxJson.getByLine(line); } /** * 改 - 申报单是否必填(1=是,0=否) */ @RequestMapping("updateNeedDeclare") @SaCheckPermission(TbGoods.PERMISSION_CODE_EDIT) public AjaxJson updateNeedDeclare(Long id, String value) { int line = SP.publicMapper.updateColumnById(TbGoods.TABLE_NAME, "need_declare", value, id); return AjaxJson.getByLine(line); } /** * 改 - 申报时间是否必填(1=是,0=否) */ @RequestMapping("updateNeedOperateTime") @SaCheckPermission(TbGoods.PERMISSION_CODE_EDIT) public AjaxJson updateNeedOperateTime(Long id, String value) { int line = SP.publicMapper.updateColumnById(TbGoods.TABLE_NAME, "need_operate_time", value, id); return AjaxJson.getByLine(line); } /** * 改 - 申报时间是否必填(1=是,0=否) */ @RequestMapping("updateVietnamCarPay") @SaCheckPermission(TbGoods.PERMISSION_CODE_EDIT) public AjaxJson updateVietnamCarPay(Long id, String value) { int line = SP.publicMapper.updateColumnById(TbGoods.TABLE_NAME, "vietnam_car_pay", value, id); return AjaxJson.getByLine(line); } /** * 改 - 申报时间是否必填(1=是,0=否) */ @RequestMapping("updateChinaCarPay") @SaCheckPermission(TbGoods.PERMISSION_CODE_EDIT) public AjaxJson updateChinaCarPay(Long id, String value) { int line = SP.publicMapper.updateColumnById(TbGoods.TABLE_NAME, "china_car_pay", value, id); return AjaxJson.getByLine(line); } /** * 改 - 申报时间是否必填(1=是,0=否) */ @RequestMapping("updateNeedCustomer") @SaCheckPermission(TbGoods.PERMISSION_CODE_EDIT) public AjaxJson updateNeedCustomer(Long id, String value) { int line = SP.publicMapper.updateColumnById(TbGoods.TABLE_NAME, "need_customer", value, id); return AjaxJson.getByLine(line); } @RequestMapping("updateNeedPartner") @SaCheckPermission(TbGoods.PERMISSION_CODE_EDIT) public AjaxJson updateNeedPartner(Long id, String value) { int line = SP.publicMapper.updateColumnById(TbGoods.TABLE_NAME, "need_partner", value, id); return AjaxJson.getByLine(line); } /** * 改 - 申报时间是否必填(1=是,0=否) */ @RequestMapping("chinaLeaveChange") @SaCheckPermission(TbGoods.PERMISSION_CODE_EDIT) public AjaxJson chinaLeaveChange(Long id, String chinaCarLeave) { int line = SP.publicMapper.updateColumnById(TbGoods.TABLE_NAME, "china_car_leave", chinaCarLeave, id); return AjaxJson.getByLine(line); } /** * 改 - 申报时间是否必填(1=是,0=否) */ @RequestMapping("vietnamLeaveChange") @SaCheckPermission(TbGoods.PERMISSION_CODE_EDIT) public AjaxJson vietnamLeaveChange(Long id, String vietnamCarLeave) { int line = SP.publicMapper.updateColumnById(TbGoods.TABLE_NAME, "vietnam_car_leave", vietnamCarLeave, id); return AjaxJson.getByLine(line); } @RequestMapping("updateMulCar") @SaCheckPermission(TbGoods.PERMISSION_CODE_EDIT) public AjaxJson updateMulCar(Long id, String mulCar) { int line = SP.publicMapper.updateColumnById(TbGoods.TABLE_NAME, "mul_car", mulCar, id); return AjaxJson.getByLine(line); } @RequestMapping("getPayStep") public AjaxJson getPayStep() { return AjaxJson.getSuccessData(GoodsEnum.PayStep.getList()); } @RequestMapping("getLeaveSetting") public AjaxJson getLeaveSetting() { return AjaxJson.getSuccessData(GoodsEnum.LeaveEnum.getList()); } /** * 获取预充值自动扣费类型集合 * * @return */ @RequestMapping("getDeductionTypeList") public AjaxJson getDeductionTypeList() { return AjaxJson.getSuccessData(GoodsEnum.DeductionTypeEnum.getList()); } /** * 更新预充值自动扣费类型 * * @param id * @param autoDeductionType * @return */ @RequestMapping("autoDeductionType") @SaCheckPermission(TbGoods.PERMISSION_CODE_EDIT) public AjaxJson autoDeductionTypeChange(Long id, String autoDeductionType) { int line = SP.publicMapper.updateColumnById(TbGoods.TABLE_NAME, "auto_deduction_type", autoDeductionType, id); return AjaxJson.getByLine(line); } }