AuditController.java 57 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245
  1. package com.agent.action.audit;
  2. import com.agent.action.common.AbstractController;
  3. import com.agent.constans.CommonConstants;
  4. import com.agent.constans.ConfigConstants;
  5. import com.agent.constans.TemplateConstants;
  6. import com.agent.model.audit.bean.DisplaceAuditBean;
  7. import com.agent.model.audit.service.DisplaceAuditService;
  8. import com.agent.model.bms.bean.UserBean;
  9. import com.agent.model.common.bean.PageResultBean;
  10. import com.agent.model.common.bean.ResultBean;
  11. import com.agent.model.digger.bean.DiggerBean;
  12. import com.agent.model.digger.service.DiggerBeanService;
  13. import com.agent.model.offer.service.OfferBeanService;
  14. import com.agent.model.pushrecord.bean.PushRecordBean;
  15. import com.agent.model.pushrecord.service.PushRecordBeanService;
  16. import com.agent.model.sale.bean.SalesBean;
  17. import com.agent.model.sale.service.SaleBeanService;
  18. import com.agent.model.shop.bean.AgentBean;
  19. import com.agent.model.shop.service.AgentBeanService;
  20. import com.agent.model.usercolumn.bean.UserColumnRoleBean;
  21. import com.agent.model.usermanage.service.UserManageService;
  22. import com.agent.model.wxInterface.bean.TemplateData;
  23. import com.agent.util.*;
  24. import com.alibaba.fastjson.JSON;
  25. import com.alibaba.fastjson.JSONObject;
  26. import org.slf4j.Logger;
  27. import org.slf4j.LoggerFactory;
  28. import org.springframework.beans.factory.annotation.Autowired;
  29. import org.springframework.beans.factory.annotation.Value;
  30. import org.springframework.stereotype.Controller;
  31. import org.springframework.web.bind.annotation.ModelAttribute;
  32. import org.springframework.web.bind.annotation.RequestMapping;
  33. import org.springframework.web.bind.annotation.RequestParam;
  34. import org.springframework.web.bind.annotation.ResponseBody;
  35. import org.springframework.web.servlet.ModelAndView;
  36. import javax.servlet.http.HttpServletRequest;
  37. import javax.servlet.http.HttpServletResponse;
  38. import javax.servlet.http.HttpSession;
  39. import java.io.File;
  40. import java.io.IOException;
  41. import java.util.*;
  42. /**
  43. * 置换审核controller
  44. *
  45. */
  46. @Controller
  47. @RequestMapping("/audit")
  48. public class AuditController extends AbstractController{
  49. private static Logger log = LoggerFactory.getLogger(AuditController.class);
  50. /**
  51. * 置换审核service
  52. */
  53. @Autowired
  54. private DisplaceAuditService displaceAuditService;
  55. /**
  56. * 报价service
  57. */
  58. @Autowired
  59. private OfferBeanService offerBeanService;
  60. @Value("${wjj.api.domain}")
  61. private String wjjDomain;
  62. /**
  63. * 置换审核列表页(后台)
  64. */
  65. private final String PLAT_AUDIT_LIST = "audit/platAuditList";
  66. /**
  67. * 置换审核列表页(超级管理员)
  68. */
  69. private final String SUPER_ADMIN_AUDIT_LIST = "audit/superAdminAuditList";
  70. /**
  71. * 置换审核列表页(代理商-代运营)
  72. */
  73. private final String AGENT_AUDIT_LIST = "audit/agentAuditList";
  74. /**
  75. * 置换审核列表页(代理商-自运营)
  76. */
  77. private final String SINCE_AGENT_AUDIT_LIST = "audit/sinceAgentAuditList";
  78. /**
  79. * 置换审核列表页(管理员)
  80. */
  81. private final String ADMIN_AUDIT_LIST = "audit/adminAuditList";
  82. /**
  83. * 置换审核列表页(精品机)
  84. */
  85. private final String GOOD_AUDIT_LIST = "audit/goodAdminAuditList";
  86. /**
  87. * 登录页
  88. */
  89. private final String LOGIN_INDEX = "login/index";
  90. /**
  91. * 车商service
  92. */
  93. @Autowired
  94. private DiggerBeanService diggerBeanService;
  95. /**
  96. * 信息记录service
  97. */
  98. @Autowired
  99. private PushRecordBeanService pushRecordBeanService;
  100. /**
  101. * 销售员service
  102. */
  103. @Autowired
  104. private SaleBeanService saleBeanService;
  105. /**
  106. * 代理商service
  107. */
  108. @Autowired
  109. private AgentBeanService agentBeanService;
  110. //精品机配置
  111. @Value("${jpjgh}")
  112. private String jpjgh;
  113. /**
  114. * 载入置换审核列表页面
  115. * @param request
  116. * @param response
  117. * @return
  118. * @throws IOException
  119. */
  120. @RequestMapping("/toAuditList.do")
  121. public ModelAndView showShopList(HttpServletRequest request,
  122. HttpServletResponse response) throws Exception{
  123. //页面跳转
  124. ModelAndView mv;
  125. //获取登录信息
  126. HttpSession session = request.getSession();
  127. UserBean user = (UserBean)session.getAttribute(CommonConstants.USER_INFO);
  128. //如果是管理员,跳转到平台列表页,否则跳转到商家列表页
  129. if(user == null){
  130. //如果未登录,跳转到登录页
  131. return super.createJspView(LOGIN_INDEX);
  132. }
  133. log.info("进入置换审核页面,当前登录人信息 userAccount:" + user.getUserAccount() + ", userRank:" + user.getUserRank() + ", isAdmin:" + user.getIsAdmin() + ", agentType:" + user.getAgentType());
  134. if (UserBean.USER_RANK_SUPER_ADMIN.equals(user.getUserRank())) {
  135. mv = super.createJspView(SUPER_ADMIN_AUDIT_LIST);
  136. } else if (UserBean.USER_RANK_ADMIN.equals(user.getUserRank())) {
  137. mv = super.createJspView(ADMIN_AUDIT_LIST);
  138. }else if (UserBean.USER_RANK_GOOD.equals(user.getUserRank())) {
  139. mv = super.createJspView(GOOD_AUDIT_LIST);
  140. } else {
  141. // 判断是 自运营 还是 代运营
  142. if (UserBean.AGENT_TYPE_SINCE == user.getAgentType()) {
  143. mv = super.createJspView(SINCE_AGENT_AUDIT_LIST);
  144. } else {
  145. mv = super.createJspView(AGENT_AUDIT_LIST);
  146. }
  147. }
  148. //查询设备品牌
  149. //List<DbResultBean> ppList = offerBeanService.queryFlList(ConfigConstants.SBPP,"");
  150. //查询设备类型
  151. //List<DbResultBean> lxList = offerBeanService.queryFlList(ConfigConstants.SBLX,"");
  152. //页面跳转
  153. //mv.addObject("deviceBrands", ppList);
  154. //mv.addObject("deviceTypes", lxList);
  155. return mv;
  156. }
  157. @RequestMapping("/pushDisplaceAuditMessage.do")
  158. public void pushDisplaceAuditMessage(@RequestParam String agentId, @RequestParam String saleId, @RequestParam String displaceId,
  159. HttpServletRequest request, HttpServletResponse response) {
  160. log.info("调用推送置换审核微信信息(/audit/pushDisplaceAuditMessage.do)接口, agentId:" + agentId + ", saleId:" + saleId + ", displaceId:" + displaceId);
  161. ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE, "成功");
  162. try {
  163. HttpSession session = request.getSession();
  164. UserBean user = (UserBean)session.getAttribute(CommonConstants.USER_INFO);
  165. if(user == null) {
  166. resultBean = new ResultBean(PageResultBean.FAIL_CODE, "请先登录!");
  167. return;
  168. }
  169. final String apiUrl = wjjDomain + "wechat/pushDisplaceAuditMessage";
  170. // final String apiUrl = "http://localhost:8082/" + "wechat/pushDisplaceAuditMessage";
  171. Map<String, Object> requestParams = new HashMap<>();
  172. requestParams.put("agentId", agentId);
  173. requestParams.put("saleId", saleId);
  174. requestParams.put("displaceId", displaceId);
  175. final HttpResult httpResult = HttpUtils.post(apiUrl, requestParams);
  176. if (httpResult.getStatusCode() != 200) {
  177. log.info("调用wjj-api推送置换审核微信消息失败, statusCode:{}", httpResult.getStatusCode());
  178. resultBean= new ResultBean(PageResultBean.FAIL_CODE,"系统繁忙,请稍后再来!");
  179. } else {
  180. final String content = httpResult.getContent();
  181. log.info("调用wjj-api推送置换审核微信消息, 响应内容:{}", content);
  182. if (org.apache.commons.lang3.StringUtils.isBlank(content)) {
  183. log.info("调用wjj-api推送置换审核微信消息, 响应内容为空");
  184. } else {
  185. final JSONObject jsonObject = JSON.parseObject(content);
  186. final Integer code = jsonObject.getInteger("code");
  187. String message = jsonObject.getString("message");
  188. message = StringUtils.isBlank(message) ? "系统繁忙,请稍后再来!" : message;
  189. if (code == 0) {
  190. resultBean = new ResultBean(ResultBean.FAIL_CODE, message);
  191. }
  192. }
  193. }
  194. } catch (Exception e) {
  195. resultBean= new ResultBean(PageResultBean.FAIL_CODE,"系统繁忙,请稍后再来!");
  196. log.error("调用推送置换审核微信信息异常", e);
  197. }finally{
  198. super.printResult(request, response, resultBean.toString());
  199. }
  200. }
  201. @RequestMapping("/showDaili.do")
  202. public void showDaili(@RequestParam String agentId, HttpServletRequest request, HttpServletResponse response){
  203. ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE, "成功");
  204. AgentBean bean=agentBeanService.getAgentBeanByAgentId(agentId);
  205. if(bean.getIsAttent().equals("1")){
  206. super.printResult(request,response,resultBean.toString());
  207. }else{
  208. resultBean.setResult("该设备没有同步到微工程,不能同步推送");
  209. super.printResult(request,response,resultBean.toString());
  210. }
  211. }
  212. @RequestMapping("/showDailiAll.do")
  213. public void showDailiAll(HttpServletRequest request, HttpServletResponse response,@RequestParam String agentIds){
  214. ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE, "成功");
  215. String [] allstr=agentIds.split("=");
  216. String agentId=allstr[0];
  217. String zhihuanId=allstr[1];
  218. int pageszie=Integer.parseInt( request.getParameter("pagesize"));
  219. int page =Integer.parseInt(request.getParameter("page"));
  220. String mutiStatus=request.getParameter("mutiStatus");
  221. String focusBrandNames=request.getParameter("focusBrandNames");
  222. if(StringUtils.isNotBlank(agentId)){
  223. AgentBean bean=agentBeanService.getAgentBeanByAgentId(agentId);
  224. if(bean.getIsAttent().equals("1")) {
  225. List<AgentBean> all= agentBeanService.findAgent();
  226. List<DiggerBean> alldig=new ArrayList<>();
  227. List<DiggerBean> list = diggerBeanService.getDiggerss(agentId,page,pageszie,mutiStatus,focusBrandNames);
  228. // List<DiggerBean> list = diggerBeanService.getDiggerss("WGC000",page,pageszie,mutiStatus,focusBrandNames);
  229. Map<String,Object> map=new HashMap<>();
  230. map.put("list",list);
  231. map.put("zhihuanId",zhihuanId);
  232. map.put("totalNum",diggerBeanService.getDiggersss(agentId,page,pageszie,mutiStatus,focusBrandNames).size());
  233. resultBean.setResult(map);
  234. super.printResult(request,response,resultBean.toString());
  235. }else {
  236. resultBean.setResult("该设备没有同步到微工程,不能同步推送");
  237. super.printResult(request,response,resultBean.toString());
  238. }
  239. }
  240. }
  241. @RequestMapping("/selectDailiAll.do")
  242. public void selectDailiAll(HttpServletRequest request, HttpServletResponse response,@RequestParam String agentIds){
  243. ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE, "成功");
  244. // String displaceid=request.getParameter("displaceId");
  245. String mutiStatus=request.getParameter("mutiStatus");
  246. String focusBrandNames=request.getParameter("focusBrandNames");
  247. String [] allstr=agentIds.split("=");
  248. String agentId=allstr[0];
  249. String zhihuanId=allstr[1];
  250. if(StringUtils.isNotBlank(agentId)) {
  251. AgentBean bean=agentBeanService.getAgentBeanByAgentId(agentId);
  252. if(bean.getIsAttent().equals("1")) {
  253. List<DiggerBean> list=diggerBeanService.getDiggersss(agentId, 0, 0, mutiStatus, focusBrandNames);
  254. resultBean.setResult(list);
  255. resultBean.setMessage(zhihuanId);
  256. super.printResult(request,response,resultBean.toString());
  257. }else {
  258. resultBean.setResult("该设备没有同步到微工程,不能同步推送");
  259. super.printResult(request,response,resultBean.toString());
  260. }
  261. }
  262. }
  263. /**
  264. * 搜索置换审核记录分页列表-自运营
  265. * @param request
  266. * @param response
  267. */
  268. @RequestMapping("/sinceAuditList.do")
  269. public void sinceAuditList(HttpServletRequest request, HttpServletResponse response){
  270. //返回页面数据
  271. PageResultBean resultBean = null;
  272. try {
  273. //获取登录信息
  274. HttpSession session = request.getSession();
  275. UserBean user = (UserBean)session.getAttribute(CommonConstants.USER_INFO);
  276. if(user == null) {
  277. resultBean = new PageResultBean(PageResultBean.FAIL_CODE, "请先登录!");
  278. return;
  279. }
  280. //如果不是平台用户的话,则只能搜索到他本身的商家报价信息
  281. String agentId = "";
  282. if(!"1".equals(user.getIsAdmin())){
  283. agentId = user.getAgentId();
  284. }else {
  285. agentId = super.getParameter(request, "agentId");
  286. }
  287. // 当前页码
  288. String currentPage = super.getParameter(request, "currentPage");
  289. // 分页记录数
  290. String pageSize = super.getParameter(request, "pageSize");
  291. int currentPageInt = 1;
  292. int pageSizeInt = 10;
  293. if(StringUtils.isNotEmpty(currentPage)){
  294. try {
  295. currentPageInt = Integer.parseInt(currentPage);
  296. } catch (Exception e) {
  297. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入正确的页数!");
  298. return;
  299. }
  300. }
  301. if(StringUtils.isNotEmpty(pageSize)){
  302. try {
  303. pageSizeInt = Integer.parseInt(pageSize);
  304. } catch (Exception e) {
  305. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入正确的分页数!");
  306. return;
  307. }
  308. }
  309. // 条件查询参数
  310. String brandCode = "sbpp";
  311. String brandContent = super.getParameter(request, "brandContent");
  312. String typeCode = "sblx";
  313. String typeContent = super.getParameter(request, "typeContent");
  314. String auditStatus = super.getParameter(request, "auditStatus");
  315. String startTimeStr = super.getParameter(request, "startTime");
  316. String endTimeStr = super.getParameter(request, "endTime");
  317. String displaceId = super.getParameter(request, "displaceId");
  318. String journalistName = super.getParameter(request, "journalistName");
  319. String agentName = super.getParameter(request, "agentName");
  320. // 时间转换
  321. Date startTime = null;
  322. Date endTime = null;
  323. try {
  324. if(StringUtils.isNotBlank(startTimeStr)) {
  325. startTime = DateUtil.parse(startTimeStr, DateUtil.DEFAULT);
  326. }
  327. if(StringUtils.isNotBlank(endTimeStr)) {
  328. endTime = DateUtil.parse(endTimeStr, DateUtil.DEFAULT);
  329. }
  330. } catch (Exception e) {
  331. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入正确查询时间!");
  332. return;
  333. }
  334. // 查询结果
  335. resultBean = displaceAuditService.queryAuditPage(agentId, agentName, brandCode, brandContent, typeCode, typeContent, auditStatus,
  336. startTime, endTime, displaceId, journalistName, currentPageInt, pageSizeInt);
  337. //获取用户session信息中的字段权限,并组装成map带回页面
  338. List<UserColumnRoleBean> roleList = user.getUserColumnRoleBeans();
  339. Map<String,String> columnMap = new HashMap<String,String>();
  340. if(roleList!=null && !roleList.isEmpty()){
  341. for(UserColumnRoleBean role:roleList){
  342. if(role!=null){
  343. if(ConfigConstants.DISPLACE_LIST.equals(role.getListCode())){
  344. columnMap.put(role.getColumnCode(), role.getColumnName());
  345. }
  346. }
  347. }
  348. }
  349. resultBean.setColumnMap(columnMap);
  350. } catch (Exception e) {
  351. resultBean= new PageResultBean(PageResultBean.FAIL_CODE,"系统繁忙,请稍后再来!");
  352. log.error("auditList error!",e);
  353. }finally{
  354. super.printResult(request, response, resultBean.toString());
  355. }
  356. }
  357. /**
  358. * 搜索置换审核记录分页列表
  359. * @param request
  360. * @param response
  361. */
  362. @RequestMapping("/auditList.do")
  363. public void auditList(HttpServletRequest request, HttpServletResponse response){
  364. //返回页面数据
  365. PageResultBean resultBean = null;
  366. try {
  367. //获取登录信息
  368. HttpSession session = request.getSession();
  369. UserBean user = (UserBean)session.getAttribute(CommonConstants.USER_INFO);
  370. if(user == null) {
  371. resultBean = new PageResultBean(PageResultBean.FAIL_CODE, "请先登录!");
  372. return;
  373. }
  374. log.info("调用置换审核列表接口,当前登录人信息 userAccount:" + user.getUserAccount() + ", userRank:" + user.getUserRank() + ", isAdmin:" + user.getIsAdmin());
  375. // 1、超级管理员可以看到所有审核列表 2、管理员可以看到隶属自己的商家的审核列表 3、代理商可以看到自己商家的审核列表
  376. String agentId = "";
  377. if (UserBean.USER_RANK_SUPER_ADMIN.equals(user.getUserRank()) || UserBean.USER_RANK_ADMIN.equals(user.getUserRank())) {
  378. agentId = super.getParameter(request, "agentId");
  379. } else {
  380. agentId = user.getAgentId();
  381. }
  382. // 当前页码
  383. String currentPage = super.getParameter(request, "currentPage");
  384. // 分页记录数
  385. String pageSize = super.getParameter(request, "pageSize");
  386. int currentPageInt = 1;
  387. int pageSizeInt = 10;
  388. if(StringUtils.isNotEmpty(currentPage)){
  389. try {
  390. currentPageInt = Integer.parseInt(currentPage);
  391. } catch (Exception e) {
  392. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入正确的页数!");
  393. return;
  394. }
  395. }
  396. if(StringUtils.isNotEmpty(pageSize)){
  397. try {
  398. pageSizeInt = Integer.parseInt(pageSize);
  399. } catch (Exception e) {
  400. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入正确的分页数!");
  401. return;
  402. }
  403. }
  404. // 条件查询参数
  405. String brandCode = "sbpp";
  406. String brandContent = super.getParameter(request, "brandContent");
  407. String typeCode = "sblx";
  408. String typeContent = super.getParameter(request, "typeContent");
  409. //上架状态 审核状态(1-已审核已上架,0-待审核待上架,2-已驳回,3-重新上架成功的,4-已审核待上架)
  410. String auditStatus = super.getParameter(request, "auditStatus");
  411. //已删除 记录是否显示(1-显示,0-不显示,,2-取消发布)
  412. String status = super.getParameter(request, "status");
  413. String startTimeStr = super.getParameter(request, "startTime");
  414. String endTimeStr = super.getParameter(request, "endTime");
  415. String displaceId = super.getParameter(request, "displaceId");
  416. String journalistName = super.getParameter(request, "journalistName");
  417. String agentName = super.getParameter(request, "agentName");
  418. // 时间转换
  419. Date startTime = null;
  420. Date endTime = null;
  421. try {
  422. if(StringUtils.isNotBlank(startTimeStr)) {
  423. startTime = DateUtil.parse(startTimeStr, DateUtil.DEFAULT);
  424. }
  425. if(StringUtils.isNotBlank(endTimeStr)) {
  426. endTime = DateUtil.parse(endTimeStr, DateUtil.DEFAULT);
  427. }
  428. } catch (Exception e) {
  429. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入正确查询时间!");
  430. return;
  431. }
  432. // 查询结果
  433. //精品机查询
  434. String isGood="1";
  435. if(jpjgh.equals(agentId)){
  436. isGood="2";
  437. }
  438. log.info("jpjgh="+jpjgh);
  439. log.info("jpjgh="+isGood);
  440. resultBean = displaceAuditService.queryAuditPageByType(agentId, agentName, brandCode, brandContent, typeCode, typeContent, auditStatus,status,startTime, endTime, displaceId, journalistName, currentPageInt, pageSizeInt, user.getUserRank(), user.getId(),isGood);
  441. // resultBean = displaceAuditService.queryAuditPage2(agentId, agentName, brandCode, brandContent, typeCode, typeContent, auditStatus,status,startTime, endTime, displaceId, journalistName, currentPageInt, pageSizeInt, user.getUserRank(), user.getId());
  442. //获取用户session信息中的字段权限,并组装成map带回页面
  443. List<UserColumnRoleBean> roleList = user.getUserColumnRoleBeans();
  444. Map<String,String> columnMap = new HashMap<String,String>();
  445. if(roleList!=null && !roleList.isEmpty()){
  446. for(UserColumnRoleBean role:roleList){
  447. if(role!=null){
  448. if(ConfigConstants.DISPLACE_LIST.equals(role.getListCode())){
  449. columnMap.put(role.getColumnCode(), role.getColumnName());
  450. }
  451. }
  452. }
  453. }
  454. resultBean.setColumnMap(columnMap);
  455. } catch (Exception e) {
  456. resultBean= new PageResultBean(PageResultBean.FAIL_CODE,"系统繁忙,请稍后再来!");
  457. log.error("auditList error!",e);
  458. }finally{
  459. super.printResult(request, response, resultBean.toString());
  460. }
  461. }
  462. /**
  463. * 导出置换审核记录--自运营
  464. * @param request
  465. * @param response
  466. */
  467. @RequestMapping("/expSinceAuditList.do")
  468. public void expSinceAuditList(HttpServletRequest request, HttpServletResponse response){
  469. //返回页面数据
  470. ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE,"成功!");
  471. try {
  472. //获取登录信息
  473. HttpSession session = request.getSession();
  474. UserBean user = (UserBean)session.getAttribute(CommonConstants.USER_INFO);
  475. if(user == null) {
  476. resultBean = new ResultBean(PageResultBean.FAIL_CODE, "请先登录!");
  477. return;
  478. }
  479. //如果不是平台用户的话,则只能搜索到他本身的商家报价信息
  480. String agentId = "";
  481. if(!"1".equals(user.getIsAdmin())){
  482. agentId = user.getAgentId();
  483. }else {
  484. agentId = super.getParameter(request, "agentId");
  485. }
  486. // 条件查询参数
  487. String brandCode = "sbpp";
  488. String brandContent = super.getParameter(request, "brandContent");
  489. String typeCode = "sblx";
  490. String typeContent = super.getParameter(request, "typeContent");
  491. String auditStatus = super.getParameter(request, "auditStatus");
  492. String startTimeStr = super.getParameter(request, "startTime");
  493. String endTimeStr = super.getParameter(request, "endTime");
  494. String displaceId = super.getParameter(request, "displaceId");
  495. String journalistName = super.getParameter(request, "journalistName");
  496. String agentName = super.getParameter(request, "agentName");
  497. String ids = super.getParameter(request, "ids");
  498. // 时间转换
  499. Date startTime = null;
  500. Date endTime = null;
  501. try {
  502. if(StringUtils.isNotBlank(startTimeStr)) {
  503. startTime = DateUtil.parse(startTimeStr, DateUtil.DEFAULT);
  504. }
  505. if(StringUtils.isNotBlank(endTimeStr)) {
  506. endTime = DateUtil.parse(endTimeStr, DateUtil.DEFAULT);
  507. }
  508. } catch (Exception e) {
  509. resultBean = new ResultBean(PageResultBean.FAIL_CODE,"请输入正确导出时间!");
  510. return;
  511. }
  512. // 查询结果
  513. String path = request.getSession().getServletContext().getRealPath("/")+ "/auditexcel/";;
  514. resultBean = displaceAuditService.createSinceAuditXlsx(agentId, agentName, brandCode, brandContent, typeCode, typeContent,
  515. auditStatus, startTime, endTime, displaceId, journalistName, path, user, ids);
  516. if(!ResultBean.SUCCESS_CODE.equals(resultBean.getCode())){
  517. resultBean = new ResultBean(ResultBean.FAIL_CODE,"系统繁忙,请稍后再来!");
  518. return;
  519. }
  520. String filename = resultBean.getMessage();
  521. String[] tempArr= filename.split("\\.");
  522. //设置文件下载格式XLS
  523. ExcelFileUtil.setXLSXHeader(request, response, tempArr[0]);
  524. //获取文件
  525. File upfile = new File(path+filename);
  526. ExcelFileUtil.downloadFile(response.getOutputStream(),upfile);
  527. } catch (Exception e) {
  528. resultBean = new ResultBean(ResultBean.FAIL_CODE, "系统繁忙,请稍后再来!");
  529. log.error("exportOffer error!",e);
  530. }
  531. }
  532. /**
  533. * 导出置换审核记录
  534. * @param request
  535. * @param response
  536. */
  537. @RequestMapping("/expAuditList.do")
  538. public void expAuditList(HttpServletRequest request, HttpServletResponse response){
  539. //返回页面数据
  540. ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE,"成功!");
  541. try {
  542. //获取登录信息
  543. HttpSession session = request.getSession();
  544. UserBean user = (UserBean)session.getAttribute(CommonConstants.USER_INFO);
  545. if(user == null) {
  546. resultBean = new ResultBean(PageResultBean.FAIL_CODE, "请先登录!");
  547. return;
  548. }
  549. log.info("调用导出置换审核列表xlsx接口,当前登录人信息 userAccount:" + user.getUserAccount() + ", userRank:" + user.getUserRank() + ", isAdmin:" + user.getIsAdmin());
  550. // 1、超级管理员可以看到所有审核列表 2、管理员可以看到隶属自己的商家的审核列表 3、代理商可以看到自己商家的审核列表
  551. String agentId = "";
  552. if (UserBean.USER_RANK_SUPER_ADMIN.equals(user.getUserRank()) || UserBean.USER_RANK_ADMIN.equals(user.getUserRank())) {
  553. agentId = super.getParameter(request, "agentId");
  554. } else {
  555. agentId = user.getAgentId();
  556. }
  557. // 条件查询参数
  558. String brandCode = "sbpp";
  559. String brandContent = super.getParameter(request, "brandContent");
  560. String typeCode = "sblx";
  561. String typeContent = super.getParameter(request, "typeContent");
  562. String auditStatus = super.getParameter(request, "auditStatus");
  563. String startTimeStr = super.getParameter(request, "startTime");
  564. String endTimeStr = super.getParameter(request, "endTime");
  565. String displaceId = super.getParameter(request, "displaceId");
  566. String journalistName = super.getParameter(request, "journalistName");
  567. String agentName = super.getParameter(request, "agentName");
  568. String ids = super.getParameter(request, "ids");
  569. // 时间转换
  570. Date startTime = null;
  571. Date endTime = null;
  572. try {
  573. if(StringUtils.isNotBlank(startTimeStr)) {
  574. startTime = DateUtil.parse(startTimeStr, DateUtil.DEFAULT);
  575. }
  576. if(StringUtils.isNotBlank(endTimeStr)) {
  577. endTime = DateUtil.parse(endTimeStr, DateUtil.DEFAULT);
  578. }
  579. } catch (Exception e) {
  580. resultBean = new ResultBean(PageResultBean.FAIL_CODE,"请输入正确导出时间!");
  581. return;
  582. }
  583. // 查询结果
  584. String path = request.getSession().getServletContext().getRealPath("/")+ "/auditexcel/";;
  585. resultBean = displaceAuditService.createAuditXlsx(agentId, agentName, brandCode, brandContent, typeCode, typeContent,
  586. auditStatus, startTime, endTime, displaceId, journalistName, path, user, ids);
  587. if(!ResultBean.SUCCESS_CODE.equals(resultBean.getCode())){
  588. resultBean = new ResultBean(ResultBean.FAIL_CODE,"系统繁忙,请稍后再来!");
  589. return;
  590. }
  591. String filename = resultBean.getMessage();
  592. String[] tempArr= filename.split("\\.");
  593. //设置文件下载格式XLS
  594. ExcelFileUtil.setXLSXHeader(request, response, tempArr[0]);
  595. //获取文件
  596. File upfile = new File(path+filename);
  597. ExcelFileUtil.downloadFile(response.getOutputStream(),upfile);
  598. } catch (Exception e) {
  599. resultBean = new ResultBean(ResultBean.FAIL_CODE, "系统繁忙,请稍后再来!");
  600. log.error("exportOffer error!",e);
  601. }
  602. }
  603. /**
  604. * 删除置换记录
  605. * @param request
  606. * @param response
  607. */
  608. @RequestMapping("/deleteAudit.do")
  609. public void deleteShop(HttpServletRequest request, HttpServletResponse response){
  610. //返回页面数据
  611. ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE,"成功!");
  612. String ids = super.getParameter(request, "ids");
  613. try {
  614. //判断必要参数是否传递到后台
  615. if(StringUtils.isEmpty(ids)){
  616. resultBean = new ResultBean(ResultBean.FAIL_CODE,"请选择要删除的置换记录!");
  617. return;
  618. }
  619. String[] queryCondition = ids.split(",");
  620. if(queryCondition==null || queryCondition.length<=0){
  621. resultBean = new ResultBean(ResultBean.FAIL_CODE,"请选择要删除的置换记录!");
  622. return;
  623. }
  624. if(resultBean.getCode().equals(ResultBean.SUCCESS_CODE)){
  625. boolean flag = true;
  626. // 任务项数量 查询条件
  627. StringBuilder conditionSql = new StringBuilder();
  628. // 任务项 条件值
  629. List<Object> conditions = new ArrayList<Object>();
  630. for (int i = 0; i < queryCondition.length; i++) {
  631. conditions.add(queryCondition[i]);
  632. conditionSql.append("?");
  633. if(i<queryCondition.length-1) {
  634. conditionSql.append(",");
  635. }
  636. }
  637. flag = displaceAuditService.deleteAudit(conditionSql.toString(),conditions);
  638. if(!flag){
  639. resultBean = new ResultBean(ResultBean.FAIL_CODE,"系统繁忙,请稍后再来!");
  640. }
  641. }
  642. } catch (Exception e) {
  643. resultBean = new ResultBean(ResultBean.FAIL_CODE, "系统繁忙,请稍后再来!");
  644. log.error("deleteActivityType error!",e);
  645. }finally{
  646. super.printResult(request, response, resultBean.toString());
  647. }
  648. }
  649. /**
  650. * 恢复置换记录
  651. * @param request
  652. * @param response
  653. */
  654. @RequestMapping("/recoveryAudit.do")
  655. public void recovery(HttpServletRequest request, HttpServletResponse response){
  656. //返回页面数据
  657. ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE,"成功!");
  658. String ids = super.getParameter(request, "ids");
  659. try {
  660. //判断必要参数是否传递到后台
  661. if(StringUtils.isEmpty(ids)){
  662. resultBean = new ResultBean(ResultBean.FAIL_CODE,"请选择要恢复的置换记录!");
  663. return;
  664. }
  665. String[] queryCondition = ids.split(",");
  666. if(queryCondition==null || queryCondition.length<=0){
  667. resultBean = new ResultBean(ResultBean.FAIL_CODE,"请选择要恢复的置换记录!");
  668. return;
  669. }
  670. if(resultBean.getCode().equals(ResultBean.SUCCESS_CODE)){
  671. boolean flag = true;
  672. // 任务项数量 查询条件
  673. StringBuilder conditionSql = new StringBuilder();
  674. // 任务项 条件值
  675. List<Object> conditions = new ArrayList<Object>();
  676. for (int i = 0; i < queryCondition.length; i++) {
  677. conditions.add(queryCondition[i]);
  678. conditionSql.append("?");
  679. if(i<queryCondition.length-1) {
  680. conditionSql.append(",");
  681. }
  682. }
  683. flag = displaceAuditService.recoveryAudit(conditionSql.toString(),conditions);
  684. if(!flag){
  685. resultBean = new ResultBean(ResultBean.FAIL_CODE,"系统繁忙,请稍后再来!");
  686. }
  687. }
  688. } catch (Exception e) {
  689. resultBean = new ResultBean(ResultBean.FAIL_CODE, "系统繁忙,请稍后再来!");
  690. log.error("deleteActivityType error!",e);
  691. }finally{
  692. super.printResult(request, response, resultBean.toString());
  693. }
  694. }
  695. /**
  696. * 重新上架
  697. * @param request
  698. * @param response
  699. */
  700. @RequestMapping("/againUp.do")
  701. public void againUp(HttpServletRequest request, HttpServletResponse response, @ModelAttribute DisplaceAuditBean displaceAuditBean){
  702. //返回页面数据
  703. PageResultBean resultBean = new PageResultBean(PageResultBean.SUCCESS_CODE,"成功!");;
  704. try {
  705. //获取登录信息
  706. HttpSession session = request.getSession();
  707. UserBean user = (UserBean)session.getAttribute(CommonConstants.USER_INFO);
  708. if(user == null) {
  709. resultBean = new PageResultBean(PageResultBean.FAIL_CODE, "请先登录!");
  710. return;
  711. }
  712. if(StringUtils.isEmpty(displaceAuditBean.getId())){
  713. resultBean = new PageResultBean(PageResultBean.FAIL_CODE, "请选择要重新上架的记录!");
  714. return;
  715. }
  716. // 上架形式
  717. if(StringUtils.isBlank(displaceAuditBean.getUpType())){
  718. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入上架形式!");
  719. return;
  720. }
  721. // 保证金
  722. if(StringUtils.isBlank(displaceAuditBean.getBail())){
  723. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入保证金额度!");
  724. return;
  725. }
  726. try {
  727. Double.parseDouble(displaceAuditBean.getBail());
  728. } catch (Exception e) {
  729. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"保证金格式不正确!");
  730. return;
  731. }
  732. // 报价额度
  733. if(StringUtils.isBlank(displaceAuditBean.getMoneyRange())){
  734. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入报价额度!");
  735. return;
  736. }
  737. try {
  738. Double.parseDouble(displaceAuditBean.getMoneyRange());
  739. } catch (Exception e) {
  740. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"报价额度格式不正确!");
  741. return;
  742. }
  743. if("3".equals(displaceAuditBean.getUpType())){
  744. log.info("displaceAuditBean.getMinPrice()="+displaceAuditBean.getMinPrice());
  745. if(StringUtils.isBlank(displaceAuditBean.getMinPrice())){
  746. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入最低价额度!");
  747. return;
  748. }
  749. try {
  750. Double.parseDouble(displaceAuditBean.getMinPrice());
  751. } catch (Exception e) {
  752. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"最低价格式不正确!");
  753. return;
  754. }
  755. log.info("displaceAuditBean.getMaxPrice()="+displaceAuditBean.getMaxPrice());
  756. if(StringUtils.isBlank(displaceAuditBean.getMaxPrice())){
  757. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入最高价额度!");
  758. return;
  759. }
  760. try {
  761. Double.parseDouble(displaceAuditBean.getMaxPrice());
  762. } catch (Exception e) {
  763. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"最高价格式不正确!");
  764. return;
  765. }
  766. log.info("displaceAuditBean.getPersistPrice()="+displaceAuditBean.getPersistPrice());
  767. if(StringUtils.isBlank(displaceAuditBean.getPersistPrice())){
  768. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入保留价额度!");
  769. return;
  770. }
  771. try {
  772. Double.parseDouble(displaceAuditBean.getPersistPrice());
  773. } catch (Exception e) {
  774. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"保留价格式不正确!");
  775. return;
  776. }
  777. if(Double.parseDouble(displaceAuditBean.getPersistPrice())>Double.parseDouble(displaceAuditBean.getMaxPrice())||Double.parseDouble(displaceAuditBean.getPersistPrice())<Double.parseDouble(displaceAuditBean.getMinPrice())) {
  778. resultBean = new PageResultBean(PageResultBean.FAIL_CODE, "保留价格应该在最低价和最高价之间!");
  779. return;
  780. }
  781. }else{
  782. // 起拍价
  783. if(StringUtils.isBlank(displaceAuditBean.getMinMoney())){
  784. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入起拍价!");
  785. return;
  786. }
  787. try {
  788. Double.parseDouble(displaceAuditBean.getMinMoney());
  789. } catch (Exception e) {
  790. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"起拍价格式不正确!");
  791. return;
  792. }
  793. // 报价延时
  794. if(StringUtils.isBlank(displaceAuditBean.getTimeDelay())){
  795. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请输入报价延时!");
  796. return;
  797. }
  798. try {
  799. Double.parseDouble(displaceAuditBean.getTimeDelay());
  800. } catch (Exception e) {
  801. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"报价延时格式不正确!");
  802. return;
  803. }
  804. }
  805. // 开始结束时间
  806. String startTimeStr = super.getParameter(request, "startTimeStr");
  807. String endTimeStr = super.getParameter(request, "endTimeStr");
  808. if(StringUtils.isBlank(startTimeStr)){
  809. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请选择开始时间!");
  810. return;
  811. }
  812. if(StringUtils.isBlank(endTimeStr)){
  813. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"请选择结束时间!");
  814. return;
  815. }
  816. Date startTime = null;
  817. Date endTime = null;
  818. try {
  819. startTime = DateUtil.parse(startTimeStr, DateUtil.DEFAULT);
  820. endTime = DateUtil.parse(endTimeStr, DateUtil.DEFAULT);
  821. } catch (Exception e) {
  822. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"时间格式不正确!");
  823. return;
  824. }
  825. // 代理商信息
  826. String agentId = super.getParameter(request, "agentId");
  827. AgentBean agentBean = agentBeanService.getAgentBeanByAgentId(agentId);
  828. if(agentBean == null) {
  829. resultBean = new PageResultBean(PageResultBean.FAIL_CODE, "未查询到代理商信息!");
  830. return;
  831. }
  832. // 记录id
  833. String id = super.getParameter(request, "id");
  834. // 车商ID
  835. String ids = super.getParameter(request, "ids");
  836. // 微工程ID
  837. String wgcids = super.getParameter(request, "wgcids");
  838. if(StringUtils.isEmpty(ids) && StringUtils.isEmpty(wgcids)) {
  839. resultBean = new PageResultBean(PageResultBean.FAIL_CODE, "请选择推送车商!");
  840. return;
  841. }
  842. // 销售员ID
  843. String saleId = super.getParameter(request, "saleId");
  844. // 发送方式
  845. String pushWx = super.getParameter(request,"pushWx");
  846. // 发送方式
  847. String pushSms = super.getParameter(request,"pushSms");
  848. if(StringUtils.isBlank(pushWx)&& StringUtils.isBlank(pushSms)){
  849. resultBean = new PageResultBean(PageResultBean.FAIL_CODE, "请选择推送方式!");
  850. return;
  851. }
  852. // 发布时间
  853. String pubTimeStr = super.getParameter(request, "pubTimeStr");
  854. Date pubTime = null;
  855. try {
  856. pubTime = DateUtil.parse(pubTimeStr, DateUtil.DEFAULT);
  857. pubTimeStr = DateUtil.format(pubTime, "yyyy年MM月dd日 HH:mm");
  858. } catch (Exception e) {
  859. pubTimeStr = "";
  860. }
  861. //取出带过来的置换ID
  862. String displaceId = super.getParameter(request, "displaceId");
  863. DisplaceAuditBean displace = displaceAuditService.queryAuditPageByDisplaceId(displaceId);
  864. //设备名称
  865. String sbmc = displace.getAttrContent().get("sbpp") + " " + displace.getAttrContent().get("sbxh") + " " + displace.getAttrContent().get("sblx");
  866. // 反馈内容
  867. String sms = super.getParameter(request, "sms");
  868. if(StringUtils.isBlank(sms)){
  869. resultBean = new PageResultBean(PageResultBean.FAIL_CODE, "请输入要发送的短信内容");
  870. return;
  871. }
  872. if(sms.length()>1500){
  873. resultBean = new PageResultBean(PageResultBean.FAIL_CODE, "短信内容过长");
  874. return;
  875. }
  876. displaceAuditBean.setStartTime(startTime);
  877. displaceAuditBean.setEndTime(endTime);
  878. displaceAuditBean.setAuditTime(new Date());
  879. displaceAuditBean.setAuditUser(user.getUserAccount());
  880. // 补充信息
  881. String oldDis=displaceAuditService.findOldDis(displace.getId());
  882. System.out.println(oldDis+"这是查出来的old");
  883. String oldDisplace="";
  884. int count=0;
  885. if(oldDis.equals("0")){
  886. count=displaceAuditService.findCount(displace.getDisplaceId());
  887. oldDisplace=displace.getDisplaceId();
  888. }else{
  889. count=displaceAuditService.findCountByOld(oldDisplace)+1;
  890. oldDisplace=oldDis;
  891. }
  892. boolean flag = displaceAuditService.createNewAudit(displaceAuditBean,oldDisplace,count);
  893. System.out.println(displaceAuditBean.getId()+"这是id"+displaceAuditBean.getDisplaceId()+"这是置换id");
  894. if(!flag) {
  895. resultBean = new PageResultBean(PageResultBean.FAIL_CODE,"系统繁忙,请稍后再来!");
  896. return;
  897. }
  898. String agentName = agentBean.getAgentName();
  899. String appId = agentBean.getPubAppId();
  900. String appSecret = agentBean.getPubAppSecret();
  901. //String diggerUrl = TemplateConstants.ZHSH_DIGGER_URL + "?agentId=" + agentId + "&id=" + id;
  902. String diggerUrl = "https://www.weigongcheng.net/wjj-api/index.html#/join" + "?agentId=" + agentId + "&displaceId="+displaceId+"&status="+displaceAuditBean+"&id=" + id;
  903. String wxsms = TemplateConstants.ZHSH_DIGGER_TEMPLATE_CONTENT;
  904. wxsms = wxsms.replaceAll("first", "有一台设备正在寻找买家");
  905. wxsms = wxsms.replaceAll("keyword1", sbmc+"");
  906. wxsms = wxsms.replaceAll("keyword2", displaceAuditBean.getMinPrice()+"万元");
  907. wxsms = wxsms.replaceAll("keyword3", displaceAuditBean.getMoneyRange()+"万元");
  908. wxsms = wxsms.replaceAll("keyword4", DateUtil.format(startTime, "yyyy年MM月dd日 HH:mm"));
  909. wxsms = wxsms.replaceAll("keyword5", displaceAuditBean.getBail()+"万元");
  910. wxsms = wxsms.replaceAll("remark", "点击【详情】前往查看!");
  911. List<PushRecordBean> list = new ArrayList<PushRecordBean>();
  912. PushRecordBean pushRecord = null;
  913. // 发送车商信息
  914. if(StringUtils.isNotBlank(ids)) {
  915. String[] diggers = ids.substring(0, ids.lastIndexOf(",")).split(",");
  916. for (int i = 0; i < diggers.length; i++) {
  917. //获取车商bean,并获取车商微信openid和其他信息
  918. DiggerBean digger = diggerBeanService.queryDiggerByID(diggers[i]);
  919. String openId = digger.getWxOpenID();
  920. String wxnc = digger.getDaWxnc();
  921. String wxh = digger.getDaWxh();
  922. String name = digger.getDaName();
  923. String phone = digger.getDaPhone();
  924. // 组装车商微信内容
  925. Map<String,TemplateData> param1 = new HashMap<String,TemplateData>();
  926. param1.put("first",new TemplateData("有一台设备正在寻找买家","#696969"));
  927. param1.put("keyword1",new TemplateData(sbmc+"","#696969"));
  928. param1.put("keyword2",new TemplateData(displaceAuditBean.getMinPrice()+"万元","#696969"));
  929. param1.put("keyword3",new TemplateData(displaceAuditBean.getMoneyRange()+"万元","#696969"));
  930. param1.put("keyword4",new TemplateData(DateUtil.format(startTime, "yyyy年MM月dd日 HH:mm"),"#696969"));
  931. param1.put("keyword5",new TemplateData(displaceAuditBean.getBail()+"万元","#696969"));
  932. param1.put("remark",new TemplateData("点击【详情】前往查看!","#696969"));
  933. if(StringUtils.isNotBlank(pushWx)){
  934. pushRecord = displaceAuditService.pushSms(displaceId, id, sbmc, ConfigConstants.CDMC_ZHSH, agentId, agentName, openId, wxnc, wxh, name, phone, ConfigConstants.TSFS_WXXX, ConfigConstants.XXLB_SBSJ,
  935. appId, appSecret, sms, wxsms, param1, diggerUrl, "拍品上架通知");
  936. list.add(pushRecord);
  937. }
  938. if(StringUtils.isNotBlank(pushSms)){
  939. pushRecord = displaceAuditService.pushSms(displaceId, id, sbmc, ConfigConstants.CDMC_ZHSH, agentId, agentName, openId, wxnc, wxh, name, phone, ConfigConstants.TSFS_DXX, ConfigConstants.XXLB_SBSJ,
  940. appId, appSecret, sms, wxsms, param1, diggerUrl, "拍品上架通知");
  941. list.add(pushRecord);
  942. }
  943. }
  944. }
  945. // 发送微工程信息
  946. if(StringUtils.isNotBlank(wgcids)) {
  947. String wgcAgentName = "";
  948. String wgcAppId = "";
  949. String wgcAppSecret = "";
  950. String wgcPriceLink = "";
  951. if("1".equals(agentBean.getIsAttent()) || "y".equals(agentBean.getIsAttent()) || ConfigConstants.WGC_ID.equals(agentId)) {
  952. // 微工程信息
  953. AgentBean wgcBean = agentBeanService.getAgentBeanByAgentId(ConfigConstants.WGC_ID);
  954. wgcAgentName = wgcBean.getAgentName();;
  955. wgcAppId = wgcBean.getPubAppId();
  956. wgcAppSecret = wgcBean.getPubAppSecret();
  957. wgcPriceLink = wgcBean.getPriceLink();
  958. String[] wgcdiggers = wgcids.substring(0, wgcids.lastIndexOf(",")).split(",");
  959. for (int i = 0; i < wgcdiggers.length; i++) {
  960. //获取车商bean,并获取车商微信openid和其他信息
  961. DiggerBean digger = diggerBeanService.queryDiggerByID(wgcdiggers[i]);
  962. String openId = digger.getWxOpenID();
  963. String wxnc = digger.getDaWxnc();
  964. String wxh = digger.getDaWxh();
  965. String name = digger.getDaName();
  966. String phone = digger.getDaPhone();
  967. // 组装车商微信内容
  968. Map<String,TemplateData> param2 = new HashMap<String,TemplateData>();
  969. param2.put("first",new TemplateData("有一台设备正在寻找买家","#696969"));
  970. param2.put("keyword1",new TemplateData(sbmc+"","#696969"));
  971. param2.put("keyword2",new TemplateData(displaceAuditBean.getMinPrice()+"万元","#696969"));
  972. param2.put("keyword3",new TemplateData(displaceAuditBean.getMoneyRange()+"万元","#696969"));
  973. param2.put("keyword4",new TemplateData(DateUtil.format(startTime, "yyyy年MM月dd日 HH:mm"),"#696969"));
  974. param2.put("keyword5",new TemplateData(displaceAuditBean.getBail()+"万元","#696969"));
  975. param2.put("remark",new TemplateData("点击【详情】前往查看!","#696969"));
  976. wxsms = wxsms.replaceAll("keyword1", wxnc+"");
  977. if(StringUtils.isNotBlank(pushWx)){
  978. pushRecord = displaceAuditService.pushSms(displaceId, id, sbmc, ConfigConstants.CDMC_ZHSH, ConfigConstants.WGC_ID, wgcAgentName, openId, wxnc, wxh, name, phone, ConfigConstants.TSFS_WXXX,ConfigConstants.XXLB_SBSJ,
  979. wgcAppId, wgcAppSecret, sms, wxsms, param2, wgcPriceLink, "拍品上架通知");
  980. list.add(pushRecord);
  981. }
  982. if(StringUtils.isNotBlank(pushSms)){
  983. pushRecord = displaceAuditService.pushSms(displaceId, id, sbmc, ConfigConstants.CDMC_ZHSH, ConfigConstants.WGC_ID, wgcAgentName, openId, wxnc, wxh, name, phone, ConfigConstants.TSFS_DXX,ConfigConstants.XXLB_SBSJ,
  984. wgcAppId, wgcAppSecret, sms, wxsms, param2, wgcPriceLink, "拍品上架通知");
  985. list.add(pushRecord);
  986. }
  987. }
  988. }
  989. }
  990. // 发送销售员信息
  991. if(StringUtils.isNotBlank(saleId)) {
  992. SalesBean salesBean = saleBeanService.getSaleBeanBySaleId(saleId);
  993. if(salesBean != null){
  994. String openId = salesBean.getWxOpenid();
  995. String wxnc = salesBean.getSaleWxnc();
  996. String wxh = salesBean.getSaleWxh();
  997. String name = salesBean.getSaleName();
  998. String phone = salesBean.getSalePhone();
  999. String saleUrl = TemplateConstants.ZHSH_SALE_URL + "?agentId=" + agentId + "&id=" + id;
  1000. // 组装销售员微信内容
  1001. Map<String,TemplateData> param3 = new HashMap<String,TemplateData>();
  1002. param3.put("first",new TemplateData("您上传的设备已上架成功,等待买家出价","#696969"));
  1003. param3.put("keyword1",new TemplateData(wxnc,"#696969"));
  1004. param3.put("keyword2",new TemplateData(sbmc,"#696969"));
  1005. param3.put("keyword3",new TemplateData(pubTimeStr,"#696969"));
  1006. param3.put("keyword4",new TemplateData("上架成功","#696969"));
  1007. param3.put("remark",new TemplateData("赶快点击“详情”分享给大家吧!","#696969"));
  1008. String upsms = TemplateConstants.ZHSH_SALE_UP_SMS;
  1009. upsms = upsms.replace("sbmc", sbmc+"");
  1010. String wxsms1 = TemplateConstants.ZHSH_SALE_TEMPLATE_CONTENT;
  1011. wxsms1 = wxsms1.replaceAll("first", "您上传的设备已上架成功,等待买家出价");
  1012. wxsms1 = wxsms1.replaceAll("keyword1", wxnc+"");
  1013. wxsms1 = wxsms1.replaceAll("keyword2", sbmc+"");
  1014. wxsms1 = wxsms1.replaceAll("keyword3", pubTimeStr);
  1015. wxsms1 = wxsms1.replaceAll("keyword4", "上架成功");
  1016. wxsms1 = wxsms1.replaceAll("remark", "赶快点击“详情”分享给大家吧!");
  1017. if(StringUtils.isNotBlank(pushWx)){
  1018. pushRecord = displaceAuditService.pushSms(displaceId, id, sbmc, ConfigConstants.CDMC_ZHSH, agentId, agentName, openId, wxnc, wxh, name, phone, ConfigConstants.TSFS_WXXX,ConfigConstants.XXLB_SBSJ,
  1019. appId, appSecret, upsms,wxsms1, param3, saleUrl, "审核结果通知");
  1020. list.add(pushRecord);
  1021. }
  1022. if(StringUtils.isNotBlank(pushSms)){
  1023. pushRecord = displaceAuditService.pushSms(displaceId, id, sbmc, ConfigConstants.CDMC_ZHSH, agentId, agentName, openId, wxnc, wxh, name, phone, ConfigConstants.TSFS_DXX,ConfigConstants.XXLB_SBSJ,
  1024. appId, appSecret, upsms,wxsms1, param3, saleUrl, "审核结果通知");
  1025. list.add(pushRecord);
  1026. }
  1027. }
  1028. }
  1029. // 保存推送消息
  1030. pushRecordBeanService.saveRecords(list);
  1031. } catch (Exception e) {
  1032. resultBean= new PageResultBean(PageResultBean.FAIL_CODE,"系统繁忙,请稍后再来!");
  1033. log.error("addInfo error!",e);
  1034. }finally{
  1035. super.printResult(request, response, resultBean.toString());
  1036. }
  1037. }
  1038. @RequestMapping("/pushAdmin.do")
  1039. public void pushAdmin(HttpServletRequest request, HttpServletResponse response,@RequestParam("arrayDaili") String arrayDaili,String shebeiId){
  1040. System.out.println(arrayDaili+"======"+shebeiId);
  1041. ResultBean resultBean = new ResultBean(ResultBean.SUCCESS_CODE,"成功!");
  1042. try {
  1043. if (StringUtils.isNotBlank(arrayDaili) && StringUtils.isNotBlank(shebeiId)) {
  1044. List<PushRecordBean> list = new ArrayList<PushRecordBean>();
  1045. PushRecordBean pushRecord = null;
  1046. AgentBean wgcBean = agentBeanService.getAgentBeanByAgentId(ConfigConstants.WGC_ID);
  1047. String wgcAgentName = wgcBean.getAgentName();
  1048. String wgcAppId = wgcBean.getPubAppId();
  1049. String wgcAppSecret = wgcBean.getPubAppSecret();
  1050. //String wgcPriceLink = wgcBean.getPriceLink()
  1051. String xqurl="https://www.xxinjiyuan.com/wjj-api/index.html#/join?agentId=GZZSNJ&displaceId=GZZSNJ-ZH0044&status=finished&id=5c8adc199c7f44a8ac398d9edbcd4914";
  1052. DisplaceAuditBean displace = displaceAuditService.queryAuditPageByDisplaceId(shebeiId);
  1053. String wgcPriceLink ="https://www.weigongcheng.net/wjj-api/index.html#/join?agentId=WGC000"+"&status="+displace.getAuditStatus()+"&id="+displace.getId();
  1054. String sbmc = displace.getAttrContent().get("sbpp") + " " + displace.getAttrContent().get("sbxh") + " " + displace.getAttrContent().get("sblx");
  1055. String[] chrstr = arrayDaili.split("#");
  1056. System.out.println("============================>2");
  1057. for (int i = 0; i < chrstr.length; i++) {
  1058. DiggerBean digger = diggerBeanService.queryDiggerByID(chrstr[i]);
  1059. String openId = digger.getWxOpenID();
  1060. String wxnc = digger.getDaWxnc();
  1061. String wxh = digger.getDaWxh();
  1062. String name = digger.getDaName();
  1063. String phone = digger.getDaPhone();
  1064. String wxsms = TemplateConstants.ZHSH_DIGGER_TEMPLATE_CONTENT;
  1065. System.out.println(openId + "+++openid");
  1066. System.out.println(wxnc + "+++wxnc");
  1067. // 组装车商微信内容
  1068. System.out.println(displace.getStartTime()+"------------------------");
  1069. Map<String, TemplateData> param2 = new HashMap<String, TemplateData>();
  1070. param2.put("first", new TemplateData("有一台设备正在寻找买家", "#696969"));
  1071. param2.put("keyword1", new TemplateData(sbmc + "", "#696969"));
  1072. param2.put("keyword2", new TemplateData(displace.getMinPrice() + "万元", "#696969"));
  1073. param2.put("keyword3", new TemplateData(displace.getMoneyRange(), "#696969"));
  1074. param2.put("keyword4", new TemplateData(DateUtil.format(displace.getStartTime(), "yyyy年MM月dd日 HH:mm"), "#696969"));
  1075. param2.put("keyword5", new TemplateData(displace.getBail() + "万元", "#696969"));
  1076. param2.put("remark", new TemplateData("点击【详情】前往查看!", "#696969"));
  1077. wxsms = wxsms.replaceAll("keyword1", wxnc + "");
  1078. pushRecord = displaceAuditService.pushSms(shebeiId, "", sbmc, ConfigConstants.CDMC_ZHSH, ConfigConstants.WGC_ID, wgcAgentName, openId, wxnc, wxh, name, phone, ConfigConstants.TSFS_WXXX, ConfigConstants.XXLB_SBSJ,
  1079. wgcAppId, wgcAppSecret, "", wxsms, param2, wgcPriceLink, "拍品上架通知");
  1080. list.add(pushRecord);
  1081. }
  1082. pushRecordBeanService.saveRecords(list);
  1083. resultBean.setMessage("发送成功");
  1084. super.printResult(request, response, resultBean.toString());
  1085. }
  1086. ;
  1087. }catch (Exception e) {
  1088. log.error("addInfo error!",e);
  1089. }finally{
  1090. super.printResult(request, response, resultBean.toString());
  1091. }
  1092. }
  1093. }