AgencyController.java 88 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006
  1. package com.caimei.modules.user.web.newUser;
  2. import com.alibaba.excel.EasyExcel;
  3. import com.caimei.constants.ClubStatus;
  4. import com.caimei.dfs.image.beens.ImageUploadInfo;
  5. import com.caimei.modules.common.utils.UploadUtils;
  6. import com.caimei.modules.order.dao.NewShopOrderDao;
  7. import com.caimei.modules.order.service.WeChatService;
  8. import com.caimei.modules.project.model.ServiceProviderModel;
  9. import com.caimei.modules.sys.utils.CmMsgUtils;
  10. import com.caimei.modules.sys.utils.SMSUtils;
  11. import com.caimei.modules.sys.utils.UploadImageUtils;
  12. import com.caimei.modules.user.aop.OperationLogAnnotation;
  13. import com.caimei.modules.user.dao.MessageCenterDao;
  14. import com.caimei.modules.user.dao.NewCmClubDao;
  15. import com.caimei.modules.user.entity.*;
  16. import com.caimei.modules.user.service.*;
  17. import com.caimei.utils.AppKeys;
  18. import com.caimei.utils.AppUtils;
  19. import com.caimei.utils.DateUtils;
  20. import com.caimei.utils.MD5Util;
  21. import com.caimei.vo.JsonModel;
  22. import com.google.common.collect.Maps;
  23. import com.thinkgem.jeesite.common.config.Global;
  24. import com.thinkgem.jeesite.common.persistence.Page;
  25. import com.thinkgem.jeesite.common.utils.Encodes;
  26. import com.thinkgem.jeesite.common.utils.ObjectUtils;
  27. import com.thinkgem.jeesite.common.utils.StringUtils;
  28. import com.thinkgem.jeesite.common.web.BaseController;
  29. import com.thinkgem.jeesite.modules.sys.security.SystemAuthorizingRealm;
  30. import com.thinkgem.jeesite.modules.sys.utils.UserUtils;
  31. import org.apache.commons.collections.map.HashedMap;
  32. import org.apache.shiro.authz.annotation.RequiresPermissions;
  33. import org.springframework.beans.factory.annotation.Value;
  34. import org.springframework.stereotype.Controller;
  35. import org.springframework.ui.Model;
  36. import org.springframework.web.bind.annotation.ModelAttribute;
  37. import org.springframework.web.bind.annotation.RequestMapping;
  38. import org.springframework.web.bind.annotation.RequestParam;
  39. import org.springframework.web.bind.annotation.ResponseBody;
  40. import org.springframework.web.servlet.mvc.support.RedirectAttributes;
  41. import javax.annotation.Resource;
  42. import javax.servlet.http.HttpServletRequest;
  43. import javax.servlet.http.HttpServletResponse;
  44. import java.io.*;
  45. import java.net.URLEncoder;
  46. import java.text.ParseException;
  47. import java.text.SimpleDateFormat;
  48. import java.util.*;
  49. import java.util.List;
  50. /**
  51. * 用户模块重构--机构管理Controller
  52. *
  53. * @author zcp
  54. * @version 2018-05-21
  55. */
  56. @Controller
  57. @RequestMapping(value = "${adminPath}/new/user/agency")
  58. public class AgencyController extends BaseController {
  59. @Resource
  60. private NewCmClubService newCmClubService;
  61. @Resource
  62. private CmRemaksService cmRemaksService;
  63. @Resource
  64. private CmUserService cmUserService;
  65. @Resource
  66. private CmClubinfoService cmClubinfoService;
  67. @Resource
  68. private CmMessageService cmMessageService;
  69. @Resource
  70. private ClubChangeSpReviewService clubChangeSpReviewService;
  71. @Resource
  72. private CmBehaviorRecordService cmBehaviorRecordService;
  73. @Resource
  74. private CmSpService cmSpService;
  75. @Resource
  76. private CmOperationUserService cmOperationUserService;
  77. @Resource
  78. private SysLogService sysLogService;
  79. @Resource
  80. private MessageCenterDao messageCenterDao;
  81. @Resource
  82. private NewShopOrderDao newShopOrderDao;
  83. @Resource
  84. private WeChatService weChatService;
  85. @Resource
  86. private NewCmClubDao newCmClubDao;
  87. @Resource
  88. private ClubPortraitService portraitService;
  89. @Value("${wwwServer}")
  90. private String domain;
  91. @ModelAttribute
  92. public NewCmClub get(@RequestParam(required = false) String id) {
  93. NewCmClub entity = null;
  94. if (StringUtils.isNotBlank(id)) {
  95. entity = newCmClubService.get(id);
  96. }
  97. if (entity == null) {
  98. entity = new NewCmClub();
  99. }
  100. return entity;
  101. }
  102. /**
  103. * 列表展示
  104. *
  105. * @param newCmClub
  106. * @param request
  107. * @param response
  108. * @param model
  109. * @return
  110. */
  111. @RequestMapping(value = {"list", ""})
  112. @RequiresPermissions("user:newCmClub:view")
  113. public String list(NewCmClub newCmClub, HttpServletRequest request, HttpServletResponse response, Model model) {
  114. if (null != newCmClub.getSearchStartTime() && !"".equals(newCmClub.getSearchStartTime()) && !newCmClub.getSearchStartTime().endsWith("00:00:00")) {
  115. newCmClub.setStartTime(newCmClub.getSearchStartTime() + " 00:00:00");
  116. }
  117. if (null != newCmClub.getSearchEndTime() && !"".equals(newCmClub.getSearchEndTime()) && !newCmClub.getSearchEndTime().endsWith("23:59:59")) {
  118. newCmClub.setEndTime(newCmClub.getSearchEndTime() + " 23:59:59");
  119. }
  120. String searchName = newCmClub.getSearchName();
  121. String searchUserName = newCmClub.getSearchUserName();
  122. String searchBindMobile = newCmClub.getSearchBindMobile();
  123. String searchEmail = newCmClub.getSearchEmail();
  124. Integer searchUserOrganizeID = newCmClub.getSearchUserOrganizeID();
  125. Integer searchStatus = newCmClub.getSearchStatus();
  126. String searchUserIdentity = newCmClub.getSearchUserIdentity();
  127. if (StringUtils.isNotEmpty(searchName)) {
  128. newCmClub.setName(searchName);
  129. }
  130. if (StringUtils.isNotEmpty(searchUserName)) {
  131. newCmClub.setUserName(searchUserName);
  132. }
  133. if (StringUtils.isNotEmpty(searchBindMobile)) {
  134. newCmClub.setBindMobile(searchBindMobile);
  135. }
  136. if (StringUtils.isNotEmpty(searchEmail)) {
  137. newCmClub.setEmail(searchEmail);
  138. }
  139. if (null != searchUserOrganizeID) {
  140. newCmClub.setUserOrganizeID(searchUserOrganizeID);
  141. }
  142. if (null != searchStatus) {
  143. newCmClub.setStatus(searchStatus);
  144. }
  145. if (StringUtils.isNotEmpty(searchUserIdentity)) {
  146. newCmClub.setUserIdentity(searchUserIdentity);
  147. }
  148. Page<NewCmClub> page = newCmClubService.findPage(new Page<NewCmClub>(request, response, 20), newCmClub);
  149. // 协销下拉
  150. List<ServiceProviderModel> spNameList = newCmClubDao.spNameList();
  151. model.addAttribute("newCmClub", newCmClub);
  152. model.addAttribute("page", page);
  153. model.addAttribute("spNameList", spNameList);
  154. return "modules/userNew/cmAgencyList";
  155. }
  156. /**
  157. * 列表展示
  158. *
  159. * @param newCmClub
  160. * @param request
  161. * @param response
  162. * @param model
  163. * @return
  164. */
  165. @RequestMapping(value = {"distributionCLubList"})
  166. public String distributionCLubList(NewCmClub newCmClub, HttpServletRequest request, HttpServletResponse response, Model model) {
  167. newCmClub.setUserIdentity("8");
  168. if (null != newCmClub.getSearchStartTime() && !"".equals(newCmClub.getSearchStartTime()) && !newCmClub.getSearchStartTime().endsWith("00:00:00")) {
  169. newCmClub.setStartTime(newCmClub.getSearchStartTime() + " 00:00:00");
  170. }
  171. if (null != newCmClub.getSearchEndTime() && !"".equals(newCmClub.getSearchEndTime()) && !newCmClub.getSearchEndTime().endsWith("23:59:59")) {
  172. newCmClub.setEndTime(newCmClub.getSearchEndTime() + " 23:59:59");
  173. }
  174. Page<NewCmClub> page = newCmClubService.findDistributionCLubList(new Page<NewCmClub>(request, response, 20), newCmClub);
  175. model.addAttribute("newCmClub", newCmClub);
  176. model.addAttribute("page", page);
  177. return "modules/user/cmDistributionClubList";
  178. }
  179. /**
  180. * 列表展示
  181. *
  182. * @param newCmClub
  183. * @param request
  184. * @param response
  185. * @param model
  186. * @return
  187. */
  188. @RequestMapping(value = {"distributionCLubFrom"})
  189. public String distributionCLubFrom(NewCmClub newCmClub, HttpServletRequest request, HttpServletResponse response, Model model) {
  190. newCmClub = newCmClubService.get(String.valueOf(newCmClub.getClubID()));
  191. model.addAttribute("newCmClub", newCmClub);
  192. return "modules/user/cmDistributionClubFrom";
  193. }
  194. /**
  195. * 功能描述:新分配机构跟踪管理
  196. *
  197. * @param newCmClub
  198. * @param request
  199. * @param response
  200. * @param model
  201. * @return [newCmSp, request, response, model]
  202. * @auther: Kaick
  203. * @date: 2023/8/25 14:50
  204. */
  205. @RequestMapping(value = {"cmSpClubTrackList"})
  206. public String cmSpClubTrackList(NewCmClub newCmClub, HttpServletRequest request, HttpServletResponse response, Model model) {
  207. if (null==newCmClub.getProviderTime()) {
  208. Date date = new Date();
  209. date.setTime(date.getTime() - 24 * 60 * 60 * 1000);
  210. newCmClub.setProviderTime(date);
  211. }
  212. newCmClub.setNewDeal(1);
  213. Page<NewCmClub> page = newCmClubService.findProviderList(new Page<NewCmClub>(request, response, 20), newCmClub);
  214. // 协销下拉
  215. List<ServiceProviderModel> spNameList = newCmClubDao.spNameList();
  216. model.addAttribute("spNameList", spNameList);
  217. model.addAttribute("page", page);
  218. return "modules/userNew/cmSpClubTrackList";
  219. }
  220. /**
  221. * 查看运营人员
  222. *
  223. * @param cmOperationUser
  224. * @param request
  225. * @param response
  226. * @param model
  227. * @return
  228. */
  229. @RequestMapping(value = {"operation"})
  230. @RequiresPermissions("user:newCmClub:view")
  231. public String list(CmOperationUser cmOperationUser, HttpServletRequest request, HttpServletResponse response, Model model) {
  232. Page<CmOperationUser> page = cmOperationUserService.findPage(new Page<CmOperationUser>(request, response), cmOperationUser);
  233. if (null != page) {
  234. List<CmOperationUser> list = page.getList();
  235. for (CmOperationUser user : list) {//判断邀请码是否有效
  236. String status = user.getStatus();//1未绑定,2已绑定
  237. if (StringUtils.equals("2", status)) {
  238. user.setEffectiveFlag("2");//邀请码是否有效 1有效,2已使用,3已失效
  239. } else {
  240. Date invitationCodeTime = user.getInvitationCodeTime();
  241. if (null != invitationCodeTime) {
  242. Calendar calendar = new GregorianCalendar();
  243. calendar.setTime(invitationCodeTime);
  244. calendar.add(Calendar.DATE, 7);// num为增加的天数,可以改变的
  245. invitationCodeTime = calendar.getTime();
  246. boolean before = invitationCodeTime.before(new Date());
  247. if (before) {//如果验证码时间加上168小时小于当前时间则已过期
  248. user.setEffectiveFlag("3");
  249. } else {
  250. user.setEffectiveFlag("1");
  251. }
  252. }
  253. }
  254. }
  255. }
  256. model.addAttribute("cmOperationUser", cmOperationUser);//把用户ID等参数带入
  257. model.addAttribute("page", page);
  258. return "modules/userNew/cmAgencyOperation";
  259. }
  260. /**
  261. * * 机构上线
  262. *
  263. * @param newCmClub
  264. * @param model
  265. * @param redirectAttributes
  266. * @return
  267. */
  268. @RequestMapping(value = "online")
  269. @RequiresPermissions("user:newCmClub:edit")
  270. public String onLine(NewCmClub newCmClub, Model model, RedirectAttributes redirectAttributes) {
  271. OperationalLogs sysLog = new OperationalLogs();
  272. sysLog.setOperationtime(new Date());
  273. sysLog.setContact(newCmClub.getLinkMan());
  274. sysLog.setInstitutionName(newCmClub.getName());
  275. SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal();
  276. System.out.println("操作员" + principal.getName());
  277. String username = principal.getName();
  278. sysLog.setOperator(username);
  279. sysLog.setOperationtype("更改状态");
  280. sysLog.setActioncontent("设置为已上线");
  281. //调用service保存SysLog实体类到数据库
  282. if (!"".equals(sysLog.getActioncontent())) {
  283. if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) {
  284. int i = sysLogService.insert(sysLog);
  285. }
  286. }
  287. Integer companyUserID = newCmClub.getUserID();
  288. CmUser cmUser = cmUserService.get(companyUserID + "");
  289. if (null != cmUser) {
  290. cmUser.setValidFlag(AppKeys.FLAG_YES);//解除冻结
  291. cmUserService.update(cmUser);
  292. } else {
  293. addMessage(redirectAttributes, "上线失败,用户信息异常");
  294. return "redirect:" + Global.getAdminPath() + "/new/user/agency/?repage";
  295. }
  296. newCmClub.setStatus(ClubStatus.ONLINE.getCode());
  297. newCmClubService.update(newCmClub);
  298. addMessage(redirectAttributes, "机构上线成功");
  299. redirectAttributes.addAttribute("searchName", newCmClub.getSearchName());
  300. redirectAttributes.addAttribute("searchUserName", newCmClub.getSearchUserName());
  301. redirectAttributes.addAttribute("searchBindMobile", newCmClub.getSearchBindMobile());
  302. redirectAttributes.addAttribute("searchEmail", newCmClub.getSearchEmail());
  303. redirectAttributes.addAttribute("searchUserOrganizeID", newCmClub.getSearchUserOrganizeID());
  304. redirectAttributes.addAttribute("searchStatus", newCmClub.getSearchStatus());
  305. redirectAttributes.addAttribute("searchUserIdentity", newCmClub.getSearchUserIdentity());
  306. redirectAttributes.addAttribute("searchStartTime", newCmClub.getSearchStartTime());
  307. redirectAttributes.addAttribute("searchEndTime", newCmClub.getSearchEndTime());
  308. return "redirect:" + Global.getAdminPath() + "/new/user/agency/?repage";
  309. }
  310. /**
  311. * 机构下线 冻结
  312. *
  313. * @param newCmClub
  314. * @param model
  315. * @param redirectAttributes
  316. * @return
  317. */
  318. @RequestMapping(value = "offline")
  319. @RequiresPermissions("user:newCmClub:edit")
  320. public String offLine(NewCmClub newCmClub, RedirectAttributes redirectAttributes) {
  321. Integer companyUserID = newCmClub.getUserID();
  322. CmUser cmUser = cmUserService.get(companyUserID + "");
  323. if (null != cmUser) {
  324. //冻结
  325. cmUser.setValidFlag(AppKeys.FLAG_NO);
  326. OperationalLogs sysLog = new OperationalLogs();
  327. sysLog.setOperationtime(new Date());
  328. sysLog.setContact(newCmClub.getLinkMan());
  329. sysLog.setInstitutionName(newCmClub.getName());
  330. SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal();
  331. System.out.println("操作员" + principal.getName());
  332. String username = principal.getName();
  333. sysLog.setOperator(username);
  334. sysLog.setOperationtype("更改状态");
  335. sysLog.setActioncontent("设置为已下线");
  336. //调用service保存SysLog实体类到数据库
  337. if (!"".equals(sysLog.getActioncontent())) {
  338. if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) {
  339. sysLogService.insert(sysLog);
  340. }
  341. }
  342. cmUserService.update(cmUser);
  343. } else {
  344. addMessage(redirectAttributes, "下线失败,用户信息异常");
  345. return "redirect:" + Global.getAdminPath() + "/new/user/agency/?repage";
  346. }
  347. newCmClub.setStatus(ClubStatus.FREEZE.getCode());
  348. newCmClubService.update(newCmClub);
  349. addMessage(redirectAttributes, "机构下线成功");
  350. redirectAttributes.addAttribute("searchName", newCmClub.getSearchName());
  351. redirectAttributes.addAttribute("searchUserName", newCmClub.getSearchUserName());
  352. redirectAttributes.addAttribute("searchBindMobile", newCmClub.getSearchBindMobile());
  353. redirectAttributes.addAttribute("searchEmail", newCmClub.getSearchEmail());
  354. redirectAttributes.addAttribute("searchUserOrganizeID", newCmClub.getSearchUserOrganizeID());
  355. redirectAttributes.addAttribute("searchStatus", newCmClub.getSearchStatus());
  356. redirectAttributes.addAttribute("searchUserIdentity", newCmClub.getSearchUserIdentity());
  357. redirectAttributes.addAttribute("searchStartTime", newCmClub.getSearchStartTime());
  358. redirectAttributes.addAttribute("searchEndTime", newCmClub.getSearchEndTime());
  359. return "redirect:" + Global.getAdminPath() + "/new/user/agency/?repage";
  360. }
  361. /**
  362. * 查看机构
  363. *
  364. * @param newCmClub
  365. * @param model
  366. * @param source 1,查看 2,审核
  367. * @return
  368. */
  369. @RequestMapping(value = "form")
  370. @RequiresPermissions("user:newCmClub:edit")
  371. public String form(NewCmClub newCmClub, Integer source, Model model) {
  372. model.addAttribute("source", source);
  373. model.addAttribute("newCmClub", newCmClub);
  374. CmClubinfo cmClubinfo = new CmClubinfo();
  375. cmClubinfo.setClubID(Integer.parseInt(newCmClub.getId()));
  376. List<CmClubinfo> cmClubinfos = cmClubinfoService.findList(cmClubinfo);
  377. if (null != cmClubinfos && cmClubinfos.size() > 0) {
  378. cmClubinfo = cmClubinfos.get(0);
  379. }
  380. cmClubinfo.setClubID(Integer.parseInt(newCmClub.getId()));
  381. cmClubinfo.setUserID(newCmClub.getUserID());
  382. cmClubinfo.setContractPhone(newCmClub.getContractPhone());
  383. cmClubinfo.setFax(newCmClub.getFax());
  384. cmClubinfo.setInfo(newCmClub.getInfo());
  385. cmClubinfo.setBusinessLicenseImage(newCmClub.getBusinessLicenseImage());
  386. cmClubinfo.setHeadpic(newCmClub.getHeadpic());
  387. cmClubinfo.setSocialCreditCode(newCmClub.getSocialCreditCode());
  388. cmClubinfo.setProvinceID(newCmClub.getProvinceID());
  389. cmClubinfo.setCityID(newCmClub.getCityID());
  390. cmClubinfo.setTownID(newCmClub.getTownID());
  391. cmClubinfo.setAddress(newCmClub.getAddress());
  392. cmClubinfo.setFirstClubType(newCmClub.getFirstClubType());
  393. cmClubinfo.setSecondClubType(newCmClub.getSecondClubType());
  394. cmClubinfo.setDepartment(newCmClub.getDepartment());
  395. cmClubinfo.setMainpro(newCmClub.getMainpro());
  396. cmClubinfo.setMedicalPracticeLicenseImg(newCmClub.getMedicalPracticeLicenseImg());
  397. cmClubinfo.setContractEmail(newCmClub.getContractEmail());
  398. cmClubinfo.setLinkManIdentity(newCmClub.getLinkManIdentity());
  399. model.addAttribute("cmClubinfo", cmClubinfo);
  400. model.addAttribute("newCmClub", newCmClub);
  401. String wwwServer = Global.getConfig("wwwServer");
  402. //营业执照
  403. newCmClub.setBusinessLicenseImage(AppUtils.getImageURL("clubBusinessLicenseImage", newCmClub.getBusinessLicenseImage(), 0, wwwServer));
  404. //门头照
  405. newCmClub.setHeadpic(AppUtils.getImageURL("club", newCmClub.getHeadpic(), AppKeys.CLUB_LOGO_SIZE, wwwServer));
  406. return "modules/userNew/cmAgencyForm";
  407. }
  408. /**
  409. * 保存机构
  410. *
  411. * @param newCmClub
  412. * @param cmClubinfo
  413. * @param model
  414. * @param redirectAttributes
  415. * @return
  416. */
  417. @RequestMapping(value = "save")
  418. @RequiresPermissions("user:newCmClub:edit")
  419. public String save(NewCmClub newCmClub, CmClubinfo cmClubinfo, Model model, RedirectAttributes redirectAttributes) {
  420. ArrayList<String> list = new ArrayList();
  421. OperationalLogs sysLog = new OperationalLogs();
  422. NewCmClub newCmClubs = sysLogService.newCmClub(newCmClub.getClubID());
  423. System.out.println("id>>>>>>>>>>" + newCmClub.getClubID() + "<<<<<" + cmClubinfo.getUserID());
  424. CmClubinfo cmClubinfos = sysLogService.cmclubinfo(cmClubinfo.getClubInfoID());
  425. int type = 0;
  426. logger.info("newCmClub页面数据" + newCmClub);
  427. logger.info("newCmClub数据库数据" + newCmClubs);
  428. logger.info("cmClubinfo页面数据" + cmClubinfo);
  429. logger.info("cmClubinfo数据库数据" + cmClubinfos);
  430. //编辑时添加操作日志
  431. if (newCmClubs != null) {
  432. if (cmClubinfos != null) {
  433. if (StringUtils.isBlank(cmClubinfos.getHighestAchievement()) || null == cmClubinfos.getReachPepole() || null == cmClubinfos.getClinchPepole()) {
  434. if (!"".equals(cmClubinfo.getHighestAchievement()) || cmClubinfo.getReachPepole() != null || cmClubinfo.getClinchPepole() != null) {
  435. list.add("新增了活动业绩信息");
  436. type = 1;
  437. }
  438. } else {
  439. if (StringUtils.isNotBlank(cmClubinfo.getHighestAchievement())) {
  440. if (!cmClubinfo.getHighestAchievement().equals(cmClubinfos.getHighestAchievement())) {
  441. list.add("修改了活动业绩的最高业绩信息");
  442. type = 1;
  443. }
  444. } else {
  445. list.add("删除了活动业绩的最高业绩信息");
  446. type = 1;
  447. }
  448. if (cmClubinfo.getReachPepole() != null) {
  449. if (!cmClubinfo.getReachPepole().equals(cmClubinfos.getReachPepole())) {
  450. list.add("修改了活动业绩的到店人数信息");
  451. type = 1;
  452. }
  453. } else {
  454. list.add("删除了活动业绩的到店人数信息");
  455. type = 1;
  456. }
  457. if (cmClubinfo.getClinchPepole() != null) {
  458. if (!cmClubinfo.getClinchPepole().equals(cmClubinfos.getClinchPepole())) {
  459. list.add("修改了活动业绩的成交人数信息");
  460. type = 1;
  461. }
  462. } else {
  463. list.add("删除了活动业绩的成交人数信息");
  464. type = 1;
  465. }
  466. }
  467. if (cmClubinfos.getConsumeA() == null || cmClubinfos.getConsumeB() == null || cmClubinfos.getConsumeC() == null) {
  468. if (cmClubinfo.getConsumeA() != null || cmClubinfo.getConsumeB() != null || cmClubinfo.getConsumeC() != null) {
  469. list.add("新增了会员消费金额信息");
  470. type = 1;
  471. }
  472. } else {
  473. if (cmClubinfo.getConsumeA() != null) {
  474. if (!cmClubinfo.getConsumeA().equals(cmClubinfos.getConsumeA())) {
  475. list.add("修改了A类会员消费金额");
  476. type = 1;
  477. }
  478. } else {
  479. list.add("删除了A类会员消费金额");
  480. type = 1;
  481. }
  482. if (cmClubinfo.getConsumeB() != null) {
  483. if (!cmClubinfo.getConsumeB().equals(cmClubinfos.getConsumeB())) {
  484. list.add("修改了B类会员消费金额");
  485. type = 1;
  486. }
  487. } else {
  488. list.add("删除了B类会员消费金额");
  489. type = 1;
  490. }
  491. if (cmClubinfo.getConsumeC() != null) {
  492. if (!cmClubinfo.getConsumeC().equals(cmClubinfos.getConsumeC())) {
  493. list.add("修改了C类会员消费金额");
  494. type = 1;
  495. }
  496. } else {
  497. list.add("删除了C类会员消费金额");
  498. type = 1;
  499. }
  500. }
  501. if (cmClubinfos.getCateA() == null || cmClubinfos.getCateB() == null || cmClubinfos.getCateC() == null) {
  502. if (null != cmClubinfo.getCateA() || null != cmClubinfo.getCateB() || null != cmClubinfo.getCateC()) {
  503. list.add("新增了会员信息");
  504. type = 1;
  505. }
  506. } else {
  507. if (cmClubinfo.getCateA() != null) {
  508. if (!cmClubinfo.getCateA().equals(cmClubinfos.getCateA())) {
  509. list.add("修改了A会员信息");
  510. type = 1;
  511. }
  512. } else {
  513. list.add("删除了A会员信息");
  514. type = 1;
  515. }
  516. if (cmClubinfo.getCateB() != null) {
  517. if (!cmClubinfo.getCateB().equals(cmClubinfos.getCateB())) {
  518. list.add("修改了B会员信息");
  519. type = 1;
  520. }
  521. } else {
  522. list.add("删除了B会员信息");
  523. type = 1;
  524. }
  525. if (cmClubinfo.getCateC() != null) {
  526. if (!cmClubinfo.getCateC().equals(cmClubinfos.getCateC())) {
  527. list.add("修改了C会员信息");
  528. type = 1;
  529. }
  530. } else {
  531. list.add("删除了C会员信息");
  532. type = 1;
  533. }
  534. }
  535. if ("".equals(cmClubinfos.getMonthAchievement()) || "".equals(cmClubinfos.getPromotionAchievement()) || "".equals(cmClubinfos.getYearAchievement())) {
  536. if (StringUtils.isNotBlank(cmClubinfo.getMonthAchievement()) || StringUtils.isNotBlank(cmClubinfo.getPromotionAchievement()) || StringUtils.isNotBlank(cmClubinfo.getYearAchievement())) {
  537. list.add("新增了业绩信息");
  538. type = 1;
  539. }
  540. } else {
  541. if (cmClubinfo.getMonthAchievement() != null) {
  542. if (!cmClubinfo.getMonthAchievement().equals(cmClubinfos.getMonthAchievement())) {
  543. list.add("修改了月业绩信息");
  544. type = 1;
  545. }
  546. } else {
  547. list.add("删除了月业绩信息");
  548. type = 1;
  549. }
  550. if (cmClubinfo.getPromotionAchievement() != null) {
  551. if (!cmClubinfo.getPromotionAchievement().equals(cmClubinfos.getPromotionAchievement())) {
  552. list.add("修改了促销业绩信息");
  553. type = 1;
  554. }
  555. } else {
  556. list.add("删除了促销业绩信息");
  557. type = 1;
  558. }
  559. if (cmClubinfo.getYearAchievement() != null) {
  560. if (!cmClubinfo.getYearAchievement().equals(cmClubinfos.getYearAchievement())) {
  561. list.add("修改了年业绩信息");
  562. type = 1;
  563. }
  564. } else {
  565. list.add("删除了年业绩信息");
  566. type = 1;
  567. }
  568. }
  569. if (cmClubinfos.getArea() == null || cmClubinfos.getBedNums() == null || cmClubinfos.getBeauticians() == null) {
  570. if (null != cmClubinfo.getArea() || null != cmClubinfo.getBedNums() || null != cmClubinfo.getBeauticians()) {
  571. list.add("更新了基本信息");
  572. type = 1;
  573. }
  574. } else {
  575. if (cmClubinfo.getArea() != null) {
  576. if (!cmClubinfo.getArea().equals(cmClubinfos.getArea())) {
  577. list.add("修改了机构面积");
  578. type = 1;
  579. }
  580. } else {
  581. list.add("删除了机构面积");
  582. type = 1;
  583. }
  584. if (cmClubinfo.getBedNums() != null) {
  585. if (!cmClubinfo.getBedNums().equals(cmClubinfos.getBedNums())) {
  586. list.add("修改了美容床数");
  587. type = 1;
  588. }
  589. } else {
  590. list.add("删除了美容床数");
  591. type = 1;
  592. }
  593. if (cmClubinfo.getBeauticians() != null) {
  594. if (!cmClubinfo.getBeauticians().equals(cmClubinfos.getBeauticians())) {
  595. list.add("修改了美容师数");
  596. type = 1;
  597. }
  598. } else {
  599. list.add("删除了美容师数");
  600. type = 1;
  601. }
  602. }
  603. if (cmClubinfos.getEmpnum() != null) {
  604. if (cmClubinfo.getEmpnum() != null) {
  605. if (!cmClubinfo.getEmpnum().equals(cmClubinfos.getEmpnum())) {
  606. list.add("修改了公司人数");
  607. type = 1;
  608. }
  609. } else {
  610. list.add("删除了公司人数");
  611. type = 1;
  612. }
  613. } else {
  614. if (cmClubinfo.getEmpnum() != null) {
  615. list.add("新增了公司人数");
  616. type = 1;
  617. }
  618. }
  619. } else {
  620. if (StringUtils.isNotBlank(cmClubinfo.getHighestAchievement()) || cmClubinfo.getReachPepole() != null || cmClubinfo.getClinchPepole() != null) {
  621. list.add("新增了活动业绩信息");
  622. type = 1;
  623. }
  624. if (cmClubinfo.getConsumeA() != null || cmClubinfo.getConsumeB() != null || cmClubinfo.getConsumeC() != null) {
  625. list.add("新增了会员消费金额信息");
  626. type = 1;
  627. }
  628. if (null != cmClubinfo.getCateA() || null != cmClubinfo.getCateB() || null != cmClubinfo.getCateC()) {
  629. list.add("新增了会员信息");
  630. type = 1;
  631. }
  632. if (StringUtils.isNotBlank(cmClubinfo.getMonthAchievement()) || StringUtils.isNotBlank(cmClubinfo.getPromotionAchievement()) || StringUtils.isNotBlank(cmClubinfo.getYearAchievement())) {
  633. list.add("新增了业绩信息");
  634. type = 1;
  635. }
  636. if (null != cmClubinfo.getArea() || null != cmClubinfo.getBedNums() || null != cmClubinfo.getBeauticians()) {
  637. list.add("更新了基本信息");
  638. type = 1;
  639. }
  640. if (cmClubinfo.getEmpnum() != null) {
  641. list.add("新增了公司人数");
  642. type = 1;
  643. }
  644. }
  645. if (StringUtils.isNotBlank(newCmClubs.getInfo())) {
  646. if (StringUtils.isNotBlank(cmClubinfo.getInfo())) {
  647. if (!cmClubinfo.getInfo().equals(newCmClubs.getInfo())) {
  648. list.add("修改了公司简介");
  649. type = 1;
  650. }
  651. } else {
  652. list.add("删除了公司简介");
  653. type = 1;
  654. }
  655. } else {
  656. if (StringUtils.isNotBlank(cmClubinfo.getInfo())) {
  657. list.add("新增了公司简介");
  658. type = 1;
  659. }
  660. }
  661. if (StringUtils.isNotBlank(newCmClubs.getFax())) {
  662. if (StringUtils.isNotBlank(cmClubinfo.getFax())) {
  663. if (!cmClubinfo.getFax().equals(newCmClubs.getFax())) {
  664. list.add("修改了传真");
  665. type = 1;
  666. }
  667. } else {
  668. list.add("删除了传真");
  669. type = 1;
  670. }
  671. } else {
  672. if (StringUtils.isNotBlank(cmClubinfo.getFax())) {
  673. list.add("新增了传真");
  674. type = 1;
  675. }
  676. }
  677. if (StringUtils.isNotBlank(newCmClubs.getContractPhone())) {
  678. if (StringUtils.isNotBlank(cmClubinfo.getContractPhone())) {
  679. if (!cmClubinfo.getContractPhone().equals(newCmClubs.getContractPhone())) {
  680. list.add("修改了固定电话");
  681. type = 1;
  682. }
  683. } else {
  684. list.add("删除了固定电话");
  685. type = 1;
  686. }
  687. } else {
  688. if (StringUtils.isNotBlank(cmClubinfo.getContractPhone())) {
  689. list.add("新增了固定电话");
  690. type = 1;
  691. }
  692. }
  693. if (StringUtils.isNotBlank(newCmClubs.getAddress())) {
  694. if (StringUtils.isNotBlank(cmClubinfo.getAddress())) {
  695. if (!cmClubinfo.getAddress().equals(newCmClubs.getAddress())) {
  696. list.add("修改了详细地址");
  697. type = 1;
  698. }
  699. } else {
  700. list.add("删除了详细地址");
  701. type = 1;
  702. }
  703. } else {
  704. if (!"".equals(cmClubinfo.getAddress())) {
  705. list.add("新增了详细地址");
  706. type = 1;
  707. }
  708. }
  709. if (newCmClubs.getLinkManIdentity() != null) {
  710. if (cmClubinfo.getLinkManIdentity() != null) {
  711. if (!cmClubinfo.getLinkManIdentity().equals(newCmClubs.getLinkManIdentity())) {
  712. list.add("修改了联系人身份");
  713. type = 1;
  714. }
  715. } else {
  716. list.add("删除了联系人身份");
  717. type = 1;
  718. }
  719. } else {
  720. if (cmClubinfo.getLinkManIdentity() != null) {
  721. list.add("新增了联系人身份");
  722. type = 1;
  723. }
  724. }
  725. if (StringUtils.isNotBlank(newCmClubs.getLinkMan())) {
  726. if (StringUtils.isNotBlank(cmClubinfo.getUserName())) {
  727. if (!cmClubinfo.getUserName().equals(newCmClubs.getLinkMan())) {
  728. list.add("修改了联系人");
  729. type = 1;
  730. }
  731. } else {
  732. list.add("删除了联系人");
  733. type = 1;
  734. }
  735. } else {
  736. if (StringUtils.isNotBlank(cmClubinfo.getUserName())) {
  737. list.add("新增了联系人");
  738. type = 1;
  739. }
  740. }
  741. if (StringUtils.isNotBlank(newCmClubs.getMainpro())) {
  742. if (StringUtils.isNotBlank(cmClubinfo.getMainpro())) {
  743. if (!cmClubinfo.getMainpro().equals(newCmClubs.getMainpro())) {
  744. list.add("修改了主营内容");
  745. type = 1;
  746. }
  747. } else {
  748. list.add("删除了主营内容");
  749. type = 1;
  750. }
  751. } else {
  752. if (StringUtils.isNotBlank(cmClubinfo.getMainpro())) {
  753. list.add("新增了主营内容");
  754. type = 1;
  755. }
  756. }
  757. if (StringUtils.isNotBlank(newCmClubs.getFirstClubType())) {
  758. if (StringUtils.isNotBlank(cmClubinfo.getFirstClubType())) {
  759. if (!cmClubinfo.getFirstClubType().equals(newCmClubs.getFirstClubType())) {
  760. list.add("修改了机构类型");
  761. type = 1;
  762. }
  763. } else {
  764. list.add("删除了机构类型");
  765. type = 1;
  766. }
  767. } else {
  768. if (StringUtils.isNotBlank(cmClubinfo.getFirstClubType())) {
  769. list.add("新增了机构类型");
  770. type = 1;
  771. }
  772. }
  773. if (StringUtils.isNotBlank(newCmClubs.getBusinessLicenseImage())) {
  774. if (StringUtils.isNotBlank(cmClubinfo.getBusinessLicenseImage())) {
  775. if (!cmClubinfo.getBusinessLicenseImage().equals(newCmClubs.getBusinessLicenseImage())) {
  776. list.add("修改了营业执照");
  777. type = 1;
  778. }
  779. } else {
  780. list.add("删除了营业执照");
  781. type = 1;
  782. }
  783. } else {
  784. if (StringUtils.isNotBlank(cmClubinfo.getBusinessLicenseImage())) {
  785. list.add("新增了营业执照");
  786. type = 1;
  787. }
  788. }
  789. if (StringUtils.isNotBlank(newCmClubs.getHeadpic())) {
  790. if (StringUtils.isNotBlank(cmClubinfo.getHeadpic())) {
  791. if (!cmClubinfo.getHeadpic().equals(newCmClubs.getHeadpic())) {
  792. list.add("修改了门头照");
  793. type = 1;
  794. }
  795. } else {
  796. list.add("删除了门头照");
  797. type = 1;
  798. }
  799. } else {
  800. if (StringUtils.isNotBlank(cmClubinfo.getHeadpic())) {
  801. list.add("新增了门头照");
  802. type = 1;
  803. }
  804. }
  805. if (StringUtils.isNotBlank(newCmClubs.getSocialCreditCode())) {
  806. if (StringUtils.isNotBlank(cmClubinfo.getSocialCreditCode())) {
  807. if (!cmClubinfo.getSocialCreditCode().equals(newCmClubs.getSocialCreditCode())) {
  808. list.add("修改了营业执照编号");
  809. type = 1;
  810. }
  811. } else {
  812. list.add("删除了营业执照编号");
  813. type = 1;
  814. }
  815. } else {
  816. if (StringUtils.isNotBlank(cmClubinfo.getSocialCreditCode())) {
  817. list.add("新增了营业执照编号");
  818. type = 1;
  819. }
  820. }
  821. if (StringUtils.isNotBlank(newCmClubs.getSname())) {
  822. if (StringUtils.isNotBlank(cmClubinfo.getSname())) {
  823. if (!cmClubinfo.getSname().equals(newCmClubs.getSname())) {
  824. list.add("修改了机构简称");
  825. type = 1;
  826. }
  827. } else {
  828. list.add("删除了机构简称");
  829. type = 1;
  830. }
  831. } else {
  832. if (StringUtils.isNotBlank(cmClubinfo.getSname())) {
  833. list.add("新增了机构简称");
  834. type = 1;
  835. }
  836. }
  837. if (StringUtils.isNotBlank(newCmClubs.getName())) {
  838. if (StringUtils.isNotBlank(cmClubinfo.getName())) {
  839. if (!cmClubinfo.getName().equals(newCmClubs.getName())) {
  840. list.add("修改了机构名称");
  841. type = 1;
  842. }
  843. } else {
  844. list.add("删除了机构名称");
  845. type = 1;
  846. }
  847. } else {
  848. if (StringUtils.isNotBlank(cmClubinfo.getName())) {
  849. list.add("新增了机构名称");
  850. type = 1;
  851. }
  852. }
  853. if (StringUtils.isNotBlank(newCmClubs.getContractMobile())) {
  854. if (StringUtils.isNotBlank(cmClubinfo.getBindMobile())) {
  855. if (!cmClubinfo.getBindMobile().equals(newCmClubs.getContractMobile())) {
  856. list.add("修改了手机号");
  857. type = 1;
  858. }
  859. } else {
  860. list.add("删除了手机号");
  861. type = 1;
  862. }
  863. } else {
  864. if (StringUtils.isNotBlank(cmClubinfo.getBindMobile())) {
  865. list.add("新增了手机号");
  866. type = 1;
  867. }
  868. }
  869. if (StringUtils.isNotBlank(newCmClub.getContractEmail())) {
  870. if (StringUtils.isNotBlank(newCmClub.getContractEmail())) {
  871. if (!newCmClub.getContractEmail().equals(newCmClubs.getContractEmail())) {
  872. list.add("修改了邮箱");
  873. type = 1;
  874. }
  875. } else {
  876. list.add("删除了邮箱");
  877. type = 1;
  878. }
  879. } else {
  880. if (StringUtils.isNotBlank(newCmClub.getContractEmail())) {
  881. list.add("新增了注册邮箱");
  882. type = 1;
  883. }
  884. }
  885. } else {
  886. list.add("新机构添加了信息");
  887. }
  888. sysLog.setActioncontent(StringUtils.strip(list.toString(), "[]"));
  889. //获取操作时间
  890. sysLog.setOperationtime(new Date());
  891. //获取操作员
  892. SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal();
  893. System.out.println("操作员" + principal.getName());
  894. String username = principal.getName();
  895. sysLog.setOperator(username);
  896. sysLog.setContact(newCmClub.getLinkMan());
  897. sysLog.setInstitutionName(newCmClub.getName());
  898. sysLog.setOperationtype("编辑");
  899. if (!"".equals(sysLog.getActioncontent())) {
  900. if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) {
  901. int i = sysLogService.insert(sysLog);
  902. list.removeAll(list);
  903. }
  904. }
  905. String name = cmClubinfo.getName();
  906. String userName = cmClubinfo.getUserName();
  907. String bindMobile = cmClubinfo.getBindMobile();
  908. cmClubinfo.setClubID(Integer.parseInt(newCmClub.getId()));
  909. cmClubinfo.setUserID(newCmClub.getUserID());
  910. if (!beanValidator(model, cmClubinfo)) {
  911. return form(newCmClub, 1, model);
  912. }
  913. if ("".equals(cmClubinfo.getBedNums())) {
  914. cmClubinfo.setBedNums(null);
  915. }
  916. if (null == cmClubinfo.getClubInfoID()) {
  917. //新增
  918. cmClubinfo.setIsNewRecord(true);
  919. }
  920. //修改图片全路径
  921. ImageUploadInfo saveImageSerivce = new ImageUploadInfo();
  922. String photoServer = Global.getConfig("photoServer");
  923. String businessLicenseImage = cmClubinfo.getBusinessLicenseImage();
  924. String headpic = cmClubinfo.getHeadpic();
  925. String medicalPracticeLicenseImg = cmClubinfo.getMedicalPracticeLicenseImg();
  926. if (StringUtils.isNotBlank(businessLicenseImage) && !businessLicenseImage.startsWith("http:") && !businessLicenseImage.startsWith("https:")) {
  927. businessLicenseImage = Encodes.urlDecode(businessLicenseImage);
  928. String realPath = UploadImageUtils.getAbsolutePath(businessLicenseImage);
  929. int pointerIndex = realPath.lastIndexOf(".");
  930. try {
  931. saveImageSerivce = UploadUtils.saveImageSerivce(realPath, pointerIndex, realPath);
  932. newCmClub.setBusinessLicenseImage(photoServer + saveImageSerivce.getSource());
  933. } catch (Exception e) {
  934. logger.error("图片上传错误:" + e.toString(), e);
  935. }
  936. }
  937. if (StringUtils.isNotBlank(headpic) && !headpic.startsWith("http:") && !headpic.startsWith("https:")) {
  938. headpic = Encodes.urlDecode(headpic);
  939. String realPath = UploadImageUtils.getAbsolutePath(headpic);
  940. int pointerIndex = realPath.lastIndexOf(".");
  941. try {
  942. saveImageSerivce = UploadUtils.saveImageSerivce(realPath, pointerIndex, realPath);
  943. newCmClub.setHeadpic(photoServer + saveImageSerivce.getSource());
  944. } catch (Exception e) {
  945. logger.error("图片上传错误:" + e.toString(), e);
  946. }
  947. }
  948. if (StringUtils.isNotBlank(medicalPracticeLicenseImg) && !medicalPracticeLicenseImg.startsWith("http:") && !medicalPracticeLicenseImg.startsWith("https:")) {
  949. medicalPracticeLicenseImg = Encodes.urlDecode(medicalPracticeLicenseImg);
  950. String realPath = UploadImageUtils.getAbsolutePath(medicalPracticeLicenseImg);
  951. int pointerIndex = realPath.lastIndexOf(".");
  952. try {
  953. saveImageSerivce = UploadUtils.saveImageSerivce(realPath, pointerIndex, realPath);
  954. newCmClub.setMedicalPracticeLicenseImg(photoServer + saveImageSerivce.getSource());
  955. } catch (Exception e) {
  956. logger.error("图片上传错误:" + e.toString(), e);
  957. }
  958. }
  959. //添加机构表信息
  960. newCmClub.setSocialCreditCode(cmClubinfo.getSocialCreditCode());
  961. newCmClub.setProvinceID(cmClubinfo.getProvinceID());
  962. newCmClub.setCityID(cmClubinfo.getCityID());
  963. newCmClub.setTownID(cmClubinfo.getTownID());
  964. newCmClub.setAddress(cmClubinfo.getAddress());
  965. newCmClub.setContractPhone(cmClubinfo.getContractPhone());
  966. newCmClub.setFax(cmClubinfo.getFax());
  967. newCmClub.setInfo(cmClubinfo.getInfo());
  968. newCmClub.setFirstClubType(cmClubinfo.getFirstClubType());
  969. newCmClub.setSecondClubType(cmClubinfo.getSecondClubType());
  970. newCmClub.setDepartment(cmClubinfo.getDepartment());
  971. newCmClub.setMainpro(cmClubinfo.getMainpro());
  972. newCmClub.setContractEmail(cmClubinfo.getContractEmail());
  973. newCmClub.setContractMobile(bindMobile);
  974. newCmClub.setLinkMan(userName);
  975. newCmClub.setLinkManIdentity(cmClubinfo.getLinkManIdentity());
  976. newCmClub.setName(name);
  977. newCmClub.setSname(cmClubinfo.getSname());
  978. if (type == 1) {
  979. newCmClub.setLastModify(new Date());
  980. }
  981. CmUser user = new CmUser();
  982. user.setUserID(newCmClub.getUserID());
  983. user.setEmail(cmClubinfo.getContractEmail());
  984. user.setName(name);
  985. user.setUserName(userName);
  986. user.setBindMobile(bindMobile);
  987. cmUserService.update(user);
  988. newCmClubService.update(newCmClub);//更新机构表数据
  989. cmClubinfoService.save(cmClubinfo);
  990. addMessage(redirectAttributes, "保存机构资料成功");
  991. redirectAttributes.addAttribute("searchName", newCmClub.getSearchName());
  992. redirectAttributes.addAttribute("searchUserName", newCmClub.getSearchUserName());
  993. redirectAttributes.addAttribute("searchBindMobile", newCmClub.getSearchBindMobile());
  994. redirectAttributes.addAttribute("searchEmail", newCmClub.getSearchEmail());
  995. redirectAttributes.addAttribute("searchUserOrganizeID", newCmClub.getSearchUserOrganizeID());
  996. redirectAttributes.addAttribute("searchStatus", newCmClub.getSearchStatus());
  997. redirectAttributes.addAttribute("searchUserIdentity", newCmClub.getSearchUserIdentity());
  998. redirectAttributes.addAttribute("searchStartTime", newCmClub.getSearchStartTime());
  999. redirectAttributes.addAttribute("searchEndTime", newCmClub.getSearchEndTime());
  1000. return "redirect:" + Global.getAdminPath() + "/new/user/agency/";
  1001. }
  1002. /**
  1003. * 机构更换协销管理
  1004. * 向机构更换协销表添加一条记录
  1005. */
  1006. @RequiresPermissions("user:newCmClub:edit")
  1007. @ResponseBody
  1008. @RequestMapping(value = "changeSp")
  1009. @OperationLogAnnotation()
  1010. public Map<String, Object> changeSp(String spID, String clubID, HttpServletRequest request, HttpServletResponse response) {
  1011. Map<String, Object> map = Maps.newLinkedHashMap();
  1012. try {
  1013. logger.info(spID + "-======-" + clubID);
  1014. if (StringUtils.isNotBlank(spID) && StringUtils.isNotBlank(clubID)) {
  1015. //不是直接更换 只是添加一条记录
  1016. NewCmClub newCmClub = newCmClubService.get(clubID);
  1017. NewCmSp newCmSp = cmSpService.get(spID);
  1018. ClubChangeSp clubChangeSp = new ClubChangeSp();
  1019. clubChangeSp.setClubID(newCmClub.getClubID());
  1020. if (null != newCmClub.getSpID()) {
  1021. clubChangeSp.setOldSpID(newCmClub.getSpID());
  1022. }
  1023. clubChangeSp.setNewSpID(newCmSp.getServiceProviderID());
  1024. clubChangeSp.setApplyTime(new Date());
  1025. clubChangeSp.setCheckStatus("0");
  1026. clubChangeSpReviewService.save(clubChangeSp);
  1027. map.put("success", true);
  1028. map.put("msg", "操作成功");
  1029. } else {
  1030. map.put("success", false);
  1031. map.put("msg", "操作失败");
  1032. }
  1033. } catch (Exception e) {
  1034. logger.error(clubID + "--------" + spID + e.getMessage(), e);
  1035. map.put("success", false);
  1036. map.put("msg", "操作异常");
  1037. }
  1038. return map;
  1039. }
  1040. /**
  1041. * 修改密码
  1042. *
  1043. * @param password
  1044. * @param id
  1045. * @param request
  1046. * @param response
  1047. * @return
  1048. */
  1049. @RequiresPermissions("user:newCmClub:edit")
  1050. @ResponseBody
  1051. @OperationLogAnnotation(operType = "修改密码", operModul = "修改密码")
  1052. @RequestMapping(value = "updatePwd")
  1053. public Map<String, Object> updatePwd(String password, String id, HttpServletRequest request, HttpServletResponse response) {
  1054. Map<String, Object> map = Maps.newLinkedHashMap();
  1055. try {
  1056. CmUser cmUser = cmUserService.get(id);
  1057. cmUser.setPassword(MD5Util.MD5(password));
  1058. cmUserService.update(cmUser);
  1059. map.put("success", true);
  1060. map.put("msg", "修改成功");
  1061. } catch (Exception e) {
  1062. logger.debug(e.toString(), e);
  1063. map.put("success", false);
  1064. map.put("msg", "修改失败");
  1065. }
  1066. return map;
  1067. }
  1068. /**
  1069. * 机构审核
  1070. *
  1071. * @param auditStatus
  1072. * @param auditNote
  1073. * @param id
  1074. * @param request
  1075. * @param response
  1076. * @return
  1077. */
  1078. @RequiresPermissions("user:newCmClub:edit")
  1079. @ResponseBody
  1080. @RequestMapping(value = "auditClub")
  1081. public Map<String, Object> auditClub(String auditStatus, String auditNote, String id, HttpServletRequest request, HttpServletResponse response) {
  1082. Map<String, Object> map = Maps.newLinkedHashMap();
  1083. String status = "";
  1084. String smsMessage = "";
  1085. String currTime = DateUtils.getDateTime();
  1086. OperationalLogs sysLog = new OperationalLogs();
  1087. try {
  1088. NewCmClub newCmClub = newCmClubService.get(id);
  1089. Integer companyUserID = newCmClub.getUserID();
  1090. CmUser companyUser = cmUserService.get(companyUserID + "");
  1091. String mobile = companyUser.getBindMobile();
  1092. //机构审核 --
  1093. //获取企业机构下级用户
  1094. List<CmUser> cmUsers = cmUserService.findByCompanyUserID(companyUserID);
  1095. /**审核处理*/
  1096. //审核通过
  1097. if (StringUtils.equals("1", auditStatus)) {
  1098. // 审核通过机构为新分配机构
  1099. newCmClub.setNewDeal(1);
  1100. sysLog.setActioncontent("审核通过");
  1101. String Contact = sysLogService.auditlinkMan(Integer.parseInt(id));
  1102. String ionName = sysLogService.auditName(Integer.parseInt(id));
  1103. sysLog.setContact(Contact);
  1104. sysLog.setInstitutionName(ionName);
  1105. SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal();
  1106. System.out.println("操作员" + principal.getName());
  1107. String username = principal.getName();
  1108. sysLog.setOperator(username);
  1109. sysLog.setOperationtype("审核");
  1110. sysLog.setOperationtime(new Date());
  1111. //调用service保存SysLog实体类到数据库
  1112. if (!"".equals(sysLog.getActioncontent())) {
  1113. if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) {
  1114. int i = sysLogService.insert(sysLog);
  1115. }
  1116. }
  1117. Date date = new Date();
  1118. String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
  1119. MessageCenter messageCenter = new MessageCenter();
  1120. messageCenter.setShopId(null);
  1121. messageCenter.setClubId(newCmClub.getClubID());
  1122. messageCenter.setUserType(1);
  1123. messageCenter.setMessageType(2);
  1124. messageCenter.setContent(null);
  1125. messageCenter.setTime(curDateStr);
  1126. messageCenter.setAccountType(5);
  1127. messageCenterDao.addMessageCenter(messageCenter);
  1128. status = "90";
  1129. auditStatus = "1";
  1130. companyUser.setRegisterUserTypeID("3");
  1131. try {
  1132. logger.info("********资质机构审核成功微信公众号推送********");
  1133. Integer userID = companyUserID;
  1134. String unionid = newShopOrderDao.UnionId(userID);
  1135. List<String> openidList = newShopOrderDao.getOpenidListByPermission(unionid);
  1136. logger.info("userid>>>>>>>>>>>>>>>" + userID + "unionid》》》》》》》》》》" + unionid + "openid》》》》》》》》》" + openidList);
  1137. String accessToken = weChatService.getAccessToken();
  1138. String auditTime = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
  1139. String pagePath = "https://www.caimei365.com/";
  1140. for (String openid : openidList) {
  1141. weChatService.sendTemplateMsg(accessToken, openid, auditTime, pagePath);
  1142. }
  1143. } catch (Exception e) {
  1144. logger.error("【资质机构审核成功通知】获取微信公众号access_token异常!", e);
  1145. }
  1146. //审核通过升级为会员机构
  1147. companyUser.setUserIdentity(2);
  1148. smsMessage = "恭喜您成功升级为资质机构用户!快戳采美网站链接www.caimei365.com或微信搜索“采美采购商城”小程序登录采美平台享受更多更好的服务吧。" +
  1149. "关注公众号“采美365网”可获取更多优惠和精彩资讯。";
  1150. int userBeans = companyUser.getUserBeans() == null ? 0 : companyUser.getUserBeans();
  1151. companyUser.setUserBeans(userBeans + 500);
  1152. } else {
  1153. Date date = new Date();
  1154. String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
  1155. MessageCenter messageCenter = new MessageCenter();
  1156. messageCenter.setShopId(null);
  1157. messageCenter.setClubId(newCmClub.getClubID());
  1158. messageCenter.setUserType(1);
  1159. messageCenter.setMessageType(2);
  1160. messageCenter.setAccountType(6);
  1161. messageCenter.setContent(null);
  1162. messageCenter.setTime(curDateStr);
  1163. messageCenterDao.addMessageCenter(messageCenter);
  1164. try {
  1165. logger.info("********资质机构审核失败微信公众号推送********");
  1166. Integer userID = companyUserID;
  1167. String unionid = newShopOrderDao.UnionId(userID);
  1168. List<String> openidList = newShopOrderDao.getOpenidListByPermission(unionid);
  1169. logger.info("userid>>>>>>>>>>>>>>>" + userID + "unionid》》》》》》》》》》" + unionid + "openid》》》》》》》》》" + openidList);
  1170. String accessToken = weChatService.getAccessToken();
  1171. String auditTime = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
  1172. String auditResult = auditNote;
  1173. String pagePath = "https://www.caimei365.com/";
  1174. for (String openid : openidList) {
  1175. weChatService.sendTemplateMessg(accessToken, openid, auditResult, auditTime, pagePath);
  1176. }
  1177. } catch (Exception e) {
  1178. logger.error("【资质机构审核失败通知】获取微信公众号access_token异常!", e);
  1179. }
  1180. //审核未通过,普通机构权限
  1181. status = "92";
  1182. auditStatus = "2";
  1183. smsMessage = "您的机构升级资质机构失败!快戳采美网站链接www.caimei365.com或微信搜索“采美采购商城”小程序登录采美平台修改升级信息重新提交审核。" +
  1184. "关注公众号“采美365网”可获取更多优惠和精彩资讯。";
  1185. sysLog.setActioncontent("审核未通过");
  1186. String Contact = sysLogService.auditlinkMan(Integer.parseInt(id));
  1187. String ionName = sysLogService.auditName(Integer.parseInt(id));
  1188. sysLog.setContact(Contact);
  1189. sysLog.setInstitutionName(ionName);
  1190. SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal();
  1191. System.out.println("操作员" + principal.getName());
  1192. String username = principal.getName();
  1193. sysLog.setOperator(username);
  1194. sysLog.setOperationtype("审核");
  1195. sysLog.setOperationtime(new Date());
  1196. //调用service保存SysLog实体类到数据库
  1197. if (!"".equals(sysLog.getActioncontent())) {
  1198. if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) {
  1199. int i = sysLogService.insert(sysLog);
  1200. }
  1201. }
  1202. }
  1203. //机构表修改
  1204. newCmClub.setStatus(Integer.parseInt(status));
  1205. newCmClub.setAuditTime(currTime);
  1206. newCmClub.setAuditNote(auditNote);
  1207. newCmClub.setCheckMan(UserUtils.getUser().getName());
  1208. //企业用户表修改
  1209. companyUser.setValidFlag(AppKeys.FLAG_YES);//正常
  1210. companyUser.setAuditStatus(auditStatus);//同步到用户表的审核信息中
  1211. companyUser.setAuditNote(auditNote);
  1212. companyUser.setAuditTime(currTime);
  1213. newCmClubService.update(newCmClub);
  1214. cmUserService.update(companyUser);
  1215. // 发送系统消息给对应的userID用户
  1216. String title = "机构资格认证审核结果";
  1217. String messageContent = "";
  1218. if (auditStatus.equals("1")) {
  1219. messageContent = "恭喜您," + title + "【已通过】,恭喜您成功加入采美,祝您开启愉快的采购之旅。";
  1220. //升级为机构成功,送500采美豆
  1221. UserBeansHistory beansHistory = new UserBeansHistory();
  1222. beansHistory.setUserId(companyUser.getUserID());
  1223. beansHistory.setBeansType(2);
  1224. beansHistory.setType(1);
  1225. beansHistory.setNum(500);
  1226. beansHistory.setPushStatus(0);
  1227. beansHistory.setAddTime(new Date());
  1228. newCmClubService.insertBeansHistory(beansHistory);
  1229. } else {
  1230. messageContent = title + "【未通过】,原因:" + auditNote;
  1231. }
  1232. /**发送采美消息*/
  1233. sendMessage("1", companyUser.getUserID(), title, messageContent);
  1234. /**发送短信*/
  1235. if (StringUtils.isNotEmpty(mobile)) {
  1236. SMSUtils.sendSms(0, mobile, smsMessage);
  1237. }
  1238. map.put("success", true);
  1239. map.put("msg", "操作成功");
  1240. } catch (Exception e) {
  1241. logger.debug(e.toString(), e);
  1242. map.put("success", false);
  1243. map.put("msg", "操作失败");
  1244. }
  1245. return map;
  1246. }
  1247. /**
  1248. * @param cmClub
  1249. * @param redirectAttributes
  1250. * @return
  1251. */
  1252. @RequestMapping(value = "editClubType")
  1253. @RequiresPermissions("user:newCmClub:edit")
  1254. @ResponseBody
  1255. public JsonModel editClubType(NewCmClub cmClub, RedirectAttributes redirectAttributes) {
  1256. JsonModel jsonModel = JsonModel.newInstance();
  1257. if (cmClub.getClubID() == null) {
  1258. return jsonModel.error("请求参数异常");
  1259. }
  1260. NewCmClub dbClub = newCmClubService.get(cmClub.getClubID().toString());
  1261. if ("1".equals(cmClub.getFirstClubType())) {
  1262. dbClub.setMedicalPracticeLicenseImg(cmClub.getMedicalPracticeLicenseImg());
  1263. dbClub.setSecondClubType(cmClub.getSecondClubType());
  1264. dbClub.setDepartment(cmClub.getDepartment());
  1265. }
  1266. if ("2".equals(cmClub.getFirstClubType())) {
  1267. dbClub.setMedicalPracticeLicenseImg("");
  1268. dbClub.setSecondClubType("");
  1269. dbClub.setDepartment("");
  1270. }
  1271. dbClub.setFirstClubType(cmClub.getFirstClubType());
  1272. dbClub.setMainpro(cmClub.getMainpro());
  1273. newCmClubService.update(dbClub);
  1274. addMessage(redirectAttributes, "操作成功");
  1275. return jsonModel.success(Global.getAdminPath() + "/new/user/agency/?repage");
  1276. }
  1277. /**
  1278. * 发送采美信息
  1279. *
  1280. * @param messageTypeID
  1281. * @param toUserID
  1282. * @param title
  1283. * @param content
  1284. * @throws Exception
  1285. */
  1286. public void sendMessage(String messageTypeID, Integer toUserID, String title, String content) throws Exception {
  1287. CmMessage cmMessage = CmMsgUtils.getCmMsg(messageTypeID, toUserID, title, content);
  1288. cmMessageService.save(cmMessage);
  1289. }
  1290. /**
  1291. * 升级为会员机构
  1292. *
  1293. * @param type 1,设置为会员机构; 2,设置为普通机构
  1294. * @return
  1295. */
  1296. @ResponseBody
  1297. // @OperationLogAnnotation(operType = "设置机构类别")
  1298. @RequestMapping("/upgradeClub")
  1299. public Map<String, Object> upgradeClub(NewCmClub cmClub, String type, RedirectAttributes redirectAttributes) {
  1300. OperationalLogs sysLog = new OperationalLogs();
  1301. sysLog.setOperationtime(new Date());
  1302. if ("1".equals(type)) {
  1303. sysLog.setActioncontent("设置为资质机构");
  1304. } else {
  1305. sysLog.setActioncontent("设置为个人机构");
  1306. }
  1307. sysLog.setContact(cmClub.getLinkMan());
  1308. sysLog.setInstitutionName(cmClub.getName());
  1309. SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal();
  1310. System.out.println("操作员" + principal.getName());
  1311. String username = principal.getName();
  1312. sysLog.setOperator(username);
  1313. sysLog.setOperationtype("设置机构类别");
  1314. //调用service保存SysLog实体类到数据库
  1315. if (!"".equals(sysLog.getActioncontent())) {
  1316. if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) {
  1317. int i = sysLogService.insert(sysLog);
  1318. }
  1319. }
  1320. Map<String, Object> map = new HashMap<>();
  1321. if (cmClub != null) {
  1322. CmUser cmUser = cmUserService.get(cmClub.getUserID().toString());
  1323. //设置为会员机构
  1324. if ("1".equals(type)) {
  1325. if (null == cmUser.getName()) {
  1326. cmUser.setName(cmUser.getUserName());
  1327. cmClub.setName(cmUser.getUserName());
  1328. cmClub.setSname(cmUser.getUserName());
  1329. }
  1330. //用户身份 1、协销 2、会员机构 3、供应商 4.普通机构
  1331. cmUser.setUserIdentity(2);
  1332. //见枚举UserType(1供应商,2协销经理,32协销,3会员机构,4普通机构)
  1333. cmUser.setRegisterUserTypeID("3");
  1334. } else {
  1335. //用户身份 1、协销 2、会员机构 3、供应商 4.普通机构
  1336. cmUser.setUserIdentity(4);
  1337. //见枚举UserType(1供应商,2协销经理,32协销,3会员机构,4普通机构)
  1338. cmUser.setRegisterUserTypeID("4");
  1339. }
  1340. cmUserService.update(cmUser);
  1341. if (cmClub.getStatus() != 90) {
  1342. cmClub.setStatus(90);
  1343. newCmClubService.update(cmClub);
  1344. }
  1345. }
  1346. addMessage(redirectAttributes, "操作成功");
  1347. map.put("success", true);
  1348. map.put("msg", "操作成功");
  1349. return map;
  1350. }
  1351. /**
  1352. * 编辑用户信息验证新手机号是否可用
  1353. */
  1354. @RequestMapping("checkMobile")
  1355. @ResponseBody
  1356. public Map<String, String> checkMobile(String bindMobile, Integer userID) {
  1357. return cmUserService.checkMobile(bindMobile, userID, "crm");
  1358. }
  1359. /**
  1360. * 资料备注列表
  1361. */
  1362. @RequestMapping("remarks")
  1363. public String remarksList(CmClubRemarks cmClubRemarks, HttpServletRequest request, HttpServletResponse response, Model model) {
  1364. Page<CmClubRemarks> page = newCmClubService.findRemarksPage(new Page<CmClubRemarks>(request, response, 20), cmClubRemarks);
  1365. model.addAttribute("cmClubRemarks", cmClubRemarks);
  1366. model.addAttribute("page", page);
  1367. return "modules/userNew/cmAgencyRemarksList";
  1368. }
  1369. /**
  1370. * 已注册用户咨询记录
  1371. *
  1372. * @param cmClubRemarks
  1373. * @param request
  1374. * @param response
  1375. * @param model
  1376. * @return
  1377. */
  1378. @RequiresPermissions("user:agency:regist")
  1379. @RequestMapping("regist")
  1380. public String registList(CmClubRemarks cmClubRemarks, HttpServletRequest request, HttpServletResponse response, Model model) {
  1381. if (org.apache.commons.lang3.StringUtils.isNotBlank(cmClubRemarks.getStartAddTime())) {
  1382. String startAddTime = cmClubRemarks.getStartAddTime();
  1383. startAddTime += " 00:00:00";
  1384. cmClubRemarks.setStartAddTime(startAddTime);
  1385. }
  1386. if (org.apache.commons.lang.StringUtils.isNotBlank(cmClubRemarks.getEndAddTime())) {
  1387. String endAddTime = cmClubRemarks.getEndAddTime();
  1388. endAddTime += " 23:59:59";
  1389. cmClubRemarks.setEndAddTime(endAddTime);
  1390. }
  1391. Page<CmClubRemarks> page = newCmClubService.findRegistPage(new Page<CmClubRemarks>(request, response, 20), cmClubRemarks);
  1392. cmClubRemarks.setConsults(newCmClubService.findConsults());
  1393. cmClubRemarks.setTeams(newCmClubService.findTeams());
  1394. model.addAttribute("cmClubRemarks", cmClubRemarks);
  1395. model.addAttribute("page", page);
  1396. return "modules/userNew/cmRegistRemarksList";
  1397. }
  1398. @RequestMapping("cmRegistReportList")
  1399. public String cmRegistReportList(CmClubRemarks cmClubRemarks, HttpServletRequest request, HttpServletResponse response, Model model) {
  1400. List<VisitRemarkVo> remarksLists = newCmClubDao.findRegistLists(cmClubRemarks);
  1401. List<CmClubRemarks> remarksList = newCmClubDao.findRegistList(cmClubRemarks);
  1402. cmClubRemarks.setConsults(newCmClubService.findConsults());
  1403. cmClubRemarks.setTeams(newCmClubService.findTeams());
  1404. model.addAttribute("cmClubRemarks", cmClubRemarks);
  1405. model.addAttribute("remarksList", remarksList);
  1406. model.addAttribute("remarksLists", remarksLists);
  1407. return "modules/userNew/cmRegistReportList";
  1408. }
  1409. @RequestMapping("recordLinkage")
  1410. public String RecordLinkage(Integer clubId, HttpServletRequest request, HttpServletResponse response, Model model) {
  1411. String link = newCmClubDao.recordLinkage(clubId);
  1412. String describe = newCmClubDao.recordDescribe(clubId);
  1413. if (describe == null) {
  1414. describe = "";
  1415. }
  1416. String linkage = "";
  1417. if (domain.contains("-b")) {
  1418. linkage = "http://zzjtest.gz.aeert.com/clubinfo.html?clubId=" + clubId;
  1419. } else if (domain.contains("www")) {
  1420. linkage = "https://www.caimei365.com/clubinfo.html?clubId=" + clubId;
  1421. } else {
  1422. linkage = "http://localhost:8081/clubinfo.html?clubId=" + clubId;
  1423. }
  1424. // 机构注册IP,注册ip所在地
  1425. List<CmBehaviorRecord> behaviorList = newCmClubDao.selRegisterIP(clubId);
  1426. CmBehaviorRecord record = new CmBehaviorRecord();
  1427. record.setClubID(clubId);
  1428. // 注册ip所在地
  1429. String ipAddress = behaviorList.get(0).getRegion();
  1430. SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
  1431. // 获取注册时间一周前时间
  1432. Calendar calendar = Calendar.getInstance();
  1433. for (CmBehaviorRecord behaviorRecord : behaviorList) {
  1434. try {
  1435. Date date = simpleDateFormat.parse(behaviorRecord.getRegisterTime());
  1436. String registerTime = simpleDateFormat.format(date);
  1437. calendar.setTime(date);
  1438. // 获取注册时间一周前时间
  1439. calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - 7);
  1440. Date today = calendar.getTime();
  1441. String startTime = simpleDateFormat.format(today);
  1442. // 获取注册时间一周后时间
  1443. calendar.setTime(date);
  1444. calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 7);
  1445. Date lastDay = calendar.getTime();
  1446. String endTime = simpleDateFormat.format(lastDay);
  1447. record.setIP(behaviorRecord.getRegisterIP());
  1448. record.setStartTime(startTime);
  1449. record.setEndTime(endTime);
  1450. record.setRegisterTime(registerTime);
  1451. } catch (ParseException e) {
  1452. e.printStackTrace();
  1453. }
  1454. }
  1455. Page<CmBehaviorRecord> page = cmBehaviorRecordService.behaviorAgencyPage(new Page<>(request, response), record);
  1456. String masBehavior = "";
  1457. List<CmBehaviorRecord> list = page.getList();
  1458. for (int i = 0; i <= list.size() - 1; i++) {
  1459. masBehavior += list.get(i).getPageLabel();
  1460. if (list.size() - 1 != i) {
  1461. masBehavior += ",";
  1462. }
  1463. }
  1464. model.addAttribute("page", page);
  1465. model.addAttribute("link", link);
  1466. model.addAttribute("linkage", linkage);
  1467. model.addAttribute("describe", describe);
  1468. model.addAttribute("masBehavior", masBehavior);
  1469. model.addAttribute("ipAddress", ipAddress);
  1470. model.addAttribute("clubId", clubId);
  1471. return "modules/userNew/recordLinkageForm";
  1472. }
  1473. @RequestMapping("recordLinkageSave")
  1474. public String RecordLinkageSave(String describe, String masBehavior, String link, Integer clubId, HttpServletRequest request, HttpServletResponse response, Model model, RedirectAttributes redirectAttributes) {
  1475. model.addAttribute("clubId", clubId);
  1476. if (domain.contains("-b")) {
  1477. link = "http://zzjtest.gz.aeert.com/clubinfo.html?clubId=" + clubId;
  1478. } else if (domain.contains("www")) {
  1479. link = "https://www.caimei365.com/clubinfo.html?clubId=" + clubId;
  1480. } else {
  1481. link = "http://localhost:8081/clubinfo.html?clubId=" + clubId;
  1482. }
  1483. // StringSelection stsel = new StringSelection(link);
  1484. String replace = describe;
  1485. if (describe.contains(masBehavior)) {
  1486. replace = describe.replace(masBehavior, "");
  1487. }
  1488. newCmClubDao.addRecordLinkage(replace, link, clubId);
  1489. logger.info(">>>>>>>>>>>生成记录链接");
  1490. addMessage(redirectAttributes, "链接已生成并自动复制,可直接粘贴");
  1491. // Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stsel, stsel);
  1492. return "redirect:" + Global.getAdminPath() + "/new/user/agency/";
  1493. }
  1494. /**
  1495. * 资料备注列表
  1496. */
  1497. @RequestMapping("remarks/download")
  1498. public void downloadRemarks(String fileName, String ossName, HttpServletRequest request, HttpServletResponse response, Model model) throws IOException {
  1499. newCmClubService.downloadRemarks(fileName, ossName, request, response);
  1500. }
  1501. @RequestMapping("group")
  1502. @ResponseBody
  1503. public List<ServiceProviderModel> group(Integer leaderId) {
  1504. return newCmClubService.findGroup(leaderId);
  1505. }
  1506. @RequiresPermissions("user:agency:cmrenaksList")
  1507. @RequestMapping("cmrenaksList")
  1508. public String renaks(CmRemaks cmRemaks, HttpServletRequest request, HttpServletResponse response, Model model) {
  1509. Page<CmRemaks> page = cmRemaksService.findPage(new Page<CmRemaks>(request, response, 20), cmRemaks);
  1510. model.addAttribute("page", page);
  1511. model.addAttribute("cmRemaks", cmRemaks);
  1512. return "modules/userNew/cmRemaksList";
  1513. }
  1514. @RequestMapping("cmrenaksForm")
  1515. public String renaksForm(CmRemaks cmRemaks, HttpServletRequest request, HttpServletResponse response, Model model) {
  1516. if (cmRemaks.getRemarksId() != null) {
  1517. String remaks = newCmClubService.upremakasList(cmRemaks);
  1518. model.addAttribute("list", cmRemaks);
  1519. model.addAttribute("remaks", remaks);
  1520. model.addAttribute("remaksId", cmRemaks.getRemarksId());
  1521. }
  1522. return "modules/userNew/cmRemaksForm";
  1523. }
  1524. @RequestMapping("addcmrenaksForm")
  1525. public String addrenaksForm(CmRemaks cmRemaks, HttpServletRequest request, HttpServletResponse response, Model model) {
  1526. if (cmRemaks.getRemarksId() != null) {
  1527. System.out.println("》》》》进入修改方法");
  1528. newCmClubService.upremarks(cmRemaks);
  1529. } else {
  1530. System.out.println("》》》》进入新增方法");
  1531. cmRemaks.setAddtime(new Date());
  1532. newCmClubService.addRemarks(cmRemaks);
  1533. }
  1534. return "redirect:" + Global.getAdminPath() + "/new/user/agency/cmrenaksList";
  1535. }
  1536. @RequestMapping("deleteRamarks")
  1537. public String deleteRamarks(CmRemaks cmRemaks, HttpServletRequest request, HttpServletResponse response, Model model) {
  1538. newCmClubService.deleteRamarks(cmRemaks);
  1539. return "redirect:" + Global.getAdminPath() + "/new/user/agency/cmrenaksList";
  1540. }
  1541. @RequiresPermissions("user:agency:reportList")
  1542. @RequestMapping("ReportList")
  1543. public String ReportList(CmReport cmReport, HttpServletRequest request, HttpServletResponse response, Model model) {
  1544. Page<CmReport> page = newCmClubService.ReportList(new Page<CmReport>(request, response, 20), cmReport);
  1545. model.addAttribute("page", page);
  1546. model.addAttribute("cmReport", cmReport);
  1547. return "modules/userNew/ReportList";
  1548. }
  1549. @ResponseBody
  1550. @RequestMapping("ReportCount")
  1551. public Map<String, Object> ReportCount(Integer reportId, String auditName, String auditText, Integer status, Model model) {
  1552. Map<String, Object> map = new HashedMap();
  1553. Integer clubCount = newCmClubDao.clubRemarksConut(reportId);
  1554. Integer visitorCount = newCmClubDao.visitorRemarksConut(reportId);
  1555. SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal();
  1556. auditName = principal.getName();
  1557. if ((clubCount += visitorCount) > 0) {
  1558. map.put("success", false);
  1559. newCmClubDao.updateAuditRemarks(reportId, auditName, auditText, status);
  1560. System.out.println(">>>>>>>>" + (clubCount += visitorCount));
  1561. } else {
  1562. System.out.println(">>>>>>>>" + (clubCount += visitorCount));
  1563. map.put("success", true);
  1564. }
  1565. return map;
  1566. }
  1567. @ResponseBody
  1568. @RequestMapping("ClubRemarks")
  1569. public Map<String, Object> audit(Integer remarksId, Integer type, Model model) {
  1570. Map<String, Object> map = new HashedMap();
  1571. if (type == 1) {
  1572. newCmClubDao.updateClubRemarks(remarksId);
  1573. map.put("success", true);
  1574. } else {
  1575. newCmClubDao.updateVisitorRemarks(remarksId);
  1576. map.put("success", true);
  1577. }
  1578. return map;
  1579. }
  1580. @ResponseBody
  1581. @RequestMapping("DeleteRepor")
  1582. public Map<String, Object> DeleteRepor(Integer reportId, Model model) {
  1583. Map<String, Object> map = new HashedMap();
  1584. Integer clubCount = newCmClubDao.clubRemarksConut(reportId);
  1585. Integer visitorCount = newCmClubDao.visitorRemarksConut(reportId);
  1586. if ((clubCount += visitorCount) > 0) {
  1587. map.put("success", false);
  1588. System.out.println(">>>>>>>>" + (clubCount += visitorCount));
  1589. } else {
  1590. newCmClubDao.deleteClubRemarks(reportId);
  1591. System.out.println(">>>>>>>>" + (clubCount += visitorCount));
  1592. map.put("success", true);
  1593. }
  1594. return map;
  1595. }
  1596. @RequestMapping(value = "/statisticsList")
  1597. public String statisticsList(ClubStatistics statistics, HttpServletRequest request, HttpServletResponse response, Model model) {
  1598. Page<ClubStatistics> page = newCmClubService.statisticsList(new Page<>(request, response), statistics);
  1599. model.addAttribute("statistics", statistics);
  1600. model.addAttribute("page", page);
  1601. return "modules/userNew/cmAgencyStatisticsList";
  1602. }
  1603. @ResponseBody
  1604. @RequestMapping(value = "/club/export")
  1605. public void easyExcel(ClubStatistics statistics, HttpServletResponse response, RedirectAttributes redirectAttributes) {
  1606. String name = "club_Data";
  1607. try {
  1608. List<easyExcel> statisticsList = newCmClubService.exportExcel(statistics);
  1609. response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
  1610. response.setCharacterEncoding("utf-8");
  1611. // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
  1612. String fileName = URLEncoder.encode(name, "UTF-8").replaceAll("\\+", "%20");
  1613. response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
  1614. // 这里需要设置不关闭流
  1615. // EasyExcel.write(response.getOutputStream(),ClubStatistics.class).sheet().doWrite(statisticsList);
  1616. EasyExcel.write(response.getOutputStream(), easyExcel.class).autoCloseStream(Boolean.FALSE).sheet("模板")
  1617. .doWrite(statisticsList);
  1618. } catch (Exception e) {
  1619. addMessage(redirectAttributes, "机构分析统计导出失败", e.getMessage());
  1620. e.printStackTrace();
  1621. }
  1622. }
  1623. /**
  1624. * 机构画像
  1625. * @param cmPortrait
  1626. * @param model
  1627. * @return
  1628. */
  1629. @RequestMapping("/clubPortrait")
  1630. public String clubPortrait(CmPortrait cmPortrait, Model model) {
  1631. CmPortrait portrait = portraitService.dataTotal(cmPortrait);
  1632. ClubStatistics statistics = portraitService.clubData(cmPortrait.getClubID());
  1633. model.addAttribute("cmPortrait", cmPortrait);
  1634. model.addAttribute("portrait", portrait);
  1635. model.addAttribute("statistics", statistics);
  1636. return "modules/userNew/cmClubPortrait";
  1637. }
  1638. /**
  1639. * 客户需求
  1640. * @param cmPortrait
  1641. * @return
  1642. */
  1643. @RequestMapping("/getDemandData")
  1644. @ResponseBody
  1645. public Map<String, Object> getDemandData(CmPortrait cmPortrait) {
  1646. return portraitService.getDemand(cmPortrait.getClubID(), cmPortrait.getDateType(), cmPortrait.getStartTime(), cmPortrait.getEndTime());
  1647. }
  1648. /**
  1649. * 机构画像图表数据
  1650. * @param cmPortrait
  1651. * @return
  1652. */
  1653. @RequestMapping("/selPortraitData")
  1654. @ResponseBody
  1655. public Map<String, Object> selPortraitData(CmPortrait cmPortrait) {
  1656. Map<String, Object> map = Maps.newLinkedHashMap();
  1657. try {
  1658. CmPortrait portrait = portraitService.dataList(cmPortrait);
  1659. ArrDate order = new ArrDate();
  1660. ArrDate behavior = new ArrDate();
  1661. ArrDate remarks = new ArrDate();
  1662. ArrDate pageType = new ArrDate();
  1663. // ArrayList<OrderPortrait> orderPortrait = portrait.getOrderPortrait();
  1664. order.setOrderList(portrait.getOrderPortrait());
  1665. if (portrait.getOrderTotal() == null) {
  1666. portrait.setOrderTotal(0);
  1667. }
  1668. order.setOrderTotalNum(portrait.getOrderTotal());
  1669. order.setStartTime(portrait.getStartTime());
  1670. order.setEndTime(portrait.getEndTime());
  1671. if (order.getOrderTotalNum() == 0) {
  1672. map.put("order", null);
  1673. } else {
  1674. map.put("order", order);
  1675. }
  1676. behavior.setName(portrait.getBehaviorType());
  1677. behavior.setValue(portrait.getBehaviorValue());
  1678. behavior.setStartTime(portrait.getStartTime());
  1679. behavior.setEndTime(portrait.getEndTime());
  1680. if (ObjectUtils.isEmpty(behavior.getValue())) {
  1681. map.put("behavior", null);
  1682. } else {
  1683. map.put("behavior", behavior);
  1684. }
  1685. remarks.setName(portrait.getRemarksType());
  1686. remarks.setValue(portrait.getRemarksValue());
  1687. remarks.setStartTime(portrait.getStartTime());
  1688. remarks.setEndTime(portrait.getEndTime());
  1689. if (ObjectUtils.isEmpty(remarks.getValue())) {
  1690. map.put("remarks", null);
  1691. } else {
  1692. map.put("remarks", remarks);
  1693. }
  1694. pageType.setName(portrait.getPageType());
  1695. pageType.setValue(portrait.getPageTypeValue());
  1696. pageType.setStartTime(portrait.getStartTime());
  1697. pageType.setEndTime(portrait.getEndTime());
  1698. if (ObjectUtils.isEmpty(pageType.getValue())) {
  1699. map.put("pageType", null);
  1700. } else {
  1701. map.put("pageType", pageType);
  1702. }
  1703. map.put("portrait", portrait);
  1704. /*map.put("behavior",behavior);
  1705. map.put("remarks",remarks);
  1706. map.put("pageType",pageType);
  1707. map.put("order",order);*/
  1708. map.put("code", 0);
  1709. } catch (Exception e) {
  1710. e.printStackTrace();
  1711. map.put("code", -1);
  1712. }
  1713. return map;
  1714. }
  1715. @RequestMapping("/clubSales")
  1716. public String clubSales(CmClubSales clubSales, Model model) {
  1717. // 协销列表
  1718. List<Server> serList = portraitService.getSerList();
  1719. model.addAttribute("serList", serList);
  1720. return "modules/userNew/cmClubSales";
  1721. }
  1722. /**
  1723. * 机构-协销面板
  1724. * @param cmClubSales
  1725. * @return
  1726. */
  1727. @RequestMapping("/getClubSales")
  1728. @ResponseBody
  1729. public Map<String, Object> getClubSales(CmClubSales cmClubSales) {
  1730. Map<String, Object> map = new HashMap<>();
  1731. try {
  1732. CmClubSales clubSales = portraitService.clubSales(cmClubSales);
  1733. ArrDate newClub = new ArrDate();
  1734. ArrDate remarks = new ArrDate();
  1735. ArrDate active = new ArrDate();
  1736. // 新注册机构
  1737. newClub.setClubInfo(clubSales.getPortrait());
  1738. if (clubSales.getTotal() == null) {
  1739. clubSales.setTotal(0);
  1740. }
  1741. newClub.setTotal(clubSales.getTotal());
  1742. newClub.setStartTime(clubSales.getStartTime());
  1743. newClub.setEndTime(clubSales.getEndTime());
  1744. if (null == newClub.getTotal() || newClub.getTotal() == 0) {
  1745. map.put("newClub", null);
  1746. } else {
  1747. map.put("newClub", newClub);
  1748. }
  1749. // 机构咨询记录
  1750. remarks.setInternalPortrait(clubSales.getInternalPortrait());
  1751. remarks.setClubInfo(clubSales.getPortrait());
  1752. remarks.setTotal(clubSales.getRemarkTotal());
  1753. remarks.setStartTime(clubSales.getStartTime());
  1754. remarks.setEndTime(clubSales.getEndTime());
  1755. if (null == remarks.getTotal() || remarks.getTotal() == 0) {
  1756. map.put("remarks", null);
  1757. } else {
  1758. map.put("remarks", remarks);
  1759. }
  1760. active.setName(clubSales.getNames());
  1761. active.setValue(clubSales.getValues());
  1762. active.setValue1(clubSales.getValues1());
  1763. active.setStartTime(clubSales.getStartTime());
  1764. active.setEndTime(clubSales.getEndTime());
  1765. if (null == active.getName()) {
  1766. map.put("active", null);
  1767. } else {
  1768. map.put("active", active);
  1769. }
  1770. map.put("code", 0);
  1771. } catch (Exception e) {
  1772. map.put("code", -1);
  1773. e.printStackTrace();
  1774. }
  1775. return map;
  1776. }
  1777. @RequestMapping("/clubData")
  1778. public String clubData(NewCmClub newCmClub, Model model, HttpServletRequest request, HttpServletResponse response) {
  1779. // 查询机构基本信息
  1780. Page<NewCmClub> page = newCmClubService.findPage(new Page<NewCmClub>(request, response, 20), newCmClub);
  1781. if (page.getList().size() > 0) {
  1782. newCmClub = page.getList().get(0);
  1783. }
  1784. // 机构详细信息
  1785. CmClubinfo cmClubinfo = new CmClubinfo();
  1786. cmClubinfo.setClubID(newCmClub.getClubID());
  1787. List<CmClubinfo> cmClubinfos = cmClubinfoService.findList(cmClubinfo);
  1788. if (null != cmClubinfos && cmClubinfos.size() > 0) {
  1789. cmClubinfo = cmClubinfos.get(0);
  1790. }
  1791. cmClubinfo.setClubID(newCmClub.getClubID());
  1792. cmClubinfo.setUserID(newCmClub.getUserID());
  1793. cmClubinfo.setContractPhone(newCmClub.getContractPhone());
  1794. cmClubinfo.setFax(newCmClub.getFax());
  1795. cmClubinfo.setInfo(newCmClub.getInfo());
  1796. cmClubinfo.setBusinessLicenseImage(newCmClub.getBusinessLicenseImage());
  1797. cmClubinfo.setHeadpic(newCmClub.getHeadpic());
  1798. cmClubinfo.setSocialCreditCode(newCmClub.getSocialCreditCode());
  1799. cmClubinfo.setProvinceID(newCmClub.getProvinceID());
  1800. cmClubinfo.setCityID(newCmClub.getCityID());
  1801. cmClubinfo.setTownID(newCmClub.getTownID());
  1802. cmClubinfo.setAddress(newCmClub.getAddress());
  1803. cmClubinfo.setFirstClubType(newCmClub.getFirstClubType());
  1804. cmClubinfo.setSecondClubType(newCmClub.getSecondClubType());
  1805. cmClubinfo.setDepartment(newCmClub.getDepartment());
  1806. String mainpro = newCmClub.getMainpro();
  1807. if (StringUtils.isNotEmpty(mainpro)) {
  1808. mainpro = mainpro.replaceAll("/", ",");
  1809. }
  1810. cmClubinfo.setMainpro(mainpro);
  1811. cmClubinfo.setMedicalPracticeLicenseImg(newCmClub.getMedicalPracticeLicenseImg());
  1812. cmClubinfo.setContractEmail(newCmClub.getContractEmail());
  1813. cmClubinfo.setLinkManIdentity(newCmClub.getLinkManIdentity());
  1814. cmClubinfo.setUserIdentity(newCmClub.getUserIdentity());
  1815. cmClubinfo.setSvipUserFlag(newCmClub.getSvipUserFlag());
  1816. String wwwServer = Global.getConfig("wwwServer");
  1817. //营业执照
  1818. if (StringUtils.isNotBlank(newCmClub.getBusinessLicenseImage())) {
  1819. newCmClub.setBusinessLicenseImage(AppUtils.getImageURL("clubBusinessLicenseImage", newCmClub.getBusinessLicenseImage(), 0, wwwServer));
  1820. }
  1821. //门头照
  1822. if (StringUtils.isNotBlank(newCmClub.getHeadpic())) {
  1823. newCmClub.setHeadpic(AppUtils.getImageURL("club", newCmClub.getHeadpic(), AppKeys.CLUB_LOGO_SIZE, wwwServer));
  1824. }
  1825. model.addAttribute("cmClubinfo", cmClubinfo);
  1826. model.addAttribute("newCmClub", newCmClub);
  1827. return "modules/userNew/cmClubData";
  1828. }
  1829. @RequestMapping("/spLogs")
  1830. public String spListLog(NewCmClub cmClub, Model model, HttpServletRequest request, HttpServletResponse response) {
  1831. NewCmClub club = sysLogService.clubData(cmClub.getClubID());
  1832. Page<OperationalLogs> listLog = sysLogService.spListLog(new Page<OperationalLogs>(request, response), cmClub.getClubID());
  1833. model.addAttribute("page", listLog);
  1834. model.addAttribute("cmClub", club);
  1835. return "modules/userNew/cmSpProviderLogs";
  1836. }
  1837. @ResponseBody
  1838. @RequestMapping(value = "updateEnabledStatus")
  1839. public Map<String, Object> updateEnabledStatus(NewCmClub newCmClub, HttpServletRequest request, HttpServletResponse response) {
  1840. Map<String, Object> map = Maps.newLinkedHashMap();
  1841. try {
  1842. if (null == newCmClub.getUserID()) {
  1843. map.put("success", false);
  1844. map.put("msg", "参数异常!");
  1845. return map;
  1846. }
  1847. newCmClubService.update(newCmClub);
  1848. CmUser cmUser = new CmUser();
  1849. cmUser.setUserID(newCmClub.getUserID());
  1850. cmUser.setValidFlag(newCmClub.getStatus() == 90 ? "1" : "0");
  1851. cmUserService.update(cmUser);
  1852. map.put("success", true);
  1853. map.put("msg", "修改成功");
  1854. } catch (Exception e) {
  1855. logger.debug(e.toString(), e);
  1856. map.put("success", false);
  1857. map.put("msg", "修改失败");
  1858. }
  1859. return map;
  1860. }
  1861. @ResponseBody
  1862. @RequestMapping(value = "findUserIsMobile")
  1863. public Map<String, Object> findUserIsMobile(String mobile, String oldUserId, Integer userIdentity, HttpServletRequest request, HttpServletResponse response) {
  1864. Map<String, Object> map = Maps.newLinkedHashMap();
  1865. try {
  1866. CmUser userIsMobile = cmUserService.findUserIsMobile(mobile, oldUserId, userIdentity);
  1867. if (null == userIsMobile) {
  1868. map.put("success", true);
  1869. map.put("msg", "手机号不存在");
  1870. } else {
  1871. map.put("success", false);
  1872. map.put("msg", "手机号已存在");
  1873. }
  1874. } catch (Exception e) {
  1875. logger.debug(e.toString(), e);
  1876. map.put("success", false);
  1877. map.put("msg", "修改失败");
  1878. }
  1879. return map;
  1880. }
  1881. }