AgencyController.java 83 KB

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