对接3方系统,开通同事特权

This commit is contained in:
2026-05-16 20:15:57 +08:00
parent 1b811aa8af
commit 9171a93e46
4 changed files with 62 additions and 10 deletions

View File

@@ -12,9 +12,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.rj.dto.hxr.HxrUserRow;
import com.rj.entity.LbDailyUserTrade;
import com.rj.entity.LbDailyUserTradeReport;
import com.rj.entity.LbPurchaseApply;
import com.rj.util.IsoWorkdayUtils;
import com.rj.mapper.LbDailyUserTradeMapper;
import com.rj.mapper.LbDailyUserTradeReportMapper;
import com.rj.mapper.LbPurchaseApplyMapper;
import com.rj.service.HxrAdminUserService;
@@ -45,6 +47,9 @@ public class LbPurchaseApplyServiceImpl
@Autowired
private LbDailyUserTradeReportMapper lbDailyUserTradeReportMapper;
@Autowired
private LbDailyUserTradeMapper lbDailyUserTradeMapper;
@Autowired
private HxrAdminUserService hxrAdminUserService;
@@ -575,7 +580,7 @@ public class LbPurchaseApplyServiceImpl
continue;
}
try {
LocalDateTime vipTime = HxrAdminUserService.computeVipExpireTime(row.getApplyDate());
LocalDateTime vipTime = HxrAdminUserService.computeVipExpireTime(row.getApplyDate(), 3);
String vipTimeStr = HxrAdminUserService.formatVipTime(vipTime);
one.put("viptime", vipTimeStr);
@@ -663,6 +668,26 @@ public class LbPurchaseApplyServiceImpl
return result;
}
Set<String> ApplyUserNames = new HashSet<>();
for (LbPurchaseApply row : rows) {
if (row.getColleagueName() != null && !row.getColleagueName().trim().isEmpty()) {
ApplyUserNames.add(row.getApplyUser().trim());
}
}
Set<String> tradeMatchedNicknames = new HashSet<>();
if (!ApplyUserNames.isEmpty()) {
LambdaQueryWrapper<LbDailyUserTrade> tradeQuery = new LambdaQueryWrapper<>();
tradeQuery.eq(LbDailyUserTrade::getTenantId, tenantId.trim())
.in(LbDailyUserTrade::getNickname, ApplyUserNames)
.select(LbDailyUserTrade::getNickname);
List<LbDailyUserTrade> matchedTrades = lbDailyUserTradeMapper.selectList(tradeQuery);
for (LbDailyUserTrade trade : matchedTrades) {
if (trade.getNickname() != null && !trade.getNickname().trim().isEmpty()) {
tradeMatchedNicknames.add(trade.getNickname().trim());
}
}
}
List<Map<String, Object>> details = new ArrayList<>();
int ok = 0;
int fail = 0;
@@ -670,9 +695,24 @@ public class LbPurchaseApplyServiceImpl
Map<String, Object> one = new HashMap<>();
one.put("applyId", row.getId());
one.put("applyDate", row.getApplyDate());
one.put("colleagueName", row.getColleagueName());
String applyUserName = row.getApplyUser() != null ? row.getApplyUser().trim() : "";
one.put("applyUserName", applyUserName);
String phone = row.getColleaguePhone() != null ? row.getColleaguePhone().trim() : "";
one.put("colleaguePhone", phone);
if (applyUserName.isEmpty()) {
one.put("success", false);
one.put("message", "colleague_name 为空,跳过");
fail++;
details.add(one);
continue;
}
if (!tradeMatchedNicknames.contains(applyUserName)) {
one.put("success", false);
one.put("message", "申请人姓名在 lb_daily_user_trade 中未找到 ,说明今天没进货 ,推荐人不能享受特权,跳过开通特权");
fail++;
details.add(one);
continue;
}
if (phone.isEmpty()) {
one.put("success", false);
one.put("message", "colleague_phone 为空,跳过");
@@ -688,8 +728,7 @@ public class LbPurchaseApplyServiceImpl
continue;
}
try {
LocalDateTime vipTime =
HxrAdminUserService.computeVipExpireTimePlusCalendarDays(row.getApplyDate(), 2);
LocalDateTime vipTime = HxrAdminUserService.computeVipExpireTime(row.getApplyDate());
String vipTimeStr = HxrAdminUserService.formatVipTime(vipTime);
one.put("viptime", vipTimeStr);