package com.yeshi.fanli.util.db; import java.util.List; import javax.annotation.Resource; 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.data.mongodb.core.query.Update; import org.springframework.stereotype.Component; import com.yeshi.fanli.entity.bus.help.HelpInfo; import com.yeshi.fanli.entity.taobao.TaoBaoShopInfo; @Component public class MongoDBManager { @Resource private MongoTemplate mongoTemplate; /** * 保存淘宝店铺信息 * * @param tb */ public void saveTBShopInfo(TaoBaoShopInfo tb) { if (tb == null) return; Query query = new Query(); query.addCriteria(Criteria.where("userId").is(tb.getUserId())); List list = mongoTemplate.find(query, TaoBaoShopInfo.class); if (list != null && list.size() > 0) { Update update = Update.update("content", tb.getShopTitle()).set("shopType", tb.getShopType()) .set("sellerNick", tb.getSellerNick()).set("pictureUrl", tb.getPictureUrl()) .set("shopUrl", tb.getShopUrl()); mongoTemplate.updateMulti(query, update, TaoBaoShopInfo.class); } else { mongoTemplate.insert(tb); } } public TaoBaoShopInfo getTBShopInfo(Long userId) { Query query = new Query(); query.addCriteria(Criteria.where("userId").is(userId)); TaoBaoShopInfo info = mongoTemplate.findOne(query, TaoBaoShopInfo.class); return info; } /** * 保存帮助中心详情页面 * * @param tb */ public void saveHelpInfo(HelpInfo helpInfo) { if (helpInfo == null) return; Query query = new Query(); query.addCriteria(Criteria.where("id").is(helpInfo.getId())); List list = mongoTemplate.find(query, HelpInfo.class); if (list == null || list.size() == 0) { // 插入 mongoTemplate.insert(helpInfo); } else { Update update = Update.update("content", helpInfo.getContent()).set("html", helpInfo.getHtml()); mongoTemplate.updateMulti(query, update, HelpInfo.class); } } /** * 获取帮助信息 * * @param id * @return */ public HelpInfo getHelpInfo(Long id) { Query query = new Query(); query.addCriteria(Criteria.where("id").is(id)); HelpInfo info = mongoTemplate.findOne(query, HelpInfo.class); return info; } /** * 删除帮助信息 * * @param id * @return */ public void removeHelpInfo(Long id) { Query query = new Query(); query.addCriteria(Criteria.where("id").is(id)); List list = mongoTemplate.find(query, HelpInfo.class); if (list != null && list.size() > 0) { HelpInfo helpInfo = list.get(0); mongoTemplate.remove(helpInfo); } } public void test() { String jsonCommand = "flq.helpInfo.find().forEach(function(x){hcj.helpInfo.insert(x);});"; mongoTemplate.executeCommand(jsonCommand); } }