package com.fuzamei.service.serviceImpl; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.alibaba.fastjson.JSON; import com.fuzamei.constant.OperationType; import com.fuzamei.constant.Roles; import com.fuzamei.entity.PlannerSupplier; import com.fuzamei.entity.User; import com.fuzamei.mapperInterface.PlannerMapper; import com.fuzamei.mapperInterface.ReceivingClerkMapper; import com.fuzamei.mapperInterface.UserMapper; import com.fuzamei.service.PlannerService; @Service public class PlannerServiceImpl implements PlannerService{ @Autowired private PlannerMapper plannerMapper; @Autowired private UserMapper userMapper; @Override public List queryPlanner(Map map) { return plannerMapper.queryPlanner(map); } @Override public List queryAllSupplierByPlannerId(int plannerId) {//根据计划员id查询已经有的供应商 return plannerMapper.queryAllSupplierByPlannerId(plannerId); } @Override public List queryAllNoSupplierByPlannerId(int plannerId) {////根据计划员id查询未添加的供应商 return plannerMapper.queryAllNoSupplierByPlannerId(plannerId); } @Override @Transactional(rollbackFor=Exception.class) public void deleteBeforeSupplierByUserId(int plannerId) {//根据计划员id删除之前所有的供应商 plannerMapper.deleteBeforeSupplierByUserId(plannerId); } @Override @Transactional(rollbackFor=Exception.class) public void insertAgainSupplier(PlannerSupplier pp) {//得到前端传来所有得供应商ID 做插入操作 //下面是【先删除原先的,在添加传来的供应商id】 String[] str=pp.getSupplierId().split(","); for (int i = 0; i < str.length; i++) { pp.setSupplierId(str[i]); plannerMapper.insertAgainSupplier(pp); } //下面待改动 //下面往【操作记录】表插入数据 Long currentTime = System.currentTimeMillis();//得到当前系统时间 String sign = pp.getSign(); @SuppressWarnings("unchecked") Map map = JSON.parseObject(sign, Map.class); String hash = (String) map.get("sid"); pp.setUserId(pp.getUserId());//操作人(管理员) pp.setOperationTypeId(OperationType.ADD);//操作类型 (编辑配置后在添加) pp.setUserIdb(pp.getUserIdb());//被操作人账号 ??????????????待 pp.setOperationTime(currentTime);//操作时间 pp.setHash(hash);//操作hash userMapper.insertOperationHistory(pp);//插入到操作记录表去 /*boolean flag = blockChainUtil.sendBlockChain(user.getSign());//发送签名直接转发到区块链 if(!flag) { throw new RuntimeException("区块链操作失败2"); }*/ } }