AgencyController.java 83 KB

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