当前位置: 首页 > news >正文

wordpress 企业网站模板门户网站开发介绍

wordpress 企业网站模板,门户网站开发介绍,网页模板的使用方法,wordpress邮箱非必填目录 1、模糊分页查询 2、批量删除 3、新增 4、编辑 此接口非彼接口。此接口是MVC的设计模式中的Controller层#xff0c;一般我们会叫Controller层里的方法为接口。他们是负责接收前端或者其它服务的传来的请求#xff0c;并对请求进行相应的处理#xff0c;最终再将处…目录 1、模糊分页查询 2、批量删除 3、新增 4、编辑 此接口非彼接口。此接口是MVC的设计模式中的Controller层一般我们会叫Controller层里的方法为接口。他们是负责接收前端或者其它服务的传来的请求并对请求进行相应的处理最终再将处理结果返回给前端或者其它服务。 1、模糊分页查询 1Controller层 RestController RequestMapping(camera) public class CameraAlarmController {Autowiredprivate IWarehouseOutService warehouseOutService; //注入接口/*** 获取设备相关信息* param equipAttribute* param equipType* param keywords* param pageNum* param pageSize* return*/GetMapping(getOutboundEquipmentInfo)public Result getOutboundEquipmentInfo(RequestParam(value operationType,required false) Integer operationType,RequestParam(value warehouseId,required false) Integer warehouseId,RequestParam(value equipAttribute,required false) String equipAttribute,RequestParam(value equipTypeId,required false) Integer equipTypeId,RequestParam(value keywords, required false) String keywords,RequestParam(value pageNum,required false, defaultValue 1) Integer pageNum,RequestParam(value pageSize, required false, defaultValue 10) Integer pageSize){PageHelper.startPage(pageNum,pageSize);PageInfoOutboundEquipmentInfoVo pageInfonew PageInfo(warehouseOutService.getOutboundEquipmentInfo(equipAttributeequipTypeId,warehouseId,operationType,keywords));return new SuccessResult(pageInfo);} } 在进行模糊查询操作的时候往往有时候需要查询的参数很多这时候也可以考虑使用实体类接收前端传参更改如下 PostMapping(/getOutboundEquipmentInfo)//这里改成post请求public Result getOutboundEquipmentInfo(RequestBody EquipInfoVo vo){PageHelper.startPage(vo.getPageNum(),vo.getPageSize());PageInfoOutboundEquipmentInfoVo pageInfonew PageInfo(warehouseOutService.getOutboundEquipmentInfo(vo));return new SuccessResult(pageInfo);} 接收前端传参实体类代码如下 Data Accessors(chain true) public class EquipInfoVo {JsonProperty(value operationType)private Integer operationType;JsonProperty(value warehouseId)private Integer warehouseId;JsonProperty(value equipAttribute)private String equipAttribute;JsonProperty(value equipTypeId)private Integer equipTypeId;JsonProperty(value keywords)private String keywords;JsonProperty(value pageNum)private Integer pageNum1;JsonProperty(value pageSize)private Integer pageSize10; } 2service层 定义service层接口此接口就是我们Java中用intrerface关键字定义的接口了   //这里不用加service注解 public interface IWarehouseOutService {ListOutboundEquipmentInfoVo getOutboundEquipmentInfo(String equipAttribute,Integer equipTypeId,Integer warehouseId,Integer operationType,String keywords);} 定义service接口实现 Service Slf4j public class WarehouseOutServiceImpl implements IWarehouseOutService {Autowiredprivate WmEquipInfoMapper wmEquipInfoMapper;Overridepublic ListOutboundEquipmentInfoVo getOutboundEquipmentInfo(String equipAttribute,Integer equipTypeId,Integer warehouseId,Integer operationType,String keywords) {//入库操作if (operationTypeWmConstant.EQUIPMENT_INFO_INCOME){ListOutboundEquipmentInfoVo outListwmEquipInfoMapper.getEquipmentInformation(equipAttribute,equipTypeId,keywords);ListWmRepertoryInfoDto allEquip wmRepertoryInfoMapper.getAllEquip(warehouseId);outList.forEach(info-{OptionalWmRepertoryInfoDto wmRepertoryInfoDto allEquip.stream().filter(all - all.getEquipId().equals(info.getId())).findFirst();if (wmRepertoryInfoDto.isPresent()){info.setInventoryQuantity(wmRepertoryInfoDto.get().getNum());info.setDamagesNum(wmRepertoryInfoDto.get().getDamagesNum());}else {info.setInventoryQuantity(0);info.setDamagesNum(0);}});return outList;}else{//出库操作ListOutboundEquipmentInfoVo outboundEquipmentInfo wmEquipInfoMapper.getOutboundEquipmentInfo(equipAttribute, warehouseId, equipTypeId, keywords);ListWmRelationEquipDto relationEquipDtoswmOutWarehouseMapper.getOutboundApproval(warehouseId);outboundEquipmentInfo.forEach(out- relationEquipDtos.forEach(re-{if (Integer.valueOf(re.getEquipId().toString()).equals(out.getId())){Integer numout.getInventoryQuantity()-re.getNum();out.setInventoryQuantity(num0?0:num);}}));return outboundEquipmentInfo;}} } 3mapper层 //这上面不加Mapper注解就要在启动类上加这个注解MapperScan(com.zcloud.dao.mapper) public interface WmEquipInfoMapper {ListOutboundEquipmentInfoVo getOutboundEquipmentInfo(Param(equipAttribute) String equipAttribute,Param(warehouseId) Integer warehouseId,Param(equipTypeId) Integer equipTypeId,Param(keywords) String keywords); } select idgetOutboundEquipmentInfo resultTypecom.zcloud.domain.warehousemanage.vo.OutboundEquipmentInfoVoSELECTt2.num inventoryQuantity,t2.damages_num,( SELECT name FROM t_dic_item WHERE type_code equip_attribute AND CODE t1.equip_attribute ) equipAttributeName,( SELECT name FROM t_dic_item WHERE type_code equip_unit AND CODE t1.equip_unit ) equipUnitName,t1.equip_name,t1.equip_brand,t1.id,t1.equip_model,t3.name equipTypeNameFROMt_common_wm_equip_info t1LEFT JOIN t_common_wm_repertory_info t2 ON t1.id t2.equip_idLEFT JOIN t_common_wm_equip_type t3 ON t1.equip_type_id t3.idWHEREt1.removed 0AND t2.removed 0AND t3.removed0AND t2.warehouse_id#{warehouseId}if testequipAttribute!null and equipAttribute!AND t1.equip_attribute#{equipAttribute}/if//注意Interge类型的条件判断是否为空的时候一定不要加非空字符串判断因为当你传的值为0的时候mybatis会把它判断为空字符串if testequipTypeId!null AND t1.equip_type_id#{equipTypeId}/ifif testkeywords!null and keywords!AND (t1.equip_name like concat(%,#{keywords})OR t1.equip_model like concat(%,#{keywords})OR t1.equip_brand like concat(%,#{keywords}))/if /select 2、批量删除 1) Controller层 DeleteMapping(value /delete, name 仓库管理删除仓库信息)public Result deleteWareHouseInfo(RequestParam(value ids) String ids,HttpServletRequest request) {Integer userId (Integer) RequestUtils.getCurrentUser(request).get(userId);return new SuccessResult(wareHouseInfoService.deleteWareHouseInfo(ids,userId));} 2) service层 Transactional //单表删除不加这个注解可以多表关联删除一定要加 public Object deleteWareHouseInfo(Integer ids, Integer userId) {ListInteger idList Arrays.stream(ids.split(,)).map(s - Integer.parseInt(s.trim())).collect(Collectors.toList());return warehouseInfoMapper.deleteByIds(idList,userId);} 3)mapper层 Integer deleteByIds(Param(idList) ListInteger idList,Param(userId) Integer userId); update iddeleteByIds parameterTypejava.lang.Integerforeach collectionidList itemitem separator;update t_warehouse_infoset removed 1,rm_uid #{userId},rm_time NOW(),up_time now()where id #{item.id}/foreach/update 3、新增 1) Controller层 PostMapping(value /add, name 仓库管理新增采购)public Result addPurchaseInfo(RequestBody WmPurchaseInfoAddVo dto, HttpServletRequest request) {Integer userId (Integer) RequestUtils.getCurrentUser(request).get(userId);return new SuccessResult(wmPurchaseInfoService.addPurchaseInfo(dto,userId));} 2) service层 OverrideTransactionalpublic Integer addPurchaseInfo(WmPurchaseInfoAddVo dto, Integer userId) { Integer result;String orderCode wmUtils.generateWmCode(WmConstant.PURCHASE_CODE_PREFIX, 1);dto.setOrderCode(orderCode).setCrUid(userId).setUpUid(userId);//插入采购基本信息返回id//需要注意的是如果待插入数据的表未设置主键自增则在这里需要设置主键的值//而这里是设置了主键自增所以就需要在mapper层配置sql语句的时候设置返回自增的主键值purchaseInfoMapper.insertSelective(dto);ListWmRelationEquipDto wmRelationEquipDtos dto.getRelationEquip();//设置关联设备的关联id以及关联类型wmRelationEquipDtos.forEach(e - {e.setRelationId(dto.getId()).setType(WmConstant.PURCHASE_RELATION).setStockPendingNum(e.getNum());});//插入关联设备信息result relationEquipMapper.insertBatch(wmRelationEquipDtos);return result 1 ? 1 : 0;}3) mapper层 单个新增 insert idinsertSelective useGeneratedKeystrue keyPropertyid keyColumnidparameterTypevip.dtcloud.domain.warehousemanage.vo.WmPurchaseInfoAddVoinsert into t_common_wm_purchase_infotrim prefix( suffix) suffixOverrides,if testaddVo.orderCode ! nullorder_code,/ifif testaddVo.orderName ! nullorder_name,/ifif testaddVo.purchaseMethod ! nullpurchase_method,/ifif testaddVo.purchaseManager ! nullpurchase_manager,/ifif testaddVo.orderDate ! nullorder_date,/ifif testaddVo.contractId ! nullcontract_id,/ifif testaddVo.biddingDocumentIds ! nullbidding_document_ids,/ifif testaddVo.purchaseContractIds ! nullpurchase_contract_ids,/ifif testaddVo.meetingSummaryIds ! nullmeeting_summary_ids,/ifif testaddVo.otherFilesIds ! nullother_files_ids,/ifif testaddVo.remark ! nullremark,/ifup_time,cr_time,if testaddVo.upUid ! nullup_uid,/ifif testaddVo.crUid ! nullcr_uid,/if/trimtrim prefixvalues ( suffix) suffixOverrides,if testaddVo.orderCode ! null#{addVo.orderCode,jdbcTypeVARCHAR},/ifif testaddVo.orderName ! null#{addVo.orderName,jdbcTypeVARCHAR},/ifif testaddVo.purchaseMethod ! null#{addVo.purchaseMethod,jdbcTypeVARCHAR},/ifif testaddVo.purchaseManager ! null#{addVo.purchaseManager,jdbcTypeVARCHAR},/ifif testaddVo.orderDate ! null#{addVo.orderDate,jdbcTypeTIMESTAMP},/ifif testaddVo.contractId ! null#{addVo.contractId,jdbcTypeINTEGER},/ifif testaddVo.biddingDocumentIds ! null#{addVo.biddingDocumentIds,jdbcTypeVARCHAR},/ifif testaddVo.purchaseContractIds ! null#{addVo.purchaseContractIds,jdbcTypeVARCHAR},/ifif testaddVo.meetingSummaryIds ! null#{addVo.meetingSummaryIds,jdbcTypeVARCHAR},/ifif testaddVo.otherFilesIds ! null#{addVo.otherFilesIds,jdbcTypeVARCHAR},/ifif testaddVo.remark ! null#{addVo.remark,jdbcTypeVARCHAR},/ifnow(),now(),if testaddVo.upUid ! null#{addVo.upUid,jdbcTypeINTEGER},/ifif testaddVo.crUid ! null#{addVo.crUid,jdbcTypeINTEGER},/if/trim/insert 批量新增 insert idinsertBatchinsert into t_common_wm_relation_equip (relation_id, type,equip_id, equip_serial, equip_code,num, stock_pending_num, up_time)valuesforeach collectiondtoList itemitem separator,( #{item.relationId,jdbcTypeINTEGER}, #{item.type,jdbcTypeINTEGER},#{item.equipId,jdbcTypeBIGINT}, #{item.equipSerial,jdbcTypeVARCHAR}, #{item.equipCode,jdbcTypeVARCHAR},#{item.num,jdbcTypeINTEGER}, #{item.stockPendingNum,jdbcTypeINTEGER}, now())/foreach/insert 注意 做批量插入的时候插入的数量不能太多否则会因为sql语句过长而出现无法执行的问题。一般超过5000条的话就可以使用分页去插入了。比如可以改成如下这样的插入 ListListEquipRealVariableDto lists splitList(wmRelationEquipDtos, 5000);lists.forEach(e - {result relationEquipMapper.insertBatch(e);}); splitList方法代码如下 private static T ListListT splitList(ListT list, int splitCount) {int length list.size();long totalLength (long)length (long)splitCount - 1L;long num totalLength / (long)splitCount;ListListT newList new ArrayList();for(int i 0; (long)i num; i) {int fromIndex i * splitCount;int toIndex (i 1) * splitCount length ? (i 1) * splitCount : length;newList.add(list.subList(fromIndex, toIndex));}return newList;} 4、编辑 1) Controller层 PutMapping(value /edit, name 仓库管理修改仓库信息)public Result editWareHouseInfo(RequestBody WmWarehouseInfoDto dto,HttpServletRequest request) {Integer userId (Integer) RequestUtils.getCurrentUser(request).get(userId);return new SuccessResult(wareHouseInfoService.editWareHouseInfo(dto,userId));} 2) service层 Overridepublic Integer editWareHouseInfo(WmWarehouseInfoDto dto, Integer userId) {dto.setUpUid(userId);return warehouseInfoMapper.updateByPrimaryKeySelective(dto);} 3) mapper层 update idupdateByPrimaryKeySelective parameterTypevip.dtcloud.domain.warehousemanage.dto.WmWarehouseInfoDtoupdate t_common_wm_warehouse_infosetif testwarehouseName ! nullwarehouse_name #{warehouseName,jdbcTypeVARCHAR},/ifif testwarehouseLocation ! nullwarehouse_location #{warehouseLocation,jdbcTypeVARCHAR},/ifif testwarehouseManager ! nullwarehouse_manager #{warehouseManager,jdbcTypeVARCHAR},/ifif testphone ! nullphone #{phone,jdbcTypeVARCHAR},/ifif testdepartmentId ! nulldepartment_id #{departmentId,jdbcTypeVARCHAR},/ifif testwarehouseStatus ! nullwarehouse_status #{warehouseStatus,jdbcTypeINTEGER},/ifup_time now(),if testupUid ! nullup_uid #{upUid,jdbcTypeINTEGER},/if/setwhere id #{id,jdbcTypeINTEGER}/update
http://www.dnsts.com.cn/news/230373.html

相关文章:

  • 学校文化建设网站网站开发登录要做哪些验证
  • 网页版微信暂时无法登陆乐陵seo推广
  • 舟山市住房与城乡建设厅网站网站社区怎么创建
  • 网站跳转怎么解释商业网站开发
  • dz网站后台公司名称变更网上核名怎么弄
  • 新余集团网站建设食品包装设计风格
  • 如何制作单页网站表白网页在线生成器
  • 广州公共资源建设工程交易中心网站网站flash
  • 做鲜榨果汁店网站手机人才网怎么投简历
  • 千牛网站上的店铺推广怎么做汉中做网站的公司电话
  • 深圳勘察设计协会网站培训网站建设学校
  • 建设银行网站账号怎么注销网上服务大厅首页
  • 网站与域名苏州企业网站建设公司价格
  • 做哪个网站的直播好深圳网站建设认准乐云
  • 氧化锌网站建设北京网站建设北京
  • 简易购物网站模板jsp网站开发软件
  • 在线简历免费制作网站汽车网站怎么做
  • 淄博做网站的公司有哪些济南外贸seo
  • 典型网站开发的一般流程网站开发的学校
  • 阿里巴巴网站怎么做全屏分类wordpress免费模板怎么使用
  • 在阿里云做的网站怎么移动怎样学好动漫制作专业
  • 安县网站制作惠州东莞网站建设价格
  • 无锡建设厅的官方网站wordpress 雅黑
  • node 做的大型网站做网站需要的流程
  • 网站建设的特色做购物网站怎拼找商家
  • 做阿里国际网站多少钱台州市临海建设局网站
  • 如何做百度站长绑定网站网站诊断报告案例
  • 易站通这个网站怎么做网站群建设管理办法
  • 如何做最强的社交网站建设中标查询网站
  • 甘肃省建设厅注册中心网站鲜花网站建设的主要工作流程