From 12b649bb5eaa46f9484a0f0055c7ae9b1c01cf31 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 29 七月 2019 10:40:05 +0800
Subject: [PATCH] 智能搜索接口调整
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/ShamUserServiceImpl.java | 271 +++++++++++++++++++++++++++++------------------------
1 files changed, 148 insertions(+), 123 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ShamUserServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ShamUserServiceImpl.java
index 92394d9..8d3e996 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ShamUserServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ShamUserServiceImpl.java
@@ -1,150 +1,43 @@
package com.yeshi.fanli.service.impl.user;
-import java.text.DecimalFormat;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Comparator;
import java.util.List;
import javax.annotation.Resource;
-import org.apache.ibatis.annotations.Param;
-import org.hibernate.HibernateException;
-import org.hibernate.SQLQuery;
-import org.hibernate.Session;
-import org.springframework.orm.hibernate4.HibernateCallback;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.yeshi.fanli.dao.mybatis.user.ShamUserMapper;
-import com.yeshi.fanli.dao.user.ShamUserDao;
-import com.yeshi.fanli.entity.bus.user.HongBaoMessage;
import com.yeshi.fanli.entity.bus.user.ShamUser;
+import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.Utils;
+import com.yeshi.fanli.util.StringUtil;
+
+import net.sf.json.JSONArray;
@Service
public class ShamUserServiceImpl implements ShamUserService {
-
- @Resource
- private ShamUserDao dao;
-
+
@Resource
private ShamUserMapper shamUserMapper;
-
-
+
+ @Resource
+ private ConfigService configService;
+
@Transactional
public void addShamUser(ShamUser shamUser) {
- dao.save(shamUser);
+ shamUserMapper.insertSelective(shamUser);
}
public List<ShamUser> getAll() {
- return dao.list("from ShamUser");
+ return shamUserMapper.listAll();
}
-
- @SuppressWarnings("unchecked")
- public List<ShamUser> findShamUserList(int sum){
- return (List<ShamUser>) dao.excute(new HibernateCallback<List<ShamUser>>() {
-
- public List<ShamUser> doInHibernate(Session session)
- throws HibernateException {
- SQLQuery query = session.createSQLQuery("SELECT * FROM yeshi_ec_demouser ORDER BY id desc").addEntity(ShamUser.class);
- query.setFirstResult(0);
- query.setMaxResults(sum);
- List<ShamUser> list = query.list();
- return list;
- }
- });
- }
-
- @SuppressWarnings("unchecked")
- public List<HongBaoMessage> getManyData() {
-
- return (List<HongBaoMessage>) dao.excute(new HibernateCallback<List<HongBaoMessage>>() {
-
- public List<HongBaoMessage> doInHibernate(Session session)
- throws HibernateException {
- SQLQuery query = session.createSQLQuery("SELECT * FROM yeshi_ec_sham_user ORDER BY RAND()").addEntity(ShamUser.class);
- query.setFirstResult(0);
- query.setMaxResults(Constant.PAGE_SIZE);
- List<ShamUser> list = query.list();
- List<HongBaoMessage> hbmList=new ArrayList<HongBaoMessage>();
- if(list.size()>0){
- HongBaoMessage hbm = null;
- DecimalFormat df = new DecimalFormat("######0.00");
- for (ShamUser shamUser : list) {
- hbm=new HongBaoMessage();
- hbm.setName(shamUser.getName());
- hbm.setPicUrl(shamUser.getPicUrl());
- double random = (Math.random()+0.01)*20;
- String format = df.format(random);
- hbm.setContent("鎮勬倓棰嗗彇浜�"+format+"鍏冪孩鍖�");
- hbmList.add(hbm);
- }
- }
- return hbmList;
- }
- });
- }
- @Transactional
- public void delete(final long id) {
- dao.excute(new HibernateCallback() {
- public Object doInHibernate(Session session)
- throws HibernateException {
- session.createQuery(" delete ShamUser su where su.id = ? ").setParameter(0, id).executeUpdate();
- return null;
- }
- });
- }
-
- @SuppressWarnings("unchecked")
- public List<HongBaoMessage> findShamThreeSaleInfo() {
-
- return (List<HongBaoMessage>) dao.excute(new HibernateCallback<List<HongBaoMessage>>() {
-
- public List<HongBaoMessage> doInHibernate(Session session)
- throws HibernateException {
- SQLQuery query = session.createSQLQuery("SELECT * FROM yeshi_ec_sham_user ORDER BY RAND()").addEntity(ShamUser.class);
- query.setFirstResult(0);
- query.setMaxResults(5);
- List<ShamUser> list = query.list();
- List<HongBaoMessage> hbmList=new ArrayList<HongBaoMessage>();
- if(list.size()>0){
- HongBaoMessage hbm = null;
- DecimalFormat df = new DecimalFormat("######0.00");
- for (ShamUser shamUser : list) {
- String name = shamUser.getName();
- if(name != null){
- if(name.length() > 2){
- name = Utils.getStarString(name,1,name.length()-1);
- }else{
- name = name.substring(0, 1)+"**"+name.substring(name.length()-1);
- }
- }
- shamUser.setName(name);
- hbm=new HongBaoMessage();
- hbm.setName(shamUser.getName());
- hbm.setPicUrl(shamUser.getPicUrl());
- double random = (Math.random()+100)*10;
- String format = df.format(random);
- hbm.setContent(format+"");
- hbmList.add(hbm);
- }
- }
- Collections.sort(hbmList, new Comparator<HongBaoMessage>() {
- public int compare(HongBaoMessage o1, HongBaoMessage o2) {
- double o1m = Double.parseDouble(o1.getContent());
- double o2m = Double.parseDouble(o2.getContent());
- double m=o1m-o2m;
- return m<0?1:-1;
- }
- });
- return hbmList;
- }
- });
-
+ public List<ShamUser> findShamUserList(int sum) {
+ return shamUserMapper.listShamUserByKey(0, sum, null);
}
@Override
@@ -176,12 +69,144 @@
public int updateByPrimaryKey(ShamUser record) {
return shamUserMapper.updateByPrimaryKey(record);
}
-
-
+
@Override
public List<ShamUser> listDistinctPicUrl(long start, int count) {
return shamUserMapper.listByDistinctPicUrl(start, count);
}
+ @Override
+ public int insertBatch(List<ShamUser> list) {
+ return shamUserMapper.insertBatch(list);
+ }
+ @Override
+ public int updateBatchSelective(List<ShamUser> list) {
+ return shamUserMapper.updateBatchSelective(list);
+ }
+
+ @Override
+ public List<ShamUser> listRandCouponUser(int count, int smallTime, int largeTime) {
+ List<Integer> listTime = new ArrayList<Integer>();
+
+ while (listTime.size() < count) {
+ int time = smallTime + (int) (Math.random() * (largeTime - smallTime + 1));
+ if (!listTime.contains(Integer.valueOf(time))) {
+ listTime.add(Integer.valueOf(time));
+ }
+ }
+
+ Collections.sort(listTime);
+
+ List<ShamUser> listRand = shamUserMapper.listRand(count);
+
+ for (int i = 1; i <= count; i++) {
+ ShamUser shamUser = (ShamUser) listRand.get(i - 1);
+
+ transformId(shamUser);
+
+ shamUser.setMsg(listTime.get(listTime.size() - i) + "绉掑墠璐拱浜嗘鍟嗗搧");
+ }
+
+ return listRand;
+ }
+
+ @Override
+ public List<ShamUser> listRandShareUser(int count, BigDecimal shareMoney, int small, int large) {
+
+ List<Integer> listMultiple = new ArrayList<Integer>();
+
+ while (listMultiple.size() < count) {
+ int Multiple = small + (int) (Math.random() * (large - small + 1));
+ listMultiple.add(Integer.valueOf(Multiple));
+ }
+
+ List<String> imgList = new ArrayList<String>();
+ String value = configService.get("shareBonusPicture");
+
+ if (!StringUtil.isNullOrEmpty(value)) {
+ JSONArray array = JSONArray.fromObject(value);
+ if (array != null) {
+ for (int n = 0; n < array.size(); n++) {
+ imgList.add(array.optString(n));
+ }
+ }
+
+ }
+
+ List<ShamUser> listRand = shamUserMapper.listRand(count);
+
+ for (int i = 0; i < count; i++) {
+ ShamUser shamUser = (ShamUser) listRand.get(i);
+
+ transformId(shamUser);
+
+ if (imgList.size() > 0) {
+ int randBonusPic = (int) (Math.random() * imgList.size());
+ shamUser.setShareBonusPic((String) imgList.get(randBonusPic));
+ }
+
+ BigDecimal money = shareMoney.multiply(new BigDecimal(((Integer) listMultiple.get(i)).intValue()))
+ .setScale(2, 1);
+ // 蹇呴』鍖呭惈 銆愬閲懧ャ�� 杩�3涓鍙凤紝 鐢ㄤ簬鍓嶇棰滆壊鍖哄垎
+ shamUser.setMsg("鍒嗕韩浜嗚繖涓晢鍝�,绱鑾峰緱濂栭噾楼" + money);
+ }
+
+ return listRand;
+ }
+
+ public void transformId(ShamUser shamUser) {
+ String id = shamUser.getId() + "";
+ if (id.length() == 1) {
+ shamUser.setShowId("2****" + id);
+ } else {
+ shamUser.setShowId(id.substring(0, 1) + "****" + id.substring(id.length() - 2, id.length() - 1));
+ }
+
+ String name = shamUser.getName();
+ if(StringUtil.isNullOrEmpty(name)) {
+ // 鍚嶅瓧涓虹┖鏃�
+ String start = randomName();
+ String end = randomName();
+ shamUser.setName(start + "**" +end);
+ } else if (name.length() == 1) {
+ // 涓�涓瓧
+ String start = name;
+ if (start.trim().length() == 0 || start.equals("*")) {
+ start = randomName();
+ }
+ String end = randomName();
+ shamUser.setName(start + "**" +end);
+ } else {
+ // 涓や釜瀛楀強鍏朵互涓�
+ String start = name.substring(0, 1);
+ String end = name.substring(name.length() - 2, name.length() - 1);
+ if (start.trim().length() == 0 || start.equals("*")) {
+ start = randomName();
+ }
+ if (end.trim().length() == 0 || end.equals("*")) {
+ end = randomName();
+ }
+ shamUser.setName(start + "**" +end);
+ }
+ }
+
+ /**
+ * 闅忔満鍚嶇О
+ * @return
+ */
+ public String randomName() {
+ String[] array = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
+ "鎴�","鍗�","澹�","鎬�","涓�","鎴�","鍩�","缃�","钀�","鑺�","鍖�","澶�","绂�","鎵�","娴�","鐢�","鑻�","姊�","浣�","绻�","鍗�","涓�","璧�","涓�","鏄�","宸�","鎰�","琛�",
+ "涓�","鍚�","椋�","宄�","鏋�","闊�","鍚�","缁�","鍊�","绌�","绂�","涓�","鍘�","鐣�","鍏�","娴�","鐦�","闄�","閺�","闄�","绱�","瑾�","鐐�","缇�","闄�","濉�","杌�","鏅�",
+ "鍏�","闆�","楸�","钘�","闆�","鍙�","浜�","閰�","鑸�","鍌�","璩�","娈�","姗�","宸�","鍠�","鎰�","鍟�","鍡�","璀�","璜�","璨�","閵�","姹�","鑸�","瀛�","鍚�","鏄�","鏄�","闂�"
+ ,"閾�","楦�","鍐�","椋�","璐�","闈�","搴�","杈�","鍘�","鏇�","娓�","灏�","绗�","鏅�","娑�","鏍�","瑗�","濡�","濞�","鐮�","鐪�","鍑�","寰�","鍏�","銇�","瓒�","榛�","鑸�","绱�",
+ "鎲�","鏃�","銇�","銇�","鐑�","鏉�","鐑�","寮�","缁�","闆�","鏈�","鑸�"};
+ return array[(int) (Math.random() * array.length-1)];
+ }
+
+ @Override
+ public List<ShamUser> listRandUser(int count) {
+ return shamUserMapper.listRand(count);
+ }
}
--
Gitblit v1.8.0