123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 |
- package com.steerinfo.dil.util;
- import com.steerinfo.dil.mapper.SaleLogMapper;
- import com.steerinfo.dil.model.SaleLog;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import java.math.BigDecimal;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- @Component
- public class SaleLogUtil {
- @Autowired
- private SaleLogMapper saleLogMapper;
- public final static int INSERT = 1;
- public final static int UPDATE = 2;
- public final static int DELETE = 3;
- public final static int OPEN = 4;
- public final static int CLOSE = 5;
- /**
- * 插入运输订单的操作日志
- * @param orderId
- * @param descriptoin
- * @param oprationType 操作类型
- * @param map 可以传null
- * @return
- */
- public int logOrder(BigDecimal orderId,String descriptoin,Map<String,Object> map,int oprationType){
- try{
- SaleLog saleLog=new SaleLog();
- saleLog.setResultId(saleLogMapper.selectMaxId());
- saleLog.setOrderId(orderId);
- saleLog.setDescription(descriptoin);
- //saleLog.setJsonData(""+map);
- saleLog.setInsertTime(new Date());
- saleLog.setInsertUsername(getUserName(map));
- switch (oprationType){
- case INSERT:
- saleLog.setOprationType("新增");
- break;
- case UPDATE:
- saleLog.setOprationType("修改");
- break;
- case DELETE:
- saleLog.setOprationType("删除");
- break;
- case OPEN:
- saleLog.setOprationType("启用");
- break;
- case CLOSE:
- saleLog.setOprationType("关闭");
- break;
- default:
- saleLog.setOprationType("未知操作");
- }
- return saleLogMapper.insertSelective(saleLog);
- }catch (Exception e){
- e.printStackTrace();
- return -1;
- }
- }
- public int logOrder(BigDecimal orderId,String descriptoin,String userName,int oprationType){
- try{
- SaleLog saleLog=new SaleLog();
- saleLog.setResultId(saleLogMapper.selectMaxId());
- saleLog.setOrderId(orderId);
- saleLog.setDescription(descriptoin);
- //saleLog.setJsonData(""+map);
- saleLog.setInsertTime(new Date());
- saleLog.setInsertUsername(userName);
- switch (oprationType){
- case INSERT:
- saleLog.setOprationType("新增");
- break;
- case UPDATE:
- saleLog.setOprationType("修改");
- break;
- case DELETE:
- saleLog.setOprationType("删除");
- break;
- case OPEN:
- saleLog.setOprationType("启用");
- break;
- case CLOSE:
- saleLog.setOprationType("关闭");
- break;
- default:
- saleLog.setOprationType("未知操作");
- }
- return saleLogMapper.insertSelective(saleLog);
- }catch (Exception e){
- e.printStackTrace();
- return -1;
- }
- }
- public int logOrder(String orderNumber,String descriptoin,String userName,int oprationType){
- try{
- List<BigDecimal> orderIds = saleLogMapper.getOrderIds(orderNumber);
- List<SaleLog> list =new ArrayList<>();
- for(BigDecimal orderId:orderIds){
- SaleLog saleLog=new SaleLog();
- saleLog.setResultId(saleLogMapper.selectMaxId());
- saleLog.setOrderId(orderId);
- saleLog.setDescription(descriptoin);
- //saleLog.setJsonData(""+map);
- saleLog.setInsertTime(new Date());
- saleLog.setInsertUsername(userName);
- switch (oprationType){
- case INSERT:
- saleLog.setOprationType("新增");
- break;
- case UPDATE:
- saleLog.setOprationType("修改");
- break;
- case DELETE:
- saleLog.setOprationType("删除");
- break;
- case OPEN:
- saleLog.setOprationType("启用");
- break;
- case CLOSE:
- saleLog.setOprationType("关闭");
- break;
- default:
- saleLog.setOprationType("未知操作");
- }
- list.add(saleLog);
- }
- return saleLogMapper.batchInsert(list);
- }catch (Exception e){
- e.printStackTrace();
- return -1;
- }
- }
- /**
- * 插入运输订单的操作日志
- * @param descriptoin
- * @param oprationType 操作类型
- * @param map 必传
- * @return
- */
- public int logOrder(Map<String,Object> map,String descriptoin,int oprationType){
- try{
- SaleLog saleLog=new SaleLog();
- saleLog.setResultId(saleLogMapper.selectMaxId());
- saleLog.setOrderId(getOrderId(map));
- saleLog.setDescription(descriptoin);
- saleLog.setInsertTime(new Date());
- saleLog.setInsertUsername(getUserName(map));
- switch (oprationType){
- case INSERT:
- saleLog.setOprationType("新增");
- break;
- case UPDATE:
- saleLog.setOprationType("修改");
- break;
- case DELETE:
- saleLog.setOprationType("删除");
- break;
- case OPEN:
- saleLog.setOprationType("启用");
- break;
- case CLOSE:
- saleLog.setOprationType("关闭");
- break;
- default:
- saleLog.setOprationType("未知操作");
- }
- return saleLogMapper.insertSelective(saleLog);
- }catch (Exception e){
- e.printStackTrace();
- return -1;
- }
- }
- /**
- * 批量插入
- * @param list
- * @param descriptoin
- * @param oprationType
- * @return
- */
- public int logOrderBatch(List<Map<String,Object>> list,String descriptoin,int oprationType){
- try{
- List<SaleLog> saleLogs=new ArrayList<>();
- String oprationTypeStr;
- switch (oprationType){
- case INSERT:
- oprationTypeStr="新增";
- break;
- case UPDATE:
- oprationTypeStr="修改";
- break;
- case DELETE:
- oprationTypeStr="删除";
- break;
- case OPEN:
- oprationTypeStr="启用";
- break;
- case CLOSE:
- oprationTypeStr="关闭";
- break;
- default:
- oprationTypeStr="未知操作";
- }
- for(Map<String,Object> map:list){
- SaleLog saleLog=new SaleLog();
- saleLog.setResultId(saleLogMapper.selectMaxId());
- saleLog.setOrderId(getOrderId(map));
- saleLog.setDescription(descriptoin);
- saleLog.setInsertTime(new Date());
- saleLog.setInsertUsername(getUserName(map));
- saleLog.setOprationType(oprationTypeStr);
- saleLogs.add(saleLog);
- }
- return saleLogMapper.batchInsert(saleLogs);
- }catch (Exception e){
- e.printStackTrace();
- return -1;
- }
- }
- /**
- * 处理插入用户名
- * @param map
- * @return
- */
- private String getUserName(Map<String,Object> map){
- try{
- if(map==null){
- return "system";
- }else if(map.get("userName")!=null){
- return ""+map.get("userName");
- }else if(map.get("userId")!=null){
- return saleLogMapper.getUserNameById(map);
- }else{
- return "未知用户";
- }
- }catch (Exception e){
- e.printStackTrace();
- return "未知用户";
- }
- }
- /**
- * 获取OrderId
- * @param map
- * @return
- */
- private BigDecimal getOrderId(Map<String,Object> map) throws Exception {
- if(map.get("orderId")!=null){
- return DataChange.dataToBigDecimal(map.get("orderId"));
- }else if(map.get("resultTotalId")!=null){
- return saleLogMapper.getOrderIdByTotal(map);
- }else{
- throw new Exception("没有订单Id,保存日志失败");
- }
- }
- }
|