123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602 |
- package ieven.server.webapp.api;
- import com.mongodb.client.MongoCursor;
- import ieven.server.webapp.domain.LineInput;
- import ieven.server.webapp.domain.ModelIdInput;
- import ieven.server.webapp.domain.StaticPageInput;
- import ieven.server.webapp.domain.alipay.TFromToFileIds;
- import ieven.server.webapp.domain.data.DataMap;
- import ieven.server.webapp.domain.data.DataService;
- import ieven.server.webapp.domain.data.Fields;
- import ieven.server.webapp.domain.data.StaticInput;
- import ieven.server.webapp.domain.exporter.Exporter;
- import ieven.server.webapp.domain.file.LogicalFile;
- import ieven.server.webapp.domain.model.Model;
- import ieven.server.webapp.infrastructure.wrapper.Mapped;
- import ieven.server.webapp.service.alipay.AlipayService;
- import ieven.server.webapp.util.excel.PublicStatic;
- import org.apache.commons.lang3.StringUtils;
- import org.bson.Document;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.data.domain.Sort;
- import org.springframework.data.mongodb.core.MongoTemplate;
- import org.springframework.data.mongodb.core.query.Criteria;
- import org.springframework.data.mongodb.core.query.Query;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.HashSet;
- import java.util.List;
- import java.util.Set;
- import java.util.concurrent.ExecutionException;
- import java.util.concurrent.Future;
- @RestController
- @RequestMapping({"/alipay"})
- public class AlipayController {
- @Autowired
- private AlipayService alipayService;
- @Autowired
- private MongoTemplate mongoTemplate;
- @Autowired
- private DataService dataService;
- public AlipayController() {
- }
- @PostMapping({"/extractPersonInfo"})
- public Mapped extractPersonInfo(@RequestBody ModelIdInput modelIdInput)
- throws InterruptedException {
- String modelId = modelIdInput.getModelId();
- return modelId == null ? Mapped.ERROR("没有选择模型!") : this.alipayService.extractAll(modelId);
- }
- @PostMapping({"/viewDetailContent"})
- public Mapped viewDetailContent(@RequestBody LineInput input) {
- String modelId = input.getModelId();
- if (modelId == null) {
- return Mapped.ERROR("没有选择模型!");
- } else {
- String filename = input.getFilename();
- if (filename.equals("数据分析-对手透视") || filename.equals("数据分析-账户透视")) {
- String dateFileId = getFileId("数据分析-主体信息汇总明细", modelId, mongoTemplate);
- input.setFileId(dateFileId);
- }
- String fileId = input.getFileId();
- String clickHeader = input.getClickHeader();
- String lineId = input.getLineId();
- int page = input.getPage();
- int pageSize = input.getPageSize();
- int skip = (page - 1) * pageSize;
- Criteria criteria = this.resolveDetailQuery(filename, fileId, lineId, clickHeader);
- if (criteria == null) {
- return Mapped.ERROR("未查询到明细");
- } else {
- Long total = this.dataService.countTotalByQuery(new Query(criteria));
- List<DataMap> dataMaps =
- this.mongoTemplate.find(
- (new Query(criteria)).skip(skip).limit(pageSize), DataMap.class);
- Mapped mapped = Mapped.OK();
- mapped.put("result", dataMaps);
- mapped.put("code", 200);
- mapped.put("page", page);
- mapped.put("total", total);
- mapped.put("fileId", fileId);
- mapped.put("pageSize", pageSize);
- return mapped;
- }
- }
- }
- @PostMapping({"/staticDetailContent"})
- public Mapped staticDetailContent(@RequestBody StaticPageInput input) {
- String modelId = input.getModelId();
- if (modelId == null) {
- return Mapped.ERROR("没有选择模型!");
- } else {
- String fileId = input.getFileId();
- String jythm = input.getJythm();
- String jydszh = input.getJydszh();
- int page = input.getPage();
- int pageSize = input.getPageSize();
- int skip = (page - 1) * pageSize;
- Criteria criteria = Criteria.where("fileId")
- .is(fileId)
- .and("交易主体户名")
- .is(jythm)
- .and("交易对手账号")
- .is(jydszh);
- if (criteria == null) {
- return Mapped.ERROR("未查询到明细");
- } else {
- Long total = this.dataService.countTotalByQuery(new Query(criteria));
- List<DataMap> dataMaps =
- this.mongoTemplate.find(
- (new Query(criteria)).skip(skip).limit(pageSize), DataMap.class);
- Mapped mapped = Mapped.OK();
- mapped.put("result", dataMaps);
- mapped.put("code", 200);
- mapped.put("page", page);
- mapped.put("total", total);
- mapped.put("fileId", fileId);
- mapped.put("pageSize", pageSize);
- return mapped;
- }
- }
- }
- @PostMapping({"/viewDetailHeaders"})
- public Mapped viewHeaders(@RequestBody LineInput input) {
- String modelId = input.getModelId();
- if (modelId == null) {
- return Mapped.ERROR("没有选择模型!");
- } else {
- String filename = input.getFilename();
- if (filename.equals("数据分析-对手透视") || filename.equals("数据分析-账户透视")) {
- String dateFileId = getFileId("数据分析-主体信息汇总明细", modelId, mongoTemplate);
- input.setFileId(dateFileId);
- }
- String fileId = input.getFileId();
- TFromToFileIds oldFile =
- this.mongoTemplate.findOne(
- new Query(Criteria.where("toFileId").is(fileId)), TFromToFileIds.class);
- if (oldFile == null) {
- return Mapped.ERROR("未发现明细!");
- } else {
- String fromFileId = oldFile.getFromFileId();
- Fields fields = this.mongoTemplate.findOne(new Query(Criteria.where("fileId").is(fromFileId)), Fields.class);
- Mapped mapped = Mapped.OK();
- mapped.put("result", fields);
- return mapped;
- }
- }
- }
- private List<String> destFileId(String oriFileId) {
- Set<String> destFileIds = new HashSet<>();
- List<TFromToFileIds> oldFileList =
- this.mongoTemplate.find(
- new Query(Criteria.where("toFileId").is(oriFileId)), TFromToFileIds.class);
- for (TFromToFileIds t : oldFileList) {
- destFileIds.add(t.getFromFileId());
- }
- return new ArrayList<>(destFileIds);
- }
- @PostMapping({"/exportViewDetailContent"})
- public Mapped exportViewDetailContent(@RequestBody LineInput input) throws IOException {
- String modelId = input.getModelId();
- if (modelId == null) {
- return Mapped.ERROR("没有选择模型!");
- } else {
- String filename = input.getFilename();
- String fileId = input.getFileId();
- String clickHeader = input.getClickHeader();
- String lineId = input.getLineId();
- Criteria criteria = this.resolveDetailQuery(filename, fileId, lineId, clickHeader);
- if (input.getDeleteName() == 2) {
- criteria.andOperator(PublicStatic.getQuery());
- }
- if (criteria == null) {
- return Mapped.ERROR("未查询到明细");
- } else {
- Query query = new Query(criteria);
- MongoCursor<Document> cursor =
- this.mongoTemplate
- .getCollection("data")
- .find((query).getQueryObject())
- .batchSize(1000)
- .noCursorTimeout(true)
- .cursor();
- Exporter exporter = new Exporter();
- List<String> fileIds = this.destFileId(fileId);
- String exportFileId = exporter.export(cursor, fileIds.get(0), filename);
- Mapped mapped = Mapped.OK();
- mapped.put("result", exportFileId);
- return mapped;
- }
- }
- }
- @PostMapping({"/exportAllDetail"})
- public Mapped exportAllDetail(@RequestBody LineInput input) throws IOException {
- String modelId = input.getModelId();
- if (modelId == null) {
- return Mapped.ERROR("没有选择模型!");
- } else {
- String filename = input.getFilename();
- String fileId = input.getFileId();
- Criteria criteria = this.resolveDetailQuery(filename, fileId, null, null);
- if (criteria == null) {
- return Mapped.ERROR("未查询到明细");
- } else {
- MongoCursor<Document> cursor =
- this.mongoTemplate
- .getCollection("data")
- .find((new Query(criteria)).getQueryObject())
- .batchSize(1000)
- .noCursorTimeout(true)
- .cursor();
- Exporter exporter = new Exporter();
- List<String> fileIds = this.destFileId(fileId);
- if (StringUtils.isNotBlank(modelId) && filename == null) {
- Model model =
- mongoTemplate.findOne(new Query(Criteria.where("id").is(modelId)), Model.class);
- filename = model.getModelName();
- }
- String exportFileId = exporter.export(cursor, fileIds.get(0), filename);
- Mapped mapped = Mapped.OK();
- mapped.put("result", exportFileId);
- return mapped;
- }
- }
- }
- @PostMapping({"/getFileIdByName"})
- public Mapped getFileIdByName(@RequestBody LineInput input) {
- String modelId = input.getModelId();
- if (modelId == null) {
- return Mapped.ERROR("没有选择模型!");
- } else {
- String dateFileId = getFileId(input.getFilename(), modelId, mongoTemplate);
- Mapped mapped = Mapped.OK();
- mapped.put("result", dateFileId);
- mapped.put("code", 200);
- return mapped;
- }
- }
- protected String getFileId(String filename, String modelId, MongoTemplate mongoTemplate) {
- Query query =
- new Query(
- Criteria.where("modelId")
- .is(modelId)
- .and("filename")
- .is(filename)
- .and("generated")
- .is(Boolean.TRUE));
- LogicalFile oldFile = mongoTemplate.findOne(query, LogicalFile.class);
- if (oldFile != null) {
- return oldFile.getId();
- } else {
- return "";
- }
- }
- private Criteria resolveDetailQuery(
- String filename, String fileId, String lineId, String clickHeader) {
- List<String> fileIds = this.destFileId(fileId);
- Criteria criteria = Criteria.where("fileId");
- if (fileIds.size() == 1) {
- criteria.is(fileIds.get(0));
- } else if (fileIds.size() > 1) {
- criteria.in(fileIds);
- } else {
- return null;
- }
- DataMap dataMap;
- String dszfbyhid;
- if (filename.equals("反诈治安-账户透视")) {
- if (lineId == null) {
- return criteria;
- }
- dataMap = this.mongoTemplate.findById(lineId, DataMap.class);
- if (dataMap == null) {
- return null;
- }
- dszfbyhid = (String) dataMap.get("交易主体账号");
- if (!clickHeader.equals("交易总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("收入金额") && !clickHeader.equals("收入笔数")) {
- if (clickHeader.equals("支出金额") || clickHeader.equals("支出笔数")) {
- criteria.and("交易主体账号").is(dszfbyhid).and("交易主体的出入账标识").is("出账");
- }
- } else {
- criteria.and("交易主体账号").is(dszfbyhid).and("交易主体的出入账标识").is("入账");
- }
- } else {
- criteria.and("交易主体账号").is(dszfbyhid);
- }
- } else if (filename.equals("反诈治安-对手透视")) {
- if (lineId == null) {
- return criteria;
- }
- dataMap = this.mongoTemplate.findById(lineId, DataMap.class);
- if (dataMap == null) {
- return null;
- }
- dszfbyhid = (String) dataMap.get("交易对手账号");
- if (!clickHeader.equals("交易总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("交易主体收入金额") && !clickHeader.equals("交易主体收入笔数")) {
- if (clickHeader.equals("交易主体支出金额") || clickHeader.equals("交易主体支出笔数")) {
- criteria.and("交易对手账号").is(dszfbyhid).and("交易主体的出入账标识").is("出账");
- }
- } else {
- criteria.and("交易对手账号").is(dszfbyhid).and("交易主体的出入账标识").is("入账");
- }
- } else {
- criteria.and("交易对手账号").is(dszfbyhid);
- }
- } else if (filename.equals("财付通-账户透视")) {
- if (lineId == null) {
- return criteria;
- }
- dataMap = this.mongoTemplate.findById(lineId, DataMap.class);
- if (dataMap == null) {
- return null;
- }
- dszfbyhid = (String) dataMap.get("交易主体账号");
- if (!clickHeader.equals("交易总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("收入金额") && !clickHeader.equals("收入笔数")) {
- if (clickHeader.equals("支出金额") || clickHeader.equals("支出笔数")) {
- criteria.and("交易主体账号").is(dszfbyhid).and("借贷类型").is("出");
- }
- } else {
- criteria.and("交易主体账号").is(dszfbyhid).and("借贷类型").is("入");
- }
- } else {
- criteria.and("交易主体账号").is(dszfbyhid);
- }
- } else if (filename.equals("财付通-对手透视")) {
- if (lineId == null) {
- return criteria;
- }
- dataMap = this.mongoTemplate.findById(lineId, DataMap.class);
- if (dataMap == null) {
- return null;
- }
- dszfbyhid = (String) dataMap.get("交易对手账号");
- if (!clickHeader.equals("交易总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("交易主体收入金额") && !clickHeader.equals("交易主体收入笔数")) {
- if (clickHeader.equals("交易主体支出金额") || clickHeader.equals("交易主体支出笔数")) {
- criteria.and("交易对手账号").is(dszfbyhid).and("借贷类型").is("出");
- }
- } else {
- criteria.and("交易对手账号").is(dszfbyhid).and("借贷类型").is("入");
- }
- } else {
- criteria.and("交易对手账号").is(dszfbyhid);
- }
- } else if (filename.equals("数据分析-账户透视")) {
- if (lineId == null) {
- return criteria;
- }
- dataMap = this.mongoTemplate.findById(lineId, DataMap.class);
- if (dataMap == null) {
- return null;
- }
- dszfbyhid = (String) dataMap.get("交易主体账号");
- if (!clickHeader.equals("交易总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("收入金额") && !clickHeader.equals("收入笔数")) {
- if (clickHeader.equals("支出金额") || clickHeader.equals("支出笔数")) {
- criteria.and("交易主体账号").is(dszfbyhid).and("借贷类型").is("借");
- }
- } else {
- criteria.and("交易主体账号").is(dszfbyhid).and("借贷类型").is("贷");
- }
- } else {
- criteria.and("交易主体账号").is(dszfbyhid);
- }
- /* if (String.valueOf(dataMap.get("来源")).equals("财付通")) {
- dszfbyhid = (String) dataMap.get("交易主体账号");
- if (!clickHeader.equals("交易总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("收入金额") && !clickHeader.equals("收入笔数")) {
- if (clickHeader.equals("支出金额") || clickHeader.equals("支出笔数")) {
- criteria.and("交易主体账号").is(dszfbyhid).and("借贷类型").is("出");
- }
- } else {
- criteria.and("交易主体账号").is(dszfbyhid).and("借贷类型").is("入");
- }
- } else {
- criteria.and("交易主体账号").is(dszfbyhid);
- }
- } else if (String.valueOf(dataMap.get("来源")).equals("五联单")) {
- dszfbyhid = (String) dataMap.get("交易主体账号");
- if (!clickHeader.equals("交易总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("收入金额") && !clickHeader.equals("收入笔数")) {
- if (clickHeader.equals("支出金额") || clickHeader.equals("支出笔数")) {
- criteria.and("支付宝用户ID").is(dszfbyhid).and("收/支").is("支出");
- }
- } else {
- criteria.and("支付宝用户ID").is(dszfbyhid).and("收/支").is("收入");
- }
- } else {
- criteria.and("支付宝用户ID").is(dszfbyhid);
- }
- } else if (String.valueOf(dataMap.get("来源")).equals("反诈")) {
- dszfbyhid = (String) dataMap.get("交易主体账号");
- if (!clickHeader.equals("交易总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("收入金额") && !clickHeader.equals("收入笔数")) {
- if (clickHeader.equals("支出金额") || clickHeader.equals("支出笔数")) {
- criteria.and("交易主体账号").is(dszfbyhid).and("借贷类型").is("借");
- }
- } else {
- criteria.and("交易主体账号").is(dszfbyhid).and("借贷类型").is("贷");
- }
- } else {
- criteria.and("交易主体账号").is(dszfbyhid);
- }
- }*/
- } else if (filename.equals("数据分析-对手透视")) {
- if (lineId == null) {
- return criteria;
- }
- dataMap = this.mongoTemplate.findById(lineId, DataMap.class);
- if (dataMap == null) {
- return null;
- }
- dszfbyhid = (String) dataMap.get("交易对手账号");
- if (!clickHeader.equals("交易总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("交易主体收入金额") && !clickHeader.equals("交易主体收入笔数")) {
- if (clickHeader.equals("交易主体支出金额") || clickHeader.equals("交易主体支出笔数")) {
- criteria.and("交易对手账号").is(dszfbyhid).and("借贷类型").is("借");
- }
- } else {
- criteria.and("交易对手账号").is(dszfbyhid).and("借贷类型").is("贷");
- }
- } else {
- criteria.and("交易对手账号").is(dszfbyhid);
- }
- /* if (String.valueOf(dataMap.get("来源")).equals("财付通")) {
- dszfbyhid = (String) dataMap.get("交易对手账号");
- if (!clickHeader.equals("交易总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("交易主体收入金额") && !clickHeader.equals("交易主体收入笔数")) {
- if (clickHeader.equals("交易主体支出金额") || clickHeader.equals("交易主体支出笔数")) {
- criteria.and("交易对手账号").is(dszfbyhid).and("借贷类型").is("出");
- }
- } else {
- criteria.and("交易对手账号").is(dszfbyhid).and("借贷类型").is("入");
- }
- } else {
- criteria.and("交易对手账号").is(dszfbyhid);
- }
- }
- else if (String.valueOf(dataMap.get("来源")).equals("五联单")) {
- dszfbyhid = (String) dataMap.get("交易对手账号");
- if (!clickHeader.equals("交易总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("主用户ID收入金额") && !clickHeader.equals("主用户ID收入笔数")) {
- if (clickHeader.equals("主用户ID支出金额") || clickHeader.equals("主用户ID支出笔数")) {
- criteria.and("对手支付宝用户ID").is(dszfbyhid).and("收/支").is("支出");
- }
- } else {
- criteria.and("对手支付宝用户ID").is(dszfbyhid).and("收/支").is("收入");
- }
- } else {
- criteria.and("对手支付宝用户ID").is(dszfbyhid);
- }
- }
- else if (String.valueOf(dataMap.get("来源")).equals("反诈")) {
- dszfbyhid = (String) dataMap.get("交易对手账号");
- if (!clickHeader.equals("交易总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("交易主体收入金额") && !clickHeader.equals("交易主体收入笔数")) {
- if (clickHeader.equals("交易主体支出金额") || clickHeader.equals("交易主体支出笔数")) {
- criteria.and("交易对手账号").is(dszfbyhid).and("交易主体的出入账标识").is("出账");
- }
- } else {
- criteria.and("交易对手账号").is(dszfbyhid).and("交易主体的出入账标识").is("入账");
- }
- } else {
- criteria.and("交易对手账号").is(dszfbyhid);
- }
- }*/
- } else if (filename.equals("五联单-转账分析")) {
- if (lineId == null) {
- criteria.and("消费名称").is("转账");
- return criteria;
- }
- dataMap = this.mongoTemplate.findById(lineId, DataMap.class);
- if (dataMap == null) {
- return null;
- }
- dszfbyhid = (String) dataMap.get("支付宝用户ID");
- if (!clickHeader.equals("转账总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("转账收入") && !clickHeader.equals("转收笔数")) {
- if (clickHeader.equals("转账支出") || clickHeader.equals("转支笔数")) {
- criteria.and("支付宝用户ID").is(dszfbyhid).and("消费名称").is("转账").and("收/支").is("支出");
- }
- } else {
- criteria.and("支付宝用户ID").is(dszfbyhid).and("消费名称").is("转账").and("收/支").is("收入");
- }
- } else {
- criteria.and("支付宝用户ID").is(dszfbyhid).and("消费名称").is("转账");
- }
- } else if (filename.equals("五联单-账户透视")) {
- if (lineId == null) {
- return criteria;
- }
- dataMap = this.mongoTemplate.findById(lineId, DataMap.class);
- if (dataMap == null) {
- return null;
- }
- dszfbyhid = (String) dataMap.get("支付宝用户ID");
- if (!clickHeader.equals("交易总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("收入金额") && !clickHeader.equals("收入笔数")) {
- if (clickHeader.equals("支出金额") || clickHeader.equals("支出笔数")) {
- criteria.and("支付宝用户ID").is(dszfbyhid).and("收/支").is("支出");
- }
- } else {
- criteria.and("支付宝用户ID").is(dszfbyhid).and("收/支").is("收入");
- }
- } else {
- criteria.and("支付宝用户ID").is(dszfbyhid);
- }
- } else if (filename.equals("五联单-对手透视")) {
- if (lineId == null) {
- return criteria;
- }
- dataMap = this.mongoTemplate.findById(lineId, DataMap.class);
- if (dataMap == null) {
- return null;
- }
- dszfbyhid = (String) dataMap.get("对手支付宝用户ID");
- if (!clickHeader.equals("交易总额") && !clickHeader.equals("总笔数")) {
- if (!clickHeader.equals("主用户ID收入金额") && !clickHeader.equals("主用户ID收入笔数")) {
- if (clickHeader.equals("主用户ID支出金额") || clickHeader.equals("主用户ID支出笔数")) {
- criteria.and("对手支付宝用户ID").is(dszfbyhid).and("收/支").is("支出");
- }
- } else {
- criteria.and("对手支付宝用户ID").is(dszfbyhid).and("收/支").is("收入");
- }
- } else {
- criteria.and("对手支付宝用户ID").is(dszfbyhid);
- }
- } else if (filename.equals("五联单-收货地址分析")) {
- if (lineId == null) {
- return criteria;
- }
- dataMap = this.mongoTemplate.findById(lineId, DataMap.class);
- if (dataMap == null) {
- return null;
- }
- dszfbyhid = (String) dataMap.get("收货人地址");
- if (clickHeader.equals("交易次数")) {
- criteria.and("收货人地址").is(dszfbyhid);
- }
- } else if (filename.equals("五联单-IP地址分析")) {
- if (lineId == null) {
- return criteria;
- }
- dataMap = this.mongoTemplate.findById(lineId, DataMap.class);
- if (dataMap == null) {
- return null;
- }
- dszfbyhid = (String) dataMap.get("IP地址");
- if (clickHeader.equals("登录次数")) {
- criteria.and("客户端IP").is(dszfbyhid);
- }
- }
- return criteria;
- }
- }
|