This commit is contained in:
2025-04-13 01:36:45 +08:00
parent ea0c99e4d0
commit ca9eda8c57
25 changed files with 11087 additions and 336 deletions
@@ -25,223 +25,226 @@ import lingtao.net.util.IPUtils;
@Service
public class QuoteLogService {
@Autowired
private QuoteLogMapper quoteLogMapper;
@Autowired
private QuoteLogMapper quoteLogMapper;
@Autowired
private QuoteDataMapper quoteDataMapper;
@Autowired
private QuoteDataMapper quoteDataMapper;
@Autowired
ProductImgMapper productImgMapper;
@Autowired
ProductImgMapper productImgMapper;
@Autowired
private SysRoleService sysRoleService;
@Autowired
private SysRoleService sysRoleService;
// 列表
public List<QuoteLog> quoteLogs(QuoteLog quoteLog) {
quoteLog.setQuoteTimeEnd(new DateFormatUtils().formatEndTime(quoteLog.getQuoteTimeBegin()));
quoteLog.setQuoteTimeBegin(new DateFormatUtils().formatBeginTime(quoteLog.getQuoteTimeBegin()));
return quoteLogMapper.quoteLogs(quoteLog);
}
// 列表
public List<QuoteLog> quoteLogs(QuoteLog quoteLog) {
quoteLog.setQuoteTimeEnd(new DateFormatUtils().formatEndTime(quoteLog.getQuoteTimeBegin()));
quoteLog.setQuoteTimeBegin(new DateFormatUtils().formatBeginTime(quoteLog.getQuoteTimeBegin()));
return quoteLogMapper.quoteLogs(quoteLog);
}
// 操作日志
public String log(Product product, HttpServletRequest request, List<Product> proList) {
long startTime, endTime = 0;
startTime = System.currentTimeMillis();
SysUser user = (SysUser) request.getSession().getAttribute("USER_SESSION");
if (user == null) {
return "登陆失效";
}
QuoteLog log = new QuoteLog();
ProductImg productImg = new ProductImg();
// 操作日志
public String log(Product product, HttpServletRequest request, List<Product> proList) {
long startTime, endTime = 0;
startTime = System.currentTimeMillis();
SysUser user = (SysUser) request.getSession().getAttribute("USER_SESSION");
if (user == null) {
return "登陆失效";
}
QuoteLog log = new QuoteLog();
ProductImg productImg = new ProductImg();
// product转productImg
BeanUtils.copyProperties(product, productImg);
// 根据value查询label
if ("13".equals(productImg.getProTypeValue()) || "15".equals(productImg.getProTypeValue())
|| "4".equals(productImg.getProTypeValue())) {
productImg.setKind2Value(null);
}
// 优惠券
if ("4".equals(productImg.getProTypeValue())) {
productImg.setKindValue("0");
productImg.setKind2Value(product.getKind());
}
// 合版封套
if ("6".equals(productImg.getProTypeValue())) {
if (product.getLengthSize() > 0) {
productImg.setKind2Value("0");
}
}
// 根据value获取label
SysDictProduct label = productImgMapper.getLabel(productImg);
// product转productImg
BeanUtils.copyProperties(product, productImg);
// 根据value查询label
if ("13".equals(productImg.getProTypeValue()) || "15".equals(productImg.getProTypeValue())
|| "4".equals(productImg.getProTypeValue())) {
productImg.setKind2Value(null);
}
// 优惠券
if ("4".equals(productImg.getProTypeValue())) {
productImg.setKindValue("0");
productImg.setKind2Value(product.getKind());
}
// 合版封套
if ("6".equals(productImg.getProTypeValue())) {
if (product.getLengthSize() > 0) {
productImg.setKind2Value("0");
}
}
// 根据value获取label
SysDictProduct label = productImgMapper.getLabel(productImg);
if (StringUtils.isEmpty(label)) {
return null;
}
String s = "";
String remark_judge = "";
String proTypeLabel = "";
if ("常用种类".equals(product.getStickerKind())) {
s += "常用种类- ";
}
if ("少数量".equals(product.getStickerKind())) {
s += "少数量- ";
}
if ("专版打印".equals(product.getStickerKind())) {
s += "专版打印- ";
}
if (!StringUtils.isEmpty(label.getProTypeLabel())) {
if ("金属标".equals(label.getProTypeLabel()) && StringUtils.isEmpty(product.getCraftMo())) {
s += "UV转印贴 - ";
proTypeLabel = "UV转印贴";
} else {
s += label.getProTypeLabel() + " - ";
proTypeLabel = label.getProTypeLabel();
}
}
if ("少数量".equals(product.getCouponKind())) {
s += product.getProTypeLabel() + " - ";
}
if (!StringUtils.isEmpty(label.getKindLabel())) {
s += label.getKindLabel() + " - ";
}
if (!StringUtils.isEmpty(label.getKind2Label())) {
s += label.getKind2Label() + " - ";
}
if (!StringUtils.isEmpty(product.getKind3Value())) {
if ("0".equals(product.getKind3Value())) {
s += "骑马钉 - ";
}
}
String new_s = s;
new_s += "客户旺旺:" + product.getWangwang() + " - ";
// 产品 - 种类
remark_judge = new_s;
// 不区分专版打印或者常用,3分钟内都不要
if (remark_judge.contains("常用种类- ") || remark_judge.contains("专版打印- ")) {
remark_judge = remark_judge.substring(6);
}
// 画册P数
if (!StringUtils.isEmpty(product.getPcount())) {
s += product.getPcount() + "P - ";
}
if (!StringUtils.isEmpty(product.getSize())) {
s += product.getSize() + " - ";
}
if (!StringUtils.isEmpty(product.getCraftMo())) {
s += product.getCraftMo() + " - ";
}
if (!StringUtils.isEmpty(product.getCraftTang())) {
s += product.getCraftTang() + " - ";
}
if (!StringUtils.isEmpty(product.getAotu())) {
s += product.getAotu() + " - ";
}
if (!StringUtils.isEmpty(product.getYinbai())) {
s += product.getYinbai() + " - ";
}
if (!StringUtils.isEmpty(product.getCraftSheng())) {
s += product.getCraftSheng() + " - ";
}
if (!StringUtils.isEmpty(product.getCraftShua())) {
s += product.getCraftShua() + " - ";
}
if (!StringUtils.isEmpty(product.getCraftBu())) {
s += product.getCraftBu() + " - ";
}
if (!StringUtils.isEmpty(product.getCraftJiao())) {
s += product.getCraftJiao() + " - ";
}
if (StringUtils.isEmpty(label)) {
return null;
}
if (proList.size() == 0) {
return null;
}
String s = "";
String remark_judge = "";
String proTypeLabel = "";
if ("常用种类".equals(product.getStickerKind())) {
s += "常用种类- ";
}
if ("少数量".equals(product.getStickerKind())) {
s += "少数量- ";
}
if ("专版打印".equals(product.getStickerKind())) {
s += "专版打印- ";
}
if (!StringUtils.isEmpty(label.getProTypeLabel())) {
if ("金属标".equals(label.getProTypeLabel()) && StringUtils.isEmpty(product.getCraftMo())) {
s += "UV转印贴 - ";
proTypeLabel = "UV转印贴";
} else {
s += label.getProTypeLabel() + " - ";
proTypeLabel = label.getProTypeLabel();
}
}
if ("少数量".equals(product.getCouponKind())) {
s += product.getProTypeLabel() + " - ";
}
if (!StringUtils.isEmpty(label.getKindLabel())) {
s += label.getKindLabel() + " - ";
}
if (!StringUtils.isEmpty(label.getKind2Label())) {
s += label.getKind2Label() + " - ";
}
if (!StringUtils.isEmpty(product.getKind3Value())) {
if ("0".equals(product.getKind3Value())) {
s += "骑马钉 - ";
}
}
String new_s = s;
new_s += "客户旺旺:" + product.getWangwang() + " - ";
// 产品 - 种类
remark_judge = new_s;
// 不区分专版打印或者常用,3分钟内都不要
if (remark_judge.contains("常用种类- ") || remark_judge.contains("专版打印- ")) {
remark_judge = remark_judge.substring(6);
}
// 画册P数
if (!StringUtils.isEmpty(product.getPcount())) {
s += product.getPcount() + "P - ";
}
if (!StringUtils.isEmpty(product.getSize())) {
s += product.getSize() + " - ";
}
if (!StringUtils.isEmpty(product.getCraftMo())) {
s += product.getCraftMo() + " - ";
}
if (!StringUtils.isEmpty(product.getCraftTang())) {
s += product.getCraftTang() + " - ";
}
if (!StringUtils.isEmpty(product.getAotu())) {
s += product.getAotu() + " - ";
}
if (!StringUtils.isEmpty(product.getYinbai())) {
s += product.getYinbai() + " - ";
}
if (!StringUtils.isEmpty(product.getCraftSheng())) {
s += product.getCraftSheng() + " - ";
}
if (!StringUtils.isEmpty(product.getCraftShua())) {
s += product.getCraftShua() + " - ";
}
if (!StringUtils.isEmpty(product.getCraftBu())) {
s += product.getCraftBu() + " - ";
}
if (!StringUtils.isEmpty(product.getCraftJiao())) {
s += product.getCraftJiao() + " - ";
}
if (!StringUtils.isEmpty(product.getCraft())) {
String[] craft = product.getCraft();
for (int i = 0; i < craft.length; i++) {
if (StringUtils.isEmpty(craft[i]))
continue;
s += craft[i] + " - ";
}
}
if (!StringUtils.isEmpty(product.getNumber())) {
s += product.getNumber() + "款 - ";
}
if (!StringUtils.isEmpty(product.getCraft())) {
String[] craft = product.getCraft();
for (int i = 0; i < craft.length; i++) {
if (StringUtils.isEmpty(craft[i]))
continue;
s += craft[i] + " - ";
}
}
if (!StringUtils.isEmpty(product.getNumber())) {
s += product.getNumber() + "款 - ";
}
if ("16".equals(product.getProTypeValue())) {
s += product.getCount() + "" + proList.get(0).getPrice() + "";
} else {
s += product.getCount() + "" + proList.get(0).getPrice() + "";
}
if ("16".equals(product.getProTypeValue())) {
s += product.getCount() + "" + proList.get(0).getPrice() + "";
} else {
s += product.getCount() + "" + proList.get(0).getPrice() + "";
}
log.setRemark(s);
log.setRealname(user.getRealname());
log.setUsername(user.getUsername());
log.setQuoteIp(IPUtils.getIpAddr(request));// 获取ip
log.setBrower(IPUtils.getBrowserName(request));// 获取浏览器名称
log.setOs(IPUtils.getOsName(request)); // 获取操作系统名称
log.setPrice(proList.get(0).getPrice());
List<SysRole> allRoleNames = sysRoleService.getAllRoleName(null);
String roleName = "";
String[] split = user.getRole().split(",");
for (SysRole sysRole : allRoleNames) {
for (int i = 0; i < split.length; i++) {
if (split[i].equals(String.valueOf(sysRole.getRoleId()))) {
roleName += sysRole.getRoleName() + "";
}
}
}
log.setShopname(roleName);
quoteLogMapper.insertSelective(log);
log.setRemark(s);
log.setRealname(user.getRealname());
log.setUsername(user.getUsername());
log.setQuoteIp(IPUtils.getIpAddr(request));// 获取ip
log.setBrower(IPUtils.getBrowserName(request));// 获取浏览器名称
log.setOs(IPUtils.getOsName(request)); // 获取操作系统名称
log.setPrice(proList.get(0).getPrice());
List<SysRole> allRoleNames = sysRoleService.getAllRoleName(null);
String roleName = "";
String[] split = user.getRole().split(",");
for (SysRole sysRole : allRoleNames) {
for (int i = 0; i < split.length; i++) {
if (split[i].equals(String.valueOf(sysRole.getRoleId()))) {
roleName += sysRole.getRoleName() + "";
}
}
}
log.setShopname(roleName);
quoteLogMapper.insertSelective(log);
endTime = System.currentTimeMillis();
System.out.println("【insertSelective】使用的时间:" + (endTime - startTime));
endTime = System.currentTimeMillis();
System.out.println("【insertSelective】使用的时间:" + (endTime - startTime));
long startTime2, endTime2 = 0;
startTime2 = System.currentTimeMillis();
boolean flag = false;
// 查询3分钟内自己报的数据
List<String> remarkJudgeData = quoteDataMapper.getQuoteDataByMinutes(user.getUsername());
endTime2 = System.currentTimeMillis();
System.out.println("【getQuoteDataByMinutes】使用的时间:" + (endTime2 - startTime2));
for (String remarkJudge : remarkJudgeData) {
if (remarkJudge.equals(remark_judge)) {
// 如果3分钟内报过相同数据
flag = true;
break;
}
}
// 插入数据(给客服数据新增用的)
String role = user.getRole();
// 客服报的且3分钟内没有同一个客户报的数据才插入
if (role.contains("999,") && !flag) {
QuoteData quoteData = new QuoteData();
quoteData.setUsername(user.getUsername());
quoteData.setRealname(user.getRealname());
quoteData.setPrice(proList.get(0).getPrice());
quoteData.setRole(user.getRole());
// 默认都是没选择店铺
quoteData.setIsSelect("0");
long startTime2, endTime2 = 0;
startTime2 = System.currentTimeMillis();
boolean flag = false;
// 查询3分钟内自己报的数据
List<String> remarkJudgeData = quoteDataMapper.getQuoteDataByMinutes(user.getUsername());
endTime2 = System.currentTimeMillis();
System.out.println("【getQuoteDataByMinutes】使用的时间:" + (endTime2 - startTime2));
for (String remarkJudge : remarkJudgeData) {
if (remarkJudge.equals(remark_judge)) {
// 如果3分钟内报过相同数据
flag = true;
break;
}
}
// 插入数据(给客服数据新增用的)
String role = user.getRole();
// 客服报的且3分钟内没有同一个客户报的数据才插入
if (role.contains("999,") && !flag) {
QuoteData quoteData = new QuoteData();
quoteData.setUsername(user.getUsername());
quoteData.setRealname(user.getRealname());
quoteData.setPrice(proList.get(0).getPrice());
quoteData.setRole(user.getRole());
// 默认都是没选择店铺
quoteData.setIsSelect("0");
// role = role.replace("999,", "").replace(",1049", "").replace(",1011", "");
// 规则:第一位客服,第二位主店铺
String shopname = role.substring(role.indexOf(",") + 1);
if (shopname.indexOf(",") != -1) {
shopname = shopname.substring(0, shopname.indexOf(","));
}
System.out.println(shopname);
quoteData.setShopname(shopname);
quoteData.setIsSelect("1");
// 除去【客服】只有一个店铺,所属店铺就是剩下这个店铺 切 选择状态改为已选择
// 规则:第一位客服,第二位主店铺
String shopname = role.substring(role.indexOf(",") + 1);
if (shopname.indexOf(",") != -1) {
shopname = shopname.substring(0, shopname.indexOf(","));
}
System.out.println(shopname);
quoteData.setShopname(shopname);
quoteData.setIsSelect("1");
// 除去【客服】只有一个店铺,所属店铺就是剩下这个店铺 切 选择状态改为已选择
// if (!role.contains(",")) {
// }
quoteData.setIsBuy("0");
quoteData.setIsBuyToDay("0");
quoteData.setRemark(s);
quoteData.setRemarkJudge(remark_judge);
// 默认都是填写旺旺号
quoteData.setIsFillIn("1");
quoteData.setWangwang(product.getWangwang().trim());
quoteData.setProTypeLabel(proTypeLabel);
quoteDataMapper.addQuoteData(quoteData);
}
return null;
}
quoteData.setIsBuy("0");
quoteData.setIsBuyToDay("0");
quoteData.setRemark(s);
quoteData.setRemarkJudge(remark_judge);
// 默认都是填写旺旺号
quoteData.setIsFillIn("1");
quoteData.setWangwang(product.getWangwang().trim());
quoteData.setProTypeLabel(proTypeLabel);
quoteDataMapper.addQuoteData(quoteData);
}
return null;
}
}