package com.atguigu.jxc.service.impl; import com.alibaba.fastjson.JSON; import com.atguigu.jxc.dao.DamageListGoodsDao; import com.atguigu.jxc.dao.GoodsDao; import com.atguigu.jxc.domain.ServiceVO; import com.atguigu.jxc.domain.SuccessCode; import com.atguigu.jxc.entity.DamageList; import com.atguigu.jxc.entity.DamageListGoods; import com.atguigu.jxc.entity.Goods; import com.atguigu.jxc.entity.User; import com.atguigu.jxc.service.DamageListGoodsService; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpSession; import java.io.IOException; import java.util.List; /** * @author gx * @time 2022/1/27 17:04 */ @Service public class DamageListGoodsServiceImpl implements DamageListGoodsService { @Autowired private DamageListGoodsDao damageListGoodsDao; @Autowired private GoodsDao goodsDao; @Override public ServiceVO save(DamageList damageList, String damageListGoodsStr, HttpSession session) throws IOException { //从请求头中获取用户信息 User user = (User) session.getAttribute("currentUser"); Integer userId = user.getUserId(); damageList.setUserId(userId); //保存报损单信息 damageListGoodsDao.saveDamageList(damageList); Gson gson = new Gson(); List<DamageListGoods> damageListGoodsList = gson.fromJson(damageListGoodsStr,new TypeToken<List<DamageListGoods>>(){}.getType()); // ObjectMapper objectMapper = new ObjectMapper(); // List<DamageListGoods> list = objectMapper.readValue(damageListGoodsStr, new TypeReference<List<DamageListGoods>>() { // }); // List<DamageListGoods> damageListGoodsList = JSON.parseArray(damageListGoodsStr, DamageListGoods.class); //保存商品报损单商品信息 for (DamageListGoods damageListGoods : damageListGoodsList) { damageListGoods.setDamageListId(damageList.getDamageListId()); damageListGoodsDao.saveDamageListGoods(damageListGoods); //修改商品库存,状态 Goods goods = goodsDao.getGoodsById(damageListGoods.getGoodsId()); goods.setInventoryQuantity(goods.getInventoryQuantity()-damageListGoods.getGoodsNum()); goods.setState(2); goodsDao.updateGoods(goods); } return new ServiceVO(SuccessCode.SUCCESS_CODE,SuccessCode.SUCCESS_MESS); } }
JSON数组转List集合
于 2022-01-27 20:46:22 首次发布