CmUserOrganizeController.java 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768
  1. package com.caimei.modules.user.web;
  2. import com.caimei.dfs.image.beens.ImageUploadInfo;
  3. import com.caimei.modules.brand.utils.ImagePathUtils;
  4. import com.caimei.modules.common.dao.AreaDao;
  5. import com.caimei.modules.common.entity.City;
  6. import com.caimei.modules.common.entity.Province;
  7. import com.caimei.modules.common.entity.Town;
  8. import com.caimei.modules.common.utils.UploadUtils;
  9. import com.caimei.modules.product.web.CmMallOrganizeProductsController;
  10. import com.caimei.modules.sys.utils.UploadImageUtils;
  11. import com.caimei.modules.user.dao.CmUserDao;
  12. import com.caimei.modules.user.entity.*;
  13. import com.caimei.modules.user.service.CmMallBannerImageService;
  14. import com.caimei.modules.user.service.CmUserOrganizeService;
  15. import com.caimei.modules.user.service.CmUserService;
  16. import com.caimei.modules.user.service.NewCmClubService;
  17. import com.caimei.utils.*;
  18. import com.google.common.collect.Maps;
  19. import com.thinkgem.jeesite.common.config.Global;
  20. import com.thinkgem.jeesite.common.persistence.Page;
  21. import com.thinkgem.jeesite.common.utils.Encodes;
  22. import com.thinkgem.jeesite.common.utils.StringUtils;
  23. import com.thinkgem.jeesite.common.web.BaseController;
  24. import org.apache.commons.collections.CollectionUtils;
  25. import org.apache.shiro.authz.annotation.RequiresPermissions;
  26. import org.jsoup.Jsoup;
  27. import org.jsoup.nodes.Document;
  28. import org.jsoup.nodes.Element;
  29. import org.jsoup.select.Elements;
  30. import org.springframework.beans.factory.annotation.Autowired;
  31. import org.springframework.stereotype.Controller;
  32. import org.springframework.transaction.annotation.Transactional;
  33. import org.springframework.ui.Model;
  34. import org.springframework.web.bind.annotation.ModelAttribute;
  35. import org.springframework.web.bind.annotation.RequestMapping;
  36. import org.springframework.web.bind.annotation.RequestParam;
  37. import org.springframework.web.bind.annotation.ResponseBody;
  38. import org.springframework.web.servlet.mvc.support.RedirectAttributes;
  39. import javax.annotation.Resource;
  40. import javax.servlet.http.HttpServletRequest;
  41. import javax.servlet.http.HttpServletResponse;
  42. import java.text.SimpleDateFormat;
  43. import java.util.Date;
  44. import java.util.List;
  45. import java.util.Map;
  46. import java.util.UUID;
  47. /**
  48. * 组织Controller
  49. *
  50. * @author lijun
  51. * @version 2019-11-19
  52. */
  53. @Controller
  54. @RequestMapping(value = "${adminPath}/user/cmUserOrganize")
  55. public class CmUserOrganizeController extends BaseController {
  56. @Autowired
  57. private CmUserOrganizeService cmUserOrganizeService;
  58. @Resource
  59. private CmUserDao cmUserDao;
  60. @Autowired
  61. private CmUserService cmUserService;
  62. @Autowired
  63. private NewCmClubService newCmClubService;
  64. @Autowired
  65. private AreaDao areaDao;
  66. @Autowired
  67. private CmMallBannerImageService cmMallBannerImageService;
  68. @ModelAttribute
  69. public CmUserOrganize get(@RequestParam(required = false) String id) {
  70. CmUserOrganize entity = null;
  71. if (StringUtils.isNotBlank(id)) {
  72. entity = cmUserOrganizeService.get(id);
  73. }
  74. if (entity == null) {
  75. entity = new CmUserOrganize();
  76. }
  77. return entity;
  78. }
  79. @RequiresPermissions("user:cmUserOrganize:view")
  80. @RequestMapping(value = {"list", ""})
  81. public String list(CmUserOrganize cmUserOrganize, HttpServletRequest request, HttpServletResponse response, Model model) {
  82. Page<CmUserOrganize> page = cmUserOrganizeService.findPage(new Page<CmUserOrganize>(request, response), cmUserOrganize);
  83. model.addAttribute("page", page);
  84. return "modules/user/cmUserOrganizeList";
  85. }
  86. /**
  87. * 组织模块信息
  88. *
  89. * @param cmPageModules
  90. * @param request
  91. * @param response
  92. * @param model
  93. * @return
  94. */
  95. @RequiresPermissions("user:cmUserOrganize:view")
  96. @RequestMapping(value = "toUserOrganizeModules")
  97. public String toUserOrganizeModules(CmPageModules cmPageModules, Page page, HttpServletRequest request, HttpServletResponse response, Model model) {
  98. if (page.getPageSize() == -1) page.setPageSize(10);
  99. cmPageModules.setPage(page);
  100. List<CmPageModules> cmPageModulesList = cmUserOrganizeService.getCmPageModulesList(cmPageModules);
  101. page.setList(cmPageModulesList);
  102. //获取组织列表
  103. List<CmUserOrganize> cmUserOrganizeList = cmUserOrganizeService.findList(new CmUserOrganize());
  104. model.addAttribute("cmUserOrganizeList", cmUserOrganizeList);
  105. model.addAttribute("page", page);
  106. return "modules/user/cmUserOrganizeModulesList";
  107. }
  108. @RequiresPermissions("user:cmUserOrganize:view")
  109. @RequestMapping(value = "saveUserOrganizeModules")
  110. public String saveUserOrganizeModules(CmPageModules cmPageModules, Model model, HttpServletRequest request, HttpServletResponse response) {
  111. Integer organizeID = cmPageModules.getOrganizeID();
  112. String id = cmPageModules.getId();
  113. Integer idInt = null;
  114. if (StringUtils.isNotEmpty(id)) {
  115. idInt = Integer.parseInt(id);
  116. }
  117. CmPageModules cmPageModulesInfoByOrganizeID = cmUserOrganizeService.getCmPageModulesInfoByOrganizeID(organizeID, idInt);
  118. if (null != cmPageModulesInfoByOrganizeID) {//选择已经存在的组织则不允许提交
  119. addMessage(model, "该组织配置已存在,您可以去配置列表修改配置。");
  120. return toUserOrganizeModulesForm(cmPageModules, model);
  121. }
  122. String photoServer = Global.getConfig("photoServer");//获取文件服务器地址
  123. cmPageModules.setAddTime(new Date());
  124. cmPageModules.setUpdateTime(new Date());
  125. String firstModulesImage = cmPageModules.getFirstModulesImage();
  126. String secondModulesImage = cmPageModules.getSecondModulesImage();
  127. if (StringUtils.isNoneBlank(firstModulesImage) && !firstModulesImage.startsWith("http")) {
  128. firstModulesImage = Encodes.urlDecode(firstModulesImage);
  129. String realPath = UploadImageUtils.getAbsolutePath(firstModulesImage);
  130. int pointerIndex = realPath.lastIndexOf(".");
  131. ImageUploadInfo saveImageSerivce = new ImageUploadInfo();
  132. try {
  133. saveImageSerivce = UploadUtils.saveImageSerivce(realPath, pointerIndex, realPath);
  134. cmPageModules.setFirstModulesImage(photoServer + saveImageSerivce.getSource());
  135. } catch (Exception e) {
  136. logger.error("模块一图片上传错误:" + e.toString(), e);
  137. }
  138. }
  139. if (StringUtils.isNoneBlank(secondModulesImage) && !secondModulesImage.startsWith("http")) {
  140. secondModulesImage = Encodes.urlDecode(secondModulesImage);
  141. String realPath = UploadImageUtils.getAbsolutePath(secondModulesImage);
  142. int pointerIndex = realPath.lastIndexOf(".");
  143. ImageUploadInfo saveImageSerivce = new ImageUploadInfo();
  144. try {
  145. saveImageSerivce = UploadUtils.saveImageSerivce(realPath, pointerIndex, realPath);
  146. cmPageModules.setSecondModulesImage(photoServer + saveImageSerivce.getSource());
  147. } catch (Exception e) {
  148. logger.error("模二图片上传错误:" + e.toString(), e);
  149. }
  150. }
  151. if (StringUtils.isEmpty(id)) {//添加
  152. cmUserOrganizeService.saveUserOrganizeModules(cmPageModules);
  153. } else {//更新
  154. cmUserOrganizeService.updateUserOrganizeModules(cmPageModules);
  155. }
  156. return toUserOrganizeModules(new CmPageModules(), new Page(), request, response, model);//返回列表页面
  157. }
  158. @RequiresPermissions("user:cmUserOrganize:view")
  159. @RequestMapping(value = "toUserOrganizeModulesForm")
  160. public String toUserOrganizeModulesForm(CmPageModules cmPageModules, Model model) {
  161. if (null != cmPageModules && StringUtils.isNotEmpty(cmPageModules.getId())) {
  162. cmPageModules = cmUserOrganizeService.getCmPageModulesInfo(Integer.parseInt(cmPageModules.getId()));
  163. }
  164. //获取组织列表
  165. List<CmUserOrganize> cmUserOrganizeList = cmUserOrganizeService.findList(new CmUserOrganize());
  166. model.addAttribute("cmUserOrganizeList", cmUserOrganizeList);
  167. model.addAttribute("cmPageModules", cmPageModules);
  168. return "modules/user/cmUserOrganizeModulesForm";
  169. }
  170. @RequiresPermissions("user:cmUserOrganize:view")
  171. @RequestMapping(value = "form")
  172. public String form(CmUserOrganize cmUserOrganize, Model model) {
  173. model.addAttribute("cmUserOrganize", cmUserOrganize);
  174. return "modules/user/cmUserOrganizeForm";
  175. }
  176. @RequestMapping(value = "onLine")
  177. public String onLine(CmUser cmUser, Page page, Model model) {
  178. cmUser.setClubStatus("90");
  179. cmUserService.update(cmUser);//更新用户表数据
  180. NewCmClub newCmClub = new NewCmClub();
  181. newCmClub.setClubID(Integer.parseInt(cmUser.getClubID()));
  182. newCmClub.setUserID(cmUser.getUserID());
  183. newCmClub.setStatus(90);
  184. newCmClubService.update(newCmClub);//更新会所表数据
  185. //跳转列表页面
  186. cmUser.setClubStatus("");
  187. if (0 == page.getPageSize() || -1 == page.getPageSize()) page.setPageSize(30);
  188. cmUser.setPage(page);
  189. List<CmUser> cmUserList = cmUserDao.findListBuyUserInfo(cmUser);
  190. page.setList(cmUserList);
  191. model.addAttribute("userOrganizeID", cmUser.getUserOrganizeID());
  192. model.addAttribute("cmUserClub", cmUserList);
  193. return "modules/user/cmOrganizeClubList";
  194. }
  195. @RequestMapping(value = "offLine")
  196. public String offLine(CmUser cmUser, Page page, Model model) {
  197. cmUser.setClubStatus("91");
  198. cmUserService.update(cmUser);//更新用户表数据
  199. NewCmClub newCmClub = new NewCmClub();
  200. newCmClub.setClubID(Integer.parseInt(cmUser.getClubID()));
  201. newCmClub.setUserID(cmUser.getUserID());
  202. newCmClub.setStatus(91);
  203. newCmClubService.update(newCmClub);//更新会所表数据
  204. //跳转列表页面
  205. cmUser.setClubStatus("");
  206. if (0 == page.getPageSize() || -1 == page.getPageSize()) page.setPageSize(30);
  207. cmUser.setPage(page);
  208. List<CmUser> cmUserList = cmUserDao.findListBuyUserInfo(cmUser);
  209. page.setList(cmUserList);
  210. model.addAttribute("userOrganizeID", cmUser.getUserOrganizeID());
  211. model.addAttribute("cmUserClub", cmUserList);
  212. return "modules/user/cmOrganizeClubList";
  213. }
  214. /**
  215. * 上线会所(添加,编辑)
  216. *
  217. * @param cmUserOrganize
  218. * @param model
  219. * @return
  220. */
  221. @RequiresPermissions("user:cmUserOrganize:view")
  222. @RequestMapping(value = "toAddClubUser")
  223. public String toAddClubUser(CmUserOrganize cmUserOrganize, NewCmClub newCmClub, Model model) {
  224. model.addAttribute("userOrganizeID", cmUserOrganize.getId());
  225. if (null != newCmClub.getClubID()) {
  226. newCmClub = newCmClubService.findClubById(newCmClub.getClubID());
  227. }
  228. Integer provinceID = newCmClub.getProvinceID();
  229. Integer townID = newCmClub.getTownID();
  230. Integer cityID = newCmClub.getCityID();
  231. //控制编辑异常时候的会显地址下拉框
  232. if (null != provinceID && provinceID > 0) {
  233. Province province = areaDao.loadProvinceById(provinceID);
  234. newCmClub.setProvince(province.getName());
  235. }
  236. if (null != cityID && cityID > 0) {
  237. City city = areaDao.loadCityById(cityID);
  238. newCmClub.setCity(city.getName());
  239. }
  240. if (null != townID && townID > 0) {
  241. Town town = areaDao.loadTownByID(townID);
  242. newCmClub.setTown(town.getName());
  243. }
  244. model.addAttribute("newCmClub", newCmClub);
  245. return "modules/user/toAddClubUserForm";
  246. }
  247. /**
  248. * 保存上线会所信息(添加,编辑)
  249. *
  250. * @param cmUserOrganize
  251. * @param model
  252. * @return
  253. */
  254. @RequiresPermissions("user:cmUserOrganize:view")
  255. @RequestMapping(value = "saveAddClubUser")
  256. @Transactional
  257. public String saveAddClubUser(CmUserOrganize cmUserOrganize, Page page, NewCmClub newCmClub, CmUser cmUser, Model model) throws Exception {
  258. String contractMobile = newCmClub.getContractMobile();
  259. Integer userID = newCmClub.getUserID();
  260. Integer clubID = newCmClub.getClubID();
  261. cmUser.setUserOrganizeID(Integer.parseInt(cmUserOrganize.getId()));
  262. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  263. String currentDate = sdf.format(new Date());
  264. //判断该会所手机号是否已存在
  265. cmUser.setBindMobile(contractMobile);
  266. List<CmUser> listBuyBindMobile = cmUserService.findListBuyBindMobile(cmUser);
  267. if (CollectionUtils.isNotEmpty(listBuyBindMobile) && listBuyBindMobile.size() > 0) {
  268. addMessage(model, "该手机号码已被使用");
  269. return toAddClubUser(cmUserOrganize, newCmClub, model);
  270. }
  271. //添加用户信息(新增或修改通用)
  272. cmUser.setName(newCmClub.getName());
  273. cmUser.setUserName(newCmClub.getName());
  274. cmUser.setRealName(newCmClub.getName());
  275. cmUser.setClubStatus(String.valueOf(newCmClub.getStatus()));
  276. //添加用户新增信息
  277. if (null == userID) {//新增
  278. cmUser = initUser(cmUser, newCmClub);
  279. cmUserService.insert(cmUser);//插入新的用户数据
  280. }
  281. //修改图片全路径
  282. ImageUploadInfo saveImageSerivce = new ImageUploadInfo();
  283. String photoServer = Global.getConfig("photoServer");
  284. String businessLicenseImage = newCmClub.getBusinessLicenseImage();
  285. String headpic = newCmClub.getHeadpic();
  286. if (StringUtils.isNotBlank(businessLicenseImage) && !businessLicenseImage.startsWith("http:") && !businessLicenseImage.startsWith("https:")) {
  287. businessLicenseImage = Encodes.urlDecode(businessLicenseImage);
  288. String realPath = UploadImageUtils.getAbsolutePath(businessLicenseImage);
  289. int pointerIndex = realPath.lastIndexOf(".");
  290. try {
  291. saveImageSerivce = UploadUtils.saveImageSerivce(realPath, pointerIndex, realPath);
  292. newCmClub.setBusinessLicenseImage(photoServer + saveImageSerivce.getSource());
  293. } catch (Exception e) {
  294. logger.error("图片上传错误:" + e.toString(), e);
  295. }
  296. }
  297. if (StringUtils.isNotBlank(headpic) && !headpic.startsWith("http:") && !headpic.startsWith("https:")) {
  298. headpic = Encodes.urlDecode(headpic);
  299. String realPath = UploadImageUtils.getAbsolutePath(headpic);
  300. int pointerIndex = realPath.lastIndexOf(".");
  301. try {
  302. saveImageSerivce = UploadUtils.saveImageSerivce(realPath, pointerIndex, realPath);
  303. newCmClub.setHeadpic(photoServer + saveImageSerivce.getSource());
  304. } catch (Exception e) {
  305. logger.error("图片上传错误:" + e.toString(), e);
  306. }
  307. }
  308. //添加会所表信息
  309. newCmClub.setSname(newCmClub.getName());
  310. if (null == clubID) {
  311. newCmClub.setUserID(cmUser.getUserID());
  312. newCmClub.setDefaultServiceProviderID(AppKeys.DEFAULT_SPID);
  313. newCmClub.setSpID(AppKeys.DEFAULT_SPID);
  314. newCmClub.setMainServiceProviderID(AppKeys.DEFAULT_SPID);
  315. newCmClub.setScanFlag("2");
  316. newCmClub.setFlag("0");
  317. newCmClub.setAddTime(currentDate);
  318. newCmClub.setDefaultServiceProviderUpdTime(DateTimeUtil.getCurrentDateTime());
  319. newCmClubService.insert(newCmClub);
  320. //更新用户绑定关系
  321. cmUser.setClubID(String.valueOf(newCmClub.getClubID()));
  322. String nick = cmUser.getUserID() + "_" + RandomCodeGenerator.generateCodeString(4).toLowerCase();
  323. //更新会所绑定关系
  324. newCmClub.setUserID(cmUser.getUserID());
  325. }
  326. cmUserService.update(cmUser);//更新用户表数据(编辑数据,或新增数据更新)
  327. newCmClubService.update(newCmClub);//更新会所表数据(编辑数据,或新增数据更新)
  328. //保存后跳转会所组织会所列表页面
  329. String id = cmUserOrganize.getId();
  330. CmUser user = new CmUser();
  331. user.setUserOrganizeID(Integer.parseInt(id));
  332. if (0 == page.getPageSize() || -1 == page.getPageSize()) page.setPageSize(30);
  333. user.setPage(page);
  334. List<CmUser> cmUserList = cmUserDao.findListBuyUserInfo(user);
  335. page.setList(cmUserList);
  336. model.addAttribute("userOrganizeID", id);
  337. model.addAttribute("cmUser", new CmUser());//清空查询对象方式会显输入框
  338. model.addAttribute("cmUserClub", cmUserList);
  339. return "modules/user/cmOrganizeClubList";
  340. }
  341. /**
  342. * 初始化用户数据
  343. */
  344. public CmUser initUser(CmUser cmUser, NewCmClub newCmClub) throws Exception {
  345. String curTime = DateUtils.getDateTime();
  346. cmUser.setRegisterUserTypeID("3");//设置为会所
  347. cmUser.setUserIdentity(2);
  348. cmUser.setServiceProviderStatus("90");//设置默认协销状态
  349. cmUser.setServiceProviderID("1342");
  350. cmUser.setAuditTime(curTime);
  351. cmUser.setAuditStatus("1");//审核通过
  352. cmUser.setAuditNote("后台添加用户系统默认审核通过");
  353. cmUser.setRegisterTime(curTime);
  354. cmUser.setLoginTime(curTime);
  355. cmUser.setAccount(newCmClub.getContractMobile() + RandomCodeGenerator.generateAccount(2));
  356. cmUser.setPassword(MD5Util.MD5("caimei123"));
  357. cmUser.setBindMobile(newCmClub.getContractMobile());
  358. cmUser.setUserName(newCmClub.getName());
  359. cmUser.setUserMoney(0d);
  360. cmUser.setAbleUserMoney(0d);
  361. cmUser.setUserBeans(0);
  362. cmUser.setValidFlag("1");
  363. cmUser.setAgreeFlag("1");
  364. cmUser.setLoginFailTime("0");
  365. cmUser.setScanFlag("2");
  366. cmUser.setUserPermission(2);
  367. return cmUser;
  368. }
  369. @RequiresPermissions("user:cmUserOrganize:view")
  370. @RequestMapping(value = "toCmOrganizeClubList")
  371. public String toCmOrganizeClubList(CmUser cmUser, Page page, Model model) {
  372. if (0 == page.getPageSize() || -1 == page.getPageSize()) page.setPageSize(30);
  373. cmUser.setPage(page);
  374. List<CmUser> cmUserList = cmUserDao.findListBuyUserInfo(cmUser);
  375. page.setList(cmUserList);
  376. model.addAttribute("userOrganizeID", cmUser.getUserOrganizeID());
  377. model.addAttribute("cmUserClub", cmUserList);
  378. model.addAttribute("startTime", cmUser.getStartTime());
  379. model.addAttribute("endTime", cmUser.getEndTime());
  380. return "modules/user/cmOrganizeClubList";
  381. }
  382. @RequiresPermissions("user:cmUserOrganize:view")
  383. @RequestMapping(value = "toOrganizeInfo")
  384. public String toOrganizeInfo(CmUserOrganize cmUserOrganize, Model model) {
  385. model.addAttribute("cmUserOrganize", cmUserOrganize);
  386. return "modules/user/cmUserOrganizeInfo";
  387. }
  388. @RequiresPermissions("user:cmUserOrganize:view")
  389. @RequestMapping(value = "toOrganizeAccount")
  390. public String toOrganizeAccount(CmMallAdminUser cmMallAdminUser, Model model) {
  391. List<CmMallAdminUser> cmMallAdminUserList = cmUserOrganizeService.getCmMallAdminUserList(cmMallAdminUser);
  392. model.addAttribute("cmMallAdminUserList", cmMallAdminUserList);
  393. CmUserOrganize cmUserOrganize = cmUserOrganizeService.get(String.valueOf(cmMallAdminUser.getOrganizeID()));
  394. String organizeName = "";
  395. if (null != cmUserOrganize) {
  396. organizeName = cmUserOrganize.getOrganizeName();
  397. }
  398. model.addAttribute("organizeName", organizeName);
  399. return "modules/user/cmOrganizeAdminAccountList";
  400. }
  401. @RequiresPermissions("user:cmUserOrganize:view")
  402. @RequestMapping(value = "addOrganizeAccount")
  403. public String addOrganizeAccount(CmMallAdminUser cmMallAdminUser, Model model) {
  404. String id = cmMallAdminUser.getId();
  405. if (StringUtils.isNotEmpty(id)) {
  406. cmMallAdminUser = cmUserOrganizeService.getCmMallAdminUserInfo(cmMallAdminUser);
  407. cmMallAdminUser.setPassword("");
  408. }
  409. model.addAttribute("cmMallAdminUser", cmMallAdminUser);
  410. //获取组织信息
  411. CmUserOrganize cmUserOrganize = cmUserOrganizeService.get(String.valueOf(cmMallAdminUser.getOrganizeID()));
  412. String organizeName = "";
  413. if (null != cmUserOrganize) {
  414. organizeName = cmUserOrganize.getOrganizeName();
  415. }
  416. model.addAttribute("organizeName", organizeName);
  417. return "modules/user/cmOrganizeAdminAccountForm";
  418. }
  419. @RequiresPermissions("user:cmUserOrganize:edit")
  420. @RequestMapping(value = "saveOrganizeAccount")
  421. public String saveOrganizeAccount(CmMallAdminUser cmMallAdminUser, Model model) throws Exception {
  422. //判断用户账号是否被注册
  423. CmMallAdminUser user = new CmMallAdminUser();
  424. user.setId(cmMallAdminUser.getId());
  425. user.setAccount(cmMallAdminUser.getAccount());
  426. CmMallAdminUser cmMallAdminUserByAccount = cmUserOrganizeService.getCmMallAdminUserByAccount(user);
  427. if (null != cmMallAdminUserByAccount) {
  428. addMessage(model, "该登录名已被使用,请更换登录名");
  429. return addOrganizeAccount(cmMallAdminUser, model);
  430. }
  431. Date date = new Date();
  432. String password = cmMallAdminUser.getPassword();
  433. String confirmPassword = cmMallAdminUser.getConfirmPassword();
  434. if (!StringUtils.equals(password, confirmPassword)) {
  435. addMessage(model, "两次输入的密码不一致");
  436. return addOrganizeAccount(cmMallAdminUser, model);
  437. }
  438. String id = cmMallAdminUser.getId();
  439. //利用UUID生成随机盐
  440. UUID uuid = UUID.randomUUID();
  441. String[] arr = uuid.toString().split("-");
  442. String newPassword = password + arr[0];
  443. String s = MD5Util.MD5(newPassword);
  444. cmMallAdminUser.setSalt(arr[0]);
  445. cmMallAdminUser.setPassword(s);
  446. cmMallAdminUser.setAddTime(date);
  447. cmMallAdminUser.setUpdateTime(date);
  448. if (StringUtils.isEmpty(id)) {//插入
  449. cmUserOrganizeService.insertAdminUser(cmMallAdminUser);
  450. } else {//更新
  451. cmUserOrganizeService.updateAdminUserPassword(cmMallAdminUser);
  452. }
  453. CmMallAdminUser user1 = new CmMallAdminUser();
  454. user1.setOrganizeID(cmMallAdminUser.getOrganizeID());
  455. return toOrganizeAccount(cmMallAdminUser, model);
  456. }
  457. @RequiresPermissions("user:cmUserOrganize:edit")
  458. @RequestMapping(value = "updateAdminUserPassword")
  459. public String updateAdminUserPassword(CmMallAdminUser cmMallAdminUser, Model model) throws Exception {
  460. Date date = new Date();
  461. //利用UUID生成随机盐
  462. UUID uuid = UUID.randomUUID();
  463. String[] arr = uuid.toString().split("-");
  464. String newPassword = cmMallAdminUser.getPassword() + arr[0];
  465. String s = MD5Util.MD5(newPassword);
  466. cmMallAdminUser.setSalt(arr[0]);
  467. cmMallAdminUser.setPassword(s);
  468. cmMallAdminUser.setAddTime(date);
  469. cmMallAdminUser.setUpdateTime(date);
  470. cmUserOrganizeService.updateAdminUserPassword(cmMallAdminUser);
  471. CmMallAdminUser user1 = new CmMallAdminUser();
  472. user1.setOrganizeID(cmMallAdminUser.getOrganizeID());
  473. return toOrganizeAccount(cmMallAdminUser, model);
  474. }
  475. @RequiresPermissions("user:cmUserOrganize:view")
  476. @RequestMapping(value = "toOrganizeInfo1")
  477. public String toOrganizeInfo1(CmUserOrganize cmUserOrganize, Model model) {
  478. model.addAttribute("cmUserOrganize", cmUserOrganize);
  479. return "modules/user/cmUserOrganizeInfo1";
  480. }
  481. @RequiresPermissions("user:cmUserOrganize:view")
  482. @RequestMapping(value = "toOrganizeInfo2")
  483. public String toOrganizeInfo2(CmUserOrganize cmUserOrganize, Model model) {
  484. model.addAttribute("cmUserOrganize", cmUserOrganize);
  485. return "modules/user/cmUserOrganizeInfo2";
  486. }
  487. @RequiresPermissions("user:cmUserOrganize:view")
  488. @RequestMapping(value = "toOrganizeName")
  489. public String toOrganizeName(CmUserOrganize cmUserOrganize, Model model) {
  490. model.addAttribute("cmUserOrganize", cmUserOrganize);
  491. return "modules/user/cmUserOrganizeName";
  492. }
  493. @RequiresPermissions("user:cmUserOrganize:view")
  494. @RequestMapping(value = "saveOrganizeName")
  495. public String saveOrganizeName(CmUserOrganize cmUserOrganize, Model model) {
  496. String photoServer = Global.getConfig("photoServer");//获取文件服务器地址
  497. String systemImage = cmUserOrganize.getSystemImage();
  498. if (StringUtils.isNoneBlank(systemImage) && !systemImage.startsWith("http")) {
  499. systemImage = Encodes.urlDecode(systemImage);
  500. String realPath = UploadImageUtils.getAbsolutePath(systemImage);
  501. int pointerIndex = realPath.lastIndexOf(".");
  502. ImageUploadInfo saveImageSerivce = new ImageUploadInfo();
  503. try {
  504. saveImageSerivce = UploadUtils.saveImageSerivce(realPath, pointerIndex, realPath);
  505. cmUserOrganize.setSystemImage(photoServer + saveImageSerivce.getSource());
  506. } catch (Exception e) {
  507. logger.error("图片上传错误:" + e.toString(), e);
  508. }
  509. }
  510. cmUserOrganizeService.updateOrganizeNameInfo(cmUserOrganize);
  511. return "redirect:" + Global.getAdminPath() + "/user/cmUserOrganize/";
  512. }
  513. @RequiresPermissions("user:cmUserOrganize:view")
  514. @RequestMapping(value = "saveOrganizeInfo")
  515. public String saveOrganizeInfo(CmUserOrganize cmUserOrganize, Model model) {
  516. String photoServer = Global.getConfig("photoServer");//获取文件服务器地址
  517. String introduction = Encodes.unescapeHtml(cmUserOrganize.getIntroduction());
  518. introduction = StringUtils.replace(introduction, "<body", "<div");
  519. introduction = StringUtils.replace(introduction, "</body>", "</div>");
  520. Document doc = Jsoup.parse(introduction);
  521. Elements links = doc.getElementsByTag("img");
  522. for (Element link : links) {
  523. String linkSrc = link.attr("src");
  524. String linkSrcOld = link.attr("src");
  525. if (StringUtils.isNotBlank(linkSrc) && !linkSrc.contains("http:") && !linkSrc.contains("https:") && !linkSrc.contains("uploadFile/ueditor")) {//不包含http开头的
  526. linkSrc = Encodes.urlDecode(linkSrc);
  527. String realPath = UploadImageUtils.getAbsolutePath(linkSrc);
  528. int pointerIndex = realPath.lastIndexOf(".");
  529. ImageUploadInfo saveImageSerivce = new ImageUploadInfo();
  530. try {
  531. saveImageSerivce = ImagePathUtils.saveImageSerivce(realPath, pointerIndex, realPath);
  532. String src = photoServer + saveImageSerivce.getSource();
  533. introduction = StringUtils.replace(introduction, linkSrcOld, src);
  534. } catch (Exception e) {
  535. logger.error("图片上传错误:" + e.toString(), e);
  536. }
  537. }
  538. }
  539. cmUserOrganize.setIntroduction(introduction);
  540. cmUserOrganize.setUpdateTime(new Date());
  541. cmUserOrganizeService.updateOrganizeInfo(cmUserOrganize);
  542. return "redirect:" + Global.getAdminPath() + "/user/cmUserOrganize/";
  543. }
  544. @RequiresPermissions("user:cmUserOrganize:view")
  545. @RequestMapping(value = "saveOrganizeInfo1")
  546. public String saveOrganizeInfo1(CmUserOrganize cmUserOrganize, Model model) {
  547. String photoServer = Global.getConfig("photoServer");//获取文件服务器地址
  548. String afterSale = Encodes.unescapeHtml(cmUserOrganize.getAfterSale());
  549. afterSale = StringUtils.replace(afterSale, "<body", "<div");
  550. afterSale = StringUtils.replace(afterSale, "</body>", "</div>");
  551. Document doc = Jsoup.parse(afterSale);
  552. Elements links = doc.getElementsByTag("img");
  553. for (Element link : links) {
  554. String linkSrc = link.attr("src");
  555. String linkSrcOld = link.attr("src");
  556. if (StringUtils.isNotBlank(linkSrc) && !linkSrc.contains("http:") && !linkSrc.contains("https:") && !linkSrc.contains("uploadFile/ueditor")) {//不包含http开头的
  557. linkSrc = Encodes.urlDecode(linkSrc);
  558. String realPath = UploadImageUtils.getAbsolutePath(linkSrc);
  559. int pointerIndex = realPath.lastIndexOf(".");
  560. ImageUploadInfo saveImageSerivce = new ImageUploadInfo();
  561. try {
  562. saveImageSerivce = ImagePathUtils.saveImageSerivce(realPath, pointerIndex, realPath);
  563. String src = photoServer + saveImageSerivce.getSource();
  564. afterSale = StringUtils.replace(afterSale, linkSrcOld, src);
  565. } catch (Exception e) {
  566. logger.error("图片上传错误:" + e.toString(), e);
  567. }
  568. }
  569. }
  570. cmUserOrganize.setAfterSale(afterSale);
  571. cmUserOrganize.setUpdateTime(new Date());
  572. cmUserOrganizeService.updateOrganizeInfo1(cmUserOrganize);
  573. return "redirect:" + Global.getAdminPath() + "/user/cmUserOrganize/";
  574. }
  575. @RequiresPermissions("user:cmUserOrganize:view")
  576. @RequestMapping(value = "saveOrganizeInfo2")
  577. public String saveOrganizeInfo2(CmUserOrganize cmUserOrganize, Model model) {
  578. String photoServer = Global.getConfig("photoServer");//获取文件服务器地址
  579. String shoppingNotes = Encodes.unescapeHtml(cmUserOrganize.getShoppingNotes());
  580. shoppingNotes = StringUtils.replace(shoppingNotes, "<body", "<div");
  581. shoppingNotes = StringUtils.replace(shoppingNotes, "</body>", "</div>");
  582. Document doc = Jsoup.parse(shoppingNotes);
  583. Elements links = doc.getElementsByTag("img");
  584. for (Element link : links) {
  585. String linkSrc = link.attr("src");
  586. String linkSrcOld = link.attr("src");
  587. if (StringUtils.isNotBlank(linkSrc) && !linkSrc.contains("http:") && !linkSrc.contains("https:") && !linkSrc.contains("uploadFile/ueditor")) {//不包含http开头的
  588. linkSrc = Encodes.urlDecode(linkSrc);
  589. String realPath = UploadImageUtils.getAbsolutePath(linkSrc);
  590. int pointerIndex = realPath.lastIndexOf(".");
  591. ImageUploadInfo saveImageSerivce = new ImageUploadInfo();
  592. try {
  593. saveImageSerivce = ImagePathUtils.saveImageSerivce(realPath, pointerIndex, realPath);
  594. String src = photoServer + saveImageSerivce.getSource();
  595. shoppingNotes = StringUtils.replace(shoppingNotes, linkSrcOld, src);
  596. } catch (Exception e) {
  597. logger.error("图片上传错误:" + e.toString(), e);
  598. }
  599. }
  600. }
  601. cmUserOrganize.setShoppingNotes(shoppingNotes);
  602. cmUserOrganize.setUpdateTime(new Date());
  603. cmUserOrganizeService.updateOrganizeInfo2(cmUserOrganize);
  604. return "redirect:" + Global.getAdminPath() + "/user/cmUserOrganize/";
  605. }
  606. @RequiresPermissions("user:cmUserOrganize:edit")
  607. @RequestMapping(value = "save")
  608. public String save(CmUserOrganize cmUserOrganize, Model model, RedirectAttributes redirectAttributes) {
  609. if (!beanValidator(model, cmUserOrganize)) {
  610. return form(cmUserOrganize, model);
  611. }
  612. Date date = new Date();
  613. cmUserOrganize.setUpdateDate(date);
  614. cmUserOrganize.setAddTime(date);
  615. cmUserOrganizeService.save(cmUserOrganize);
  616. addMessage(redirectAttributes, "保存成功");
  617. return "redirect:" + Global.getAdminPath() + "/user/cmUserOrganize/";
  618. }
  619. @RequiresPermissions("user:cmUserOrganize:delete")
  620. @RequestMapping(value = "delete")
  621. public String delete(CmUserOrganize cmUserOrganize, RedirectAttributes redirectAttributes) {
  622. cmUserOrganizeService.delete(cmUserOrganize);
  623. addMessage(redirectAttributes, "删除成功");
  624. return "redirect:" + Global.getAdminPath() + "/user/cmUserOrganize/";
  625. }
  626. /**
  627. * 星范商城banner图列表
  628. */
  629. @RequestMapping(value = "banner")
  630. public String organizeBanner(CmMallBannerImage cmMallBannerImage, HttpServletRequest request, HttpServletResponse response, Model model) {
  631. Page<CmMallBannerImage> page = cmMallBannerImageService.findPage(new Page<CmMallBannerImage>(request, response), cmMallBannerImage);
  632. model.addAttribute("page", page);
  633. model.addAttribute("organizeID", cmMallBannerImage.getOrganizeID());
  634. return "modules/user/cmMallBannerImageList";
  635. }
  636. @RequestMapping(value = "formBanner")
  637. public String formBanner(CmMallBannerImage cmMallBannerImage, Model model) {
  638. if (StringUtils.isNoneBlank(cmMallBannerImage.getId())) {
  639. cmMallBannerImage = cmMallBannerImageService.get(cmMallBannerImage.getId());
  640. }
  641. model.addAttribute("cmMallBannerImage", cmMallBannerImage);
  642. model.addAttribute("organizeID", cmMallBannerImage.getOrganizeID());
  643. return "modules/user/cmMallBannerImageForm";
  644. }
  645. /**
  646. * 添加banner图
  647. */
  648. @RequestMapping(value = "savaBanner")
  649. public String savaBanner(CmMallBannerImage cmMallBannerImage, Model model, RedirectAttributes redirectAttributes) {
  650. if (!beanValidator(model, cmMallBannerImage)) {
  651. return formBanner(cmMallBannerImage, model);
  652. }
  653. cmMallBannerImageService.save(cmMallBannerImage);
  654. addMessage(redirectAttributes, "保存banner图成功");
  655. return "redirect:" + Global.getAdminPath() + "/user/cmUserOrganize/banner?organizeID=" + cmMallBannerImage.getOrganizeID();
  656. }
  657. /**
  658. * banner图停启用
  659. */
  660. @RequestMapping(value = "switch")
  661. public String switchLine(CmMallBannerImage cmMallBannerImage, RedirectAttributes redirectAttributes) {
  662. cmMallBannerImage.setUpdateTime(new Date());
  663. if (cmMallBannerImage.getEnabledStatus().equals("0")) {
  664. cmMallBannerImage.setEnabledStatus("1");
  665. cmMallBannerImageService.switchLine(cmMallBannerImage);
  666. addMessage(redirectAttributes, "启用成功");
  667. } else {
  668. cmMallBannerImage.setEnabledStatus("0");
  669. cmMallBannerImageService.switchLine(cmMallBannerImage);
  670. addMessage(redirectAttributes, "停用成功");
  671. }
  672. return "redirect:" + Global.getAdminPath() + "/user/cmUserOrganize/banner?organizeID=" + cmMallBannerImage.getOrganizeID();
  673. }
  674. /**
  675. * 批量保存banner图排序
  676. */
  677. @ResponseBody
  678. @RequestMapping(value = "saveSort")
  679. public Map<String, Object> saveSort(String newProducSorttList) {
  680. Map<String, Object> map = Maps.newLinkedHashMap();
  681. try {
  682. String[] newPageLists = newProducSorttList.split(",");
  683. for (String list : newPageLists) {
  684. String[] split = list.split("-");
  685. if (split.length == 1 || split.length < 1) {
  686. String id = split[0];
  687. String sort = null;
  688. cmMallBannerImageService.saveSort(sort, id);
  689. } else {
  690. String id = split[0];
  691. String sort = split[1];
  692. if (CmMallOrganizeProductsController.isInteger(sort)) {
  693. if (StringUtils.equals("0", sort)) {
  694. map.put("success", false);
  695. map.put("msg", "排序值只能填写大于等于1的整数");
  696. return map;
  697. }
  698. cmMallBannerImageService.saveSort(sort, id);
  699. } else {
  700. map.put("success", false);
  701. map.put("msg", "排序值只能为数字");
  702. return map;
  703. }
  704. }
  705. }
  706. map.put("success", true);
  707. map.put("msg", "更新排序成功");
  708. return map;
  709. } catch (Exception e) {
  710. map.put("success", false);
  711. map.put("msg", "更新排序失败");
  712. return map;
  713. }
  714. }
  715. }