ModelInfoServiceImpl.java 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939
  1. package com.thmodel.service.impl;
  2. import java.util.ArrayList;
  3. import java.util.Date;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import com.thmodel.constants.Constants;
  8. import com.thmodel.constants.Recursion;
  9. import com.thmodel.dao.DataTypeInfoDao;
  10. import com.thmodel.dao.MemberinfoDao;
  11. import com.thmodel.dao.ModelInfoDao;
  12. import com.thmodel.dao.impl.DataTypeInfoDaoImpl;
  13. import com.thmodel.dao.impl.MemberinfoDaoImpl;
  14. import com.thmodel.dao.impl.ModelInfoDaoImpl;
  15. import com.thmodel.dbconnection.DbConnection;
  16. import com.thmodel.entity.ChatRecord;
  17. import com.thmodel.entity.HonorInfo;
  18. import com.thmodel.entity.ModelAct;
  19. import com.thmodel.entity.ModelInfo;
  20. import com.thmodel.entity.ModelPhoto;
  21. import com.thmodel.entity.ModelPrice;
  22. import com.thmodel.entity.ModelPrivate;
  23. import com.thmodel.entity.ModelPrivateDiscuss;
  24. import com.thmodel.entity.ModelPrivateItem;
  25. import com.thmodel.entity.ReportInfo;
  26. import com.thmodel.nimserver.Nimserver;
  27. import com.thmodel.service.ModelInfoService;
  28. import com.thmodel.util.CommentUtils;
  29. import com.thmodel.util.MyDateUtil;
  30. import net.sf.json.JSONArray;
  31. import net.sf.json.JSONObject;
  32. import com.thmodel.page.Page;
  33. import org.jooq.DSLContext;
  34. import org.jooq.Record;
  35. import org.jooq.Result;
  36. import org.jooq.impl.DSL;
  37. import static com.thmodel.jooq.Tables.MODELFAN;
  38. public class ModelInfoServiceImpl implements ModelInfoService {
  39. private static ModelInfoDao modelinfodao = new ModelInfoDaoImpl();
  40. private static MemberinfoDao memberinfoDao = new MemberinfoDaoImpl();
  41. private static DataTypeInfoDao dataTypeInfoDao = new DataTypeInfoDaoImpl();
  42. private static NimserverServiceImpl nimserverService = new NimserverServiceImpl();
  43. @Override
  44. public Map<String, Object> dogetmodel(int memberpk, String area, int index, int size) {
  45. return modelinfodao.getmodel(memberpk, area, index, size);
  46. }
  47. @Override
  48. public Map<String, Object> getmodelfan(int pk, int index, int size) {
  49. if (pk > 0) {
  50. return modelinfodao.getmodelfan(pk, index, size);
  51. } else {
  52. Map<String, Object> map = new HashMap<>();
  53. map.put("data", new ArrayList<>());
  54. map.put("count", 0);
  55. return map;
  56. }
  57. }
  58. @Override
  59. public Map<String, Object> getmodelstar(int memberpk, int star, int index, int size) {
  60. if (star >= 0) {
  61. return modelinfodao.modelstar(memberpk, star, index, size);
  62. } else {
  63. return null;
  64. }
  65. }
  66. @Override
  67. public List<ModelAct> geart(int ModelPK) {
  68. if (ModelPK > 0) {
  69. return modelinfodao.getModelActListByModelPK(ModelPK);
  70. } else {
  71. return null;
  72. }
  73. }
  74. @Override
  75. public List<Map<String, Object>> getfan(int ModelPK) {
  76. if (ModelPK > 0) {
  77. return modelinfodao.getfan(ModelPK);
  78. } else {
  79. return null;
  80. }
  81. }
  82. @Override
  83. public List<ModelPrice> getprice(int ModelPK) {
  84. if (ModelPK > 0) {
  85. return modelinfodao.getprice(ModelPK);
  86. } else {
  87. return null;
  88. }
  89. }
  90. @Override
  91. public List<ChatRecord> getchat(int ModelPK, Integer PK) {
  92. if (ModelPK > 0) {
  93. return modelinfodao.findChatRecordByModelPkAndMemberPK(ModelPK, PK);
  94. } else {
  95. return null;
  96. }
  97. }
  98. @Override
  99. public boolean putchat(String CDate, String ModelPK, String MemberPK, String chat, String CType) {
  100. int pk = modelinfodao.insertChatRecord(CDate, ModelPK, MemberPK, chat, CType);
  101. if (pk > 0) {
  102. return true;
  103. } else {
  104. return false;
  105. }
  106. }
  107. @Override
  108. public List<HonorInfo> getHonor(int ModelPK) {
  109. if (ModelPK > 0) {
  110. List<HonorInfo> list = modelinfodao.findHonorInfoByModelPk(ModelPK);
  111. return list;
  112. } else {
  113. return null;
  114. }
  115. }
  116. @Override
  117. public List<String> getHonorName(int ModelPK) {
  118. List<String> resultList = new ArrayList<String>();
  119. if (ModelPK > 0) {
  120. List<HonorInfo> list = modelinfodao.findHonorInfoByModelPk(ModelPK);
  121. for (HonorInfo honorInfo : list) {
  122. resultList.add(honorInfo.getHonor());
  123. }
  124. return resultList;
  125. } else {
  126. return null;
  127. }
  128. }
  129. @Override
  130. public boolean addHonor(int ModelPK, String Honors) {
  131. boolean flag = false;
  132. if (ModelPK > 0 && CommentUtils.isNull(Honors)) {
  133. //解析Honors
  134. //格式 "[{\"honor\":\"这是我的荣誉我\"}, {\"honor\":\"这是我的荣誉\"}, {\"honor\": \"honor3\"}]"
  135. List<String> honorList = new ArrayList<String>();
  136. JSONArray JsonArr = JSONArray.fromObject(Honors);
  137. JSONObject tmpJson;
  138. for (int i = 0; i < JsonArr.size(); i++) {
  139. tmpJson = (JSONObject) JsonArr.get(i);
  140. String value = tmpJson.getString("honor");
  141. if (value != null && !value.equals("")) {
  142. honorList.add(value);
  143. }
  144. }
  145. if (honorList.size() > 0) {
  146. //删除这个模特的所有荣誉
  147. modelinfodao.deleteHonorInfo(ModelPK);
  148. int pk = modelinfodao.insertHonorInfo(ModelPK, honorList);
  149. if (pk > 0) {
  150. flag = true;
  151. }
  152. }
  153. }
  154. return flag;
  155. }
  156. @Override
  157. public Map<String, Object> getBroke(int BrokePK) {
  158. if (BrokePK > 0) {
  159. Map<String, Object> resultMap = modelinfodao.findBrokeInforByPk(BrokePK);// 查询经纪人信息
  160. return resultMap;
  161. } else {
  162. return null;
  163. }
  164. }
  165. @Override
  166. public Map<String, Object> qryBroke(String LikeName, int index, int size) {
  167. return modelinfodao.findBrokeInforLikeName(LikeName, index, size);
  168. }
  169. @Override
  170. public boolean appBroke(int ModelPK, int BrokePK, int MemberPK) {
  171. boolean flag = false;
  172. if (ModelPK > 0 && BrokePK > 0 && MemberPK > 0) {
  173. int rows = modelinfodao.updateModelInfoSetBrokeByPk(ModelPK, BrokePK, MemberPK);
  174. if (rows > 0) {
  175. flag = true;
  176. }
  177. }
  178. return flag;
  179. }
  180. @Override
  181. public Map<String, Object> qryModel(int memberpk, int brokePk, int index, int size) {
  182. if (brokePk > 0) {
  183. return modelinfodao.findModelByBrokePk(memberpk, brokePk, index, size);
  184. } else {
  185. return null;
  186. }
  187. }
  188. @Override
  189. public Map<String, Object> getQueryModel(int memberpk, String likeName, int index, int size, String area) {
  190. return modelinfodao.findModelInfoByName(memberpk, likeName, index, size, area);
  191. }
  192. @Override
  193. public Page<List<Map<String, Object>>> getPrivate(int modelPk, int memberpk, int index, int size) {
  194. Page<List<Map<String, Object>>> resultPage = new Page<List<Map<String, Object>>>();
  195. //data
  196. List<Map<String, Object>> resultMapList = new ArrayList<Map<String, Object>>();
  197. if (modelPk > 0) {
  198. Page<List<ModelPrivate>> page = modelinfodao.findModelPrivateByModelPk(modelPk, memberpk, index, size);
  199. int count = page.getCount();
  200. List<ModelPrivate> privateList = page.getData();// 空间动态
  201. List<ModelPrivateItem> privateItemList = null;// 空间明细(图片)
  202. List<ModelPrivateDiscuss> privateInfoList = null;// 点赞列表
  203. List<ModelPrivateDiscuss> privateDiscussList = null;// 空间评论
  204. Date pdatePrev = null;// 记录上一个的时间
  205. if (index > 1) {
  206. //不是第一页
  207. int prev_index = index - 1;
  208. StringBuffer sql = new StringBuffer();
  209. sql.append("select * from (");
  210. sql.append(" select * from (");
  211. sql.append(" select pdate from modelprivate where modelpk = 2 order by pdate desc");
  212. sql.append(" )t0_ limit " + ((prev_index - 1) * size) + ", " + size);
  213. sql.append(")t1_ order by pdate limit 1");
  214. pdatePrev = new DbConnection().queryOneDate(sql.toString());
  215. }
  216. for (ModelPrivate modelPrivate : privateList) {
  217. int privatePk = modelPrivate.getPk();
  218. privateItemList = modelinfodao.findModelPrivateItemByPrivatePk(privatePk);
  219. privateInfoList = modelinfodao.getPraiseByPrivatePk(privatePk);
  220. privateDiscussList = modelinfodao.findModelPrivateDiscussByPrivatePk(privatePk);
  221. Map<String, Object> resultMap = new HashMap<String, Object>();
  222. resultMap.put("privatepk", privatePk);
  223. resultMap.put("islikes", modelPrivate.getIslikes());
  224. resultMap.put("pdate", MyDateUtil.format(modelPrivate.getPdate(), MyDateUtil.DATE_FORMAT_1));
  225. resultMap.put("intro", modelPrivate.getIntro());
  226. // 判断是否跟上一个相同
  227. boolean isDay = MyDateUtil.isSameDay(pdatePrev, modelPrivate.getPdate());
  228. pdatePrev = modelPrivate.getPdate();
  229. resultMap.put("isditto", isDay ? 1 : 0);
  230. List<Map<String, Object>> result_iteminfoList = new ArrayList<Map<String, Object>>();
  231. for (ModelPrivateItem mpi : privateItemList) {
  232. Map<String, Object> map = new HashMap<String, Object>();
  233. map.put("iteminfopk", mpi.getPk());
  234. map.put("url", mpi.getUrl());
  235. map.put("ftype", mpi.getFtype());
  236. result_iteminfoList.add(map);
  237. }
  238. List<Map<String, Object>> result_privateInfoList = new ArrayList<Map<String, Object>>();
  239. for (ModelPrivateDiscuss mpd : privateInfoList) {
  240. Map<String, Object> map = new HashMap<String, Object>();
  241. map.put("memberpk", mpd.getMemberpk());
  242. map.put("idate", MyDateUtil.format(mpd.getIdate(), MyDateUtil.DATE_FORMAT_1));
  243. result_privateInfoList.add(map);
  244. }
  245. List<Map<String, Object>> result_recordInfoList = Recursion.getRecordInfo(privateDiscussList);
  246. resultMap.put("iteminfo", result_iteminfoList);
  247. resultMap.put("privateinfo", result_privateInfoList);
  248. resultMap.put("recordinfo", result_recordInfoList);
  249. resultMapList.add(resultMap);
  250. }
  251. resultPage.setData(resultMapList);
  252. resultPage.setCount(count);
  253. return resultPage;
  254. } else {
  255. return null;
  256. }
  257. }
  258. @Override
  259. public int addPrivate(int modelPk, String intro) {
  260. int pk = 0;
  261. if (modelPk > 0) {
  262. pk = modelinfodao.insertModelPrivate(modelPk, intro);
  263. }
  264. return pk;
  265. }
  266. @Override
  267. public boolean addPrivateItem(int privatePk, String url, String fType) {
  268. boolean flag = false;
  269. if (privatePk > 0) {
  270. int pk = modelinfodao.insertModelPrivateItem(privatePk, url, fType);
  271. if (pk > 0) {
  272. flag = true;
  273. }
  274. }
  275. return flag;
  276. }
  277. @Override
  278. public boolean praisePrivate(int privatePk, int memberPk) {
  279. boolean flag = false;
  280. if (privatePk > 0 && memberPk > 0) {
  281. //判断是否点赞
  282. // 先判断有没有点赞 false 没有点赞
  283. boolean isLikes = modelinfodao.findLikes(memberPk, privatePk);
  284. if (!isLikes) {
  285. int pk = modelinfodao.praisePrivate(privatePk, memberPk);
  286. if (pk > 0) {
  287. flag = true;
  288. }
  289. } else {
  290. flag = true;
  291. }
  292. }
  293. return flag;
  294. }
  295. @Override
  296. public boolean addPrivateRecord(int privatePk, int memberPk, int RecordInfoPK, String intro) {
  297. boolean flag = false;
  298. if (privatePk > 0 && memberPk > 0) {
  299. int pk = modelinfodao.insertModelPrivateDiscuss(privatePk, memberPk, RecordInfoPK, intro);
  300. if (pk > 0) {
  301. flag = true;
  302. }
  303. }
  304. return flag;
  305. }
  306. @Override
  307. public Map<String, Object> getModelFigure(int modelPk) {
  308. Map<String, Object> resultMap = new HashMap<String, Object>();
  309. if (modelPk > 0) {
  310. // 获取自评
  311. List<Map<String, Object>> selfFigureList = modelinfodao.findSelfFigure(modelPk);
  312. // 获取用户印象
  313. List<Map<String, Object>> customImageList = modelinfodao.findCustomImage(modelPk);
  314. // 用户评价(不是自评就是用户评价)
  315. List<Map<String, Object>> customFigureList = modelinfodao.findCustomFigure(modelPk);
  316. resultMap.put("selffigure", selfFigureList);
  317. resultMap.put("customimage", customImageList);
  318. resultMap.put("customfigure", customFigureList);
  319. }
  320. return resultMap;
  321. }
  322. @Override
  323. public List<Map<String, Object>> getFigures() {
  324. return dataTypeInfoDao.findDataTypeInfoByTypeName(Constants.data_type_4);// 形象标签
  325. }
  326. @Override
  327. public Map<String, Object> queryFigureModel(int memberpk, String figurePks, int index, int size) {
  328. if (figurePks.length() > 0) {
  329. // 如果首字母是逗号,去除
  330. figurePks = figurePks.substring(0, 1).equals(",") ? figurePks.substring(1, figurePks.length()) : figurePks;
  331. // 如果最后一个字母是逗号,去除
  332. figurePks = figurePks.substring(figurePks.length() - 1, figurePks.length()).equals(",")
  333. ? figurePks.substring(0, figurePks.length() - 1)
  334. : figurePks;
  335. return modelinfodao.findModelByFigurePks(memberpk, figurePks, index, size);
  336. } else {
  337. return null;
  338. }
  339. }
  340. @Override
  341. public List<Map<String, Object>> queryMyFigure(int memberPk, int modelPk) {
  342. if (memberPk > 0 && modelPk > 0) {
  343. return modelinfodao.findModelFigureByModelPkAndMemberPk(memberPk, modelPk);
  344. } else {
  345. return null;
  346. }
  347. }
  348. @Override
  349. public boolean setModelFigure(int memberPk, int modelPk, String figurePks, int isSelf) {
  350. boolean flag = false;
  351. if (memberPk > 0 && modelPk > 0 && figurePks.length() > 0 && (isSelf == 0 || isSelf == 1)) {
  352. // 如果首字母是逗号,去除
  353. figurePks = figurePks.substring(0, 1).equals(",") ? figurePks.substring(1, figurePks.length()) : figurePks;
  354. // 如果最后一个字母是逗号,去除
  355. figurePks = figurePks.substring(figurePks.length() - 1, figurePks.length()).equals(",")
  356. ? figurePks.substring(0, figurePks.length() - 1)
  357. : figurePks;
  358. int rows = modelinfodao.insertModelFigure(memberPk, modelPk, figurePks, isSelf);
  359. if (rows > 0) {
  360. flag = true;
  361. }
  362. }
  363. return flag;
  364. }
  365. @Override
  366. public Map<String, Object> modelInfoByPk(int memberpk, int modelPk) {
  367. if (modelPk > 0) {
  368. return modelinfodao.findModelInfoByPk(memberpk, modelPk);
  369. } else {
  370. return null;
  371. }
  372. }
  373. @Override
  374. public Map<String, Object> queryPrivateRecord(int privatePk) {
  375. Map<String, Object> resultMap = new HashMap<String, Object>();
  376. if (privatePk > 0) {
  377. List<ModelPrivateDiscuss> privateInfoList = modelinfodao.getPraiseByPrivatePk(privatePk);// 点赞列表
  378. List<ModelPrivateDiscuss> privateDiscussList = modelinfodao.findModelPrivateDiscussByPrivatePk(privatePk);// 评论列表
  379. List<Map<String, Object>> privateInfoMapList = new ArrayList<Map<String, Object>>();
  380. List<Map<String, Object>> recordInfoMapList = Recursion.getRecordInfo(privateDiscussList);
  381. for (ModelPrivateDiscuss mpd : privateInfoList) {
  382. Map<String, Object> map = new HashMap<String, Object>();
  383. map.put("memberpk", mpd.getMemberpk());
  384. map.put("idate", MyDateUtil.format(mpd.getIdate(), MyDateUtil.DATE_FORMAT_1));
  385. privateInfoMapList.add(map);
  386. }
  387. resultMap.put("privateinfo", privateInfoMapList);
  388. resultMap.put("recordinfo", recordInfoMapList);
  389. return resultMap;
  390. } else {
  391. return null;
  392. }
  393. }
  394. @Override
  395. public List<Map<String, Object>> querySkillFigure() {
  396. List<Map<String, Object>> list = dataTypeInfoDao.findDataTypeInfoByTypeName(Constants.data_type_5);// "技能标签"
  397. return list;
  398. }
  399. @Override
  400. public Map<String, Object> querySkillModel(int memberpk, String skillPks, int index, int size, String area) {
  401. if (skillPks.length() > 0) {
  402. // 如果首字母是逗号,去除
  403. skillPks = skillPks.substring(0, 1).equals(",") ? skillPks.substring(1, skillPks.length()) : skillPks;
  404. // 如果最后一个字母是逗号,去除
  405. skillPks = skillPks.substring(skillPks.length() - 1, skillPks.length()).equals(",")
  406. ? skillPks.substring(0, skillPks.length() - 1)
  407. : skillPks;
  408. return modelinfodao.findDataTypeInfoByPkOrTypeName(memberpk, skillPks, Constants.data_type_5, area, index, size);
  409. } else {
  410. return null;
  411. }
  412. }
  413. @Override
  414. public Page<List<Map<String, Object>>> findModelPrivateLimit(int privatePk, int index, int size) {
  415. if (privatePk > 0) {
  416. return modelinfodao.findModelPrivateLimit(privatePk, index, size);
  417. } else {
  418. return null;
  419. }
  420. }
  421. @Override
  422. public Page<List> findmodel(int memberPk, int index, int size) {
  423. if (memberPk >= 0) {
  424. return modelinfodao.findModelInfoAndPhotoInfoList(memberPk, index, size);
  425. } else {
  426. Page<List> page = new Page<>();
  427. page.setCount(0);
  428. page.setData(new ArrayList());
  429. return page;
  430. }
  431. }
  432. @Override
  433. public boolean likes(int memberPk, int privatePk, int type) {
  434. boolean flag = false;
  435. // type 1点赞/2取消点赞
  436. if (type == 1) {
  437. // 先判断有没有点赞 false 没有点赞
  438. boolean isLikes = modelinfodao.findLikes(memberPk, privatePk);
  439. if (!isLikes) {
  440. int pk = modelinfodao.praisePrivate(privatePk, memberPk);
  441. if (pk > 0) {
  442. flag = true;
  443. }
  444. } else {
  445. flag = true;
  446. }
  447. } else if (type == 2) {
  448. // 先判断有没有点赞 true 已经点赞
  449. boolean isLikes = modelinfodao.findLikes(memberPk, privatePk);
  450. if (isLikes) {
  451. int rows = modelinfodao.notPraisePrivate(privatePk, memberPk);
  452. if (rows > 0) {
  453. flag = true;
  454. }
  455. } else {
  456. // 没有点赞 但也给返回成功
  457. flag = true;
  458. }
  459. }
  460. return flag;
  461. }
  462. @Override
  463. public boolean attention(int memberPk, int modelPk, int type) {
  464. boolean flag = false;
  465. // type 1关注/2取消关注
  466. if (type == 1) {
  467. // 先判断有没有关注 false 没有关注
  468. boolean isLikes = modelinfodao.findAttention(memberPk, modelPk);
  469. if (!isLikes) {
  470. int pk = modelinfodao.insertModelFan(memberPk, modelPk);
  471. modelinfodao.updateModelFanSetFCount(modelPk);
  472. if (pk > 0) {
  473. flag = true;
  474. }
  475. } else {
  476. flag = true;
  477. }
  478. } else if (type == 2) {
  479. // 先判断有没有关注 true 已经关注
  480. boolean isLikes = modelinfodao.findAttention(memberPk, modelPk);
  481. if (isLikes) {
  482. int rows = modelinfodao.deleteModelFan(memberPk, modelPk);
  483. modelinfodao.updateModelFanSetFCount(modelPk);
  484. if (rows > 0) {
  485. flag = true;
  486. }
  487. } else {
  488. // 没有关注 但也给返回成功
  489. flag = true;
  490. }
  491. }
  492. return flag;
  493. }
  494. @Override
  495. public List getSkillData(int modelPk) {
  496. if (modelPk > 0) {
  497. List<Map<String, Object>> list = modelinfodao.getSkillData(modelPk);
  498. return list;
  499. } else {
  500. return null;
  501. }
  502. }
  503. @Override
  504. public boolean addSkill(int skillpk, int modelpk, String skillphoto, double price, String unit, int orderid) {
  505. boolean flag = false;
  506. if (skillpk > 0 && price > 0) {
  507. int rows = modelinfodao.insertModelPrice(skillpk, modelpk, skillphoto, price, unit, orderid);
  508. if (rows > 0) {
  509. flag = true;
  510. }
  511. }
  512. return flag;
  513. }
  514. @Override
  515. public boolean updateSkill(int pk, int modelpk, String skillpk, String skillphoto, String price, String unit,
  516. String orderid) {
  517. boolean flag = false;
  518. if (pk > 0 && modelpk > 0) {
  519. int rows = modelinfodao.updateModelPrice(pk, modelpk, skillpk, skillphoto, price, unit, orderid);
  520. if (rows > 0) {
  521. flag = true;
  522. }
  523. }
  524. return flag;
  525. }
  526. @Override
  527. public Map<String, Object> dologin(String username, String pwd) {
  528. // 登录
  529. if (username != null || pwd != null) {
  530. //登录刷新token
  531. Map<String, Object> loginInfo = modelinfodao.login(username, pwd);
  532. if (loginInfo != null) {
  533. int pk = (int) loginInfo.get("pk");
  534. String pet = (String) loginInfo.get("pet");
  535. nimserverService.refreshOrCreateToken(pk, pet);
  536. return modelinfodao.login(username, pwd);
  537. } else {
  538. return null;
  539. }
  540. } else {
  541. return null;
  542. }
  543. }
  544. @Override
  545. public List<Map<String, Object>> getModelStyle(int modelpk) {
  546. if (modelpk > 0) {
  547. List<Map<String, Object>> list = modelinfodao.findSelfFigure(modelpk);
  548. return list;
  549. } else {
  550. return null;
  551. }
  552. }
  553. @Override
  554. public boolean setModelStyle(int modelpk, String stylepks) {
  555. boolean flag = false;
  556. if (modelpk > 0 && stylepks.length() > 0) {
  557. // 分割成String数组
  558. String[] stylepkArr = stylepks.split(",");
  559. if (stylepkArr.length > 0) {
  560. int[] stylepkArrInt = new int[stylepkArr.length];
  561. // 转换成int数组
  562. for (int i = 0; i < stylepkArr.length; i++) {
  563. stylepkArrInt[i] = Integer.parseInt(stylepkArr[i]);
  564. }
  565. // 删除人才的所有风格标签
  566. modelinfodao.deleteModelStyleAll(modelpk);
  567. // 添加人才的所有标签
  568. int rows = modelinfodao.insertModelStyle(modelpk, stylepkArrInt);
  569. if (rows > 0) {
  570. flag = true;
  571. }
  572. }
  573. }
  574. return flag;
  575. }
  576. @Override
  577. public boolean removeModelSkill(int modelpk, int skillpk) {
  578. boolean flag = false;
  579. if (modelpk > 0 && skillpk > 0) {
  580. int rows = modelinfodao.deleteModelPrice(modelpk, skillpk);
  581. if (rows > 0) {
  582. flag = true;
  583. }
  584. }
  585. return flag;
  586. }
  587. @Override
  588. public int doModelRegister(int memberpk, String name, int BrokePK, int BMemberPK) {
  589. int modelpk = modelinfodao.insertModelInfo(memberpk, name, BrokePK, BMemberPK);
  590. return modelpk;
  591. }
  592. @Override
  593. public List getModelPhoto(int modelpk) {
  594. if (modelpk > 0) {
  595. List<ModelPhoto> list = modelinfodao.findModelPhotoByModelPk(modelpk);
  596. return list;
  597. } else {
  598. return null;
  599. }
  600. }
  601. @Override
  602. public boolean addModelPhoto(int modelpk, String photo, int ordid) {
  603. boolean flag = false;
  604. if (modelpk > 0 && photo != null && !photo.equals("")) {
  605. String[] photos = photo.split(",");
  606. int pk = modelinfodao.insertModelPhoto(modelpk, photos, ordid);
  607. if (pk > 0) {
  608. flag = true;
  609. }
  610. }
  611. return flag;
  612. }
  613. @Override
  614. public boolean deleteModelPhoto(String modelphotopks, int modelpk) {
  615. boolean flag = false;
  616. if (modelphotopks.length() > 0 && modelpk > 0) {
  617. int rows = modelinfodao.deleteModelPhoto(modelphotopks, modelpk);
  618. if (rows > 0) {
  619. flag = true;
  620. }
  621. }
  622. return flag;
  623. }
  624. @Override
  625. public List getModelData(int modelpk) {
  626. if (modelpk > 0) {
  627. List list = modelinfodao.getModelData(modelpk);
  628. return list;
  629. } else {
  630. return null;
  631. }
  632. }
  633. @Override
  634. public boolean verifyModelPhone(String phone) {
  635. if (phone != null && !phone.equals("")) {
  636. return modelinfodao.verifyModelPhone(phone) > 0;
  637. }
  638. return false;
  639. }
  640. @Override
  641. public int findModelPrivateCount(int privatePk) {
  642. //获取订单 总数量
  643. if (privatePk > 0) {
  644. return modelinfodao.findModelPrivateCount(privatePk);
  645. } else {
  646. return 0;
  647. }
  648. }
  649. @Override
  650. public Map<String, Object> getModelLoginInfo(int modelpk) {
  651. if (modelpk > 0) {
  652. return modelinfodao.getModelLoginInfo(modelpk);
  653. } else {
  654. return null;
  655. }
  656. }
  657. @Override
  658. public Page<List> findModelLikesLimit(int privatePk, int index, int size) {
  659. if (privatePk > 0) {
  660. return modelinfodao.findModelLikesLimit(privatePk, index, size);
  661. } else {
  662. return null;
  663. }
  664. }
  665. @Override
  666. public boolean putOnline(int modelpk, int online) {
  667. boolean flag = false;
  668. if (modelpk > 0) {
  669. int rows = modelinfodao.updateModelOnlineByModelpk(modelpk, online);
  670. if (rows >= 0) {
  671. flag = true;
  672. }
  673. }
  674. return flag;
  675. }
  676. @Override
  677. public boolean removeModelPrivate(int privatepk) {
  678. boolean flag = false;
  679. if (privatepk > 0) {
  680. int rows = modelinfodao.deleteModelPrivateByPk(privatepk);
  681. if (rows > 0) {
  682. modelinfodao.deleteModelPrivateItemByPrivatepk(privatepk);
  683. modelinfodao.deleteModelPrivateDiscussByPrivatepk(privatepk);
  684. flag = true;
  685. }
  686. }
  687. return flag;
  688. }
  689. @Override
  690. public Map<String, Object> getModelVPrice(int memberpk) {
  691. Map<String, Object> resultMap = new HashMap<String, Object>();
  692. String msg = "";
  693. double vprice = 0;
  694. int is_a = 0;
  695. int modelpk = modelinfodao.getModelpkByMemberpk(memberpk);
  696. if (modelpk > 0) {
  697. msg = Constants.success;
  698. ModelInfo model = modelinfodao.findModelByPk(modelpk);
  699. vprice = model.getVprice();
  700. is_a = model.getIs_a();
  701. } else {
  702. msg = Constants.fail;
  703. }
  704. resultMap.put("msg", msg);
  705. resultMap.put("vprice", vprice);
  706. resultMap.put("modelpk", modelpk);
  707. resultMap.put("is_a", is_a);
  708. return resultMap;
  709. }
  710. @Override
  711. public boolean setModelHasRed(int modelpk, int hasred) {
  712. boolean flag = false;
  713. if (modelpk > 0 && (hasred == 1 || hasred == 0)) {
  714. int rows = modelinfodao.updateModelSetHasRedByModel(modelpk, hasred);
  715. if (rows > 0) {
  716. flag = true;
  717. }
  718. }
  719. return flag;
  720. }
  721. @Override
  722. public boolean isModel(int memberpk) {
  723. boolean flag = false;
  724. if (memberpk > 0) {
  725. int count = memberinfoDao.findMemberIsModel(memberpk);
  726. if (count > 0) {
  727. flag = true;
  728. }
  729. }
  730. return flag;
  731. }
  732. @Override
  733. public String getNewMemQrCode() {
  734. return memberinfoDao.getNewMemQrCode();
  735. }
  736. @Override
  737. public boolean doAddReport(ReportInfo reportInfo) {
  738. boolean flag = false;
  739. if (reportInfo != null && reportInfo.getAccuserpk() > 0 && reportInfo.getAppelleepk() > 0) {
  740. reportInfo.setReason(reportInfo.getReason() == null ? "" : reportInfo.getReason());
  741. int rows = memberinfoDao.insertReportInfo(reportInfo);
  742. if (rows > 0) {
  743. flag = true;
  744. }
  745. }
  746. return flag;
  747. }
  748. @Override
  749. public boolean removeComments(int privatepk, int modelprivatediscusspk) {
  750. boolean flag = false;
  751. if (privatepk > 0 && modelprivatediscusspk > 0) {
  752. int i = memberinfoDao.deleteModelPrivateDiscuss(modelprivatediscusspk, privatepk);
  753. if (i > 0) {
  754. flag = true;
  755. }
  756. }
  757. return flag;
  758. }
  759. @Override
  760. public boolean setOnline(int modelpk, int state) {
  761. return modelinfodao.setOnline(modelpk, state);
  762. }
  763. @Override
  764. public Map<String, Object> rank(int memberpk, int day) {
  765. return modelinfodao.queryRankList(memberpk, day);
  766. }
  767. @Override
  768. public boolean recommendApply(int modelpk) {
  769. return modelinfodao.applyRecommend(modelpk);
  770. }
  771. @Override
  772. public int findModelPKByMemberPK(int memberPK) {
  773. return modelinfodao.findModelPKByMemberPK(memberPK);
  774. }
  775. @Override
  776. public List<JSONObject> fans(int modelPK, int page, int size) {
  777. return modelinfodao.fans(modelPK, page, size);
  778. }
  779. @Override
  780. public int fansCount(int modelPK) {
  781. return modelinfodao.fansCount(modelPK);
  782. }
  783. @Override
  784. public String sendMsgToFans(int modelpk, String msg) {
  785. DSLContext ctx = DSL.using(DbConnection.getPara("MySQLURL"));
  786. Result<Record> result = ctx.select().from(MODELFAN).where(MODELFAN.MODELPK.equal(modelpk)).fetch();
  787. JSONArray toAccids = new JSONArray();
  788. for (Record record : result) {
  789. toAccids.add(record.get(MODELFAN.MEMBERPK));
  790. }
  791. Nimserver nimserver = new Nimserver();
  792. JSONObject body = new JSONObject();
  793. body.put("msg", msg);
  794. nimserver.sendBatchMsg("system", toAccids.toString(), "0", body.toString(), new HashMap<>());
  795. ctx.close();
  796. return "success";
  797. }
  798. }