| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215 |
- package platform.modules.government.web;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.aliyuncs.exceptions.ClientException;
- import com.github.pagehelper.PageInfo;
- import org.apache.catalina.Executor;
- import org.apache.commons.io.IOUtils;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.autoconfigure.AutoConfigureOrder;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.ModelMap;
- import org.springframework.util.CollectionUtils;
- import org.springframework.web.bind.annotation.*;
- import platform.common.Constant;
- import platform.common.annotation.OperationLog;
- import platform.common.base.controller.BaseController;
- import platform.common.base.model.Dict;
- import platform.common.base.model.DictionaryItem;
- import platform.common.base.service.DictService;
- import platform.common.base.service.DictionaryItemService;
- import platform.common.exception.BaseException;
- import platform.common.util.AlibabaSMSUtil;
- import platform.common.util.ExportExcel;
- import platform.common.util.ShiroUtils;
- import platform.common.util.WxAppUtil;
- import platform.modules.build.DTO.CompanyDto;
- import platform.modules.build.entity.BuildInfo;
- import platform.modules.build.entity.Company;
- import platform.modules.build.service.BuildInfoService;
- import platform.modules.build.service.CompanyService;
- import platform.modules.government.dto.ActivityReview;
- import platform.modules.government.dto.ActivitySearchCondition;
- import platform.modules.government.dto.SearchCondition;
- import platform.modules.government.dto.StreetsBuildingsCompanies;
- import platform.modules.government.entity.*;
- import platform.modules.government.service.AttachmentService;
- import platform.modules.government.service.StreetService;
- import platform.modules.government.service.UserService;
- import platform.modules.request.ActivityFindRequest;
- import platform.modules.request.ContractReportFindRequest;
- import platform.modules.sys.entity.*;
- import platform.modules.sys.report.ActivityRegistrationExports;
- import platform.modules.sys.report.ActivitySignExports;
- import platform.modules.sys.report.ContractExport;
- import platform.modules.sys.service.*;
- import platform.modules.sys.web.ResponseMessage;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.net.URLEncoder;
- import java.text.SimpleDateFormat;
- import java.util.*;
- import java.util.concurrent.ExecutorService;
- import java.util.concurrent.Executors;
- import java.util.concurrent.ThreadPoolExecutor;
- @Controller
- @RequestMapping(value = "/government/activity")
- public class ActivityController extends BaseController {
- @Autowired
- private ActivityService activityService;
- @Autowired
- private ActivityRegistrationService activityRegistrationService;
- @Autowired
- private ActivityFeedbackService activityFeedbackService;
- @Autowired
- private DictionaryItemService dictionaryItemService;
- @Autowired
- private StreetService streetService;
- @Autowired
- private BuildInfoService buildInfoService;
- @Autowired
- private CompanyService companyService;
- @Autowired
- private AttachmentService attachmentService;
- @Autowired
- private MessageService messageService;
- @Autowired
- private UserService userService;
- @Autowired
- private WaitToDoService waitToDoService;
- @OperationLog(value = "查看活动列表")
- @GetMapping(value = "/list")
- public String list(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
- ActivitySearchCondition condition, ModelMap modelMap) throws Exception {
- try {
- log.info("分页查询活动信息,pageNum = {},condition = {}", pageNum, condition.toString(), false);
- PageInfo<ActivityDetail> pageInfo = activityService.findAvtivityList(pageNum, PAGESIZE, condition);
- log.info("分页查询活动信息列表结果! pageInfo = {}", pageInfo);
- List<DictionaryItem> activityTypeList = dictionaryItemService.findListByTypeName(Constant.DictionaryType.ACTIVITY_TYPE);
- modelMap.addAttribute("activity_type", activityTypeList);
- modelMap.put("pageInfo", pageInfo);
- modelMap.put("condition", condition);
- log.info("菜单跳转到活动管理页面!");
- } catch (Exception e) {
- e.printStackTrace();
- }
- return BASE_GOVERNMENT_PATH + "activity_list";
- }
- /**
- * 跳转到详情页面
- *
- * @return
- */
- @OperationLog(value = "查看活动详情")
- @GetMapping(value = "/get/{id}")
- public String view(@PathVariable("id") Integer id, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, String minScore, String maxScore, ModelMap modelMap) throws Exception {
- log.info("跳转到活动详情页面!");
- ActivityDetail activityDetail = activityService.findOne(id.toString());
- List<Attachment> attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.ACTIVITY, activityDetail.getId(), null);
- if (null != attachments && attachments.size() > 0) {
- FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri());
- activityDetail.setFileDown(fileDown);
- }
- List<DictionaryItem> activityTypeList = dictionaryItemService.findListByTypeName(Constant.DictionaryType.ACTIVITY_TYPE);
- for (DictionaryItem item : activityTypeList) {
- if (Objects.equals(item.getValue(), activityDetail.getActivity_type())) {
- activityDetail.setActivity_type(item.getName());
- }
- }
- List<ActivityPush> pushList = activityDetail.getPushList();
- String streetIds = "", buildIds = "", companyIds = "", names = "";
- if (!CollectionUtils.isEmpty(pushList)) {
- for (ActivityPush push : pushList) {
- if (Objects.equals("4", push.getUser_type())) {
- streetIds += push.getUser_id() + ",";
- names += push.getUser_name() + ",";
- }
- if (Objects.equals("1", push.getUser_type())) {
- buildIds += push.getUser_id() + ",";
- names += push.getUser_name() + ",";
- }
- if (Objects.equals("3", push.getUser_type())) {
- companyIds += push.getUser_id() + ",";
- names += push.getUser_name() + ",";
- }
- }
- activityDetail.setPush_street_ids(streetIds);
- activityDetail.setPush_build_ids(buildIds);
- activityDetail.setPush_company_ids(companyIds);
- activityDetail.setPush_names(names);
- }
- modelMap.addAttribute("activity", activityDetail);
- List<ActivityRegistration> registrationList = activityRegistrationService.findRegistrationList(id);
- List<ActivityRegistration> signList = activityRegistrationService.findSginList(id);
- List<ActivityFeedback> feedbackList = activityFeedbackService.findAvtivityList(id);
- String quota = activityDetail.getActivity_quota();
- //if (StringUtils.isBlank(quota)) quota = "0";
- int num = 0;
- for (ActivityRegistration registration : registrationList) {
- if (Objects.equals("1", registration.getReview_state())) {
- num++;
- }
- }
- PageInfo<ActivityFeedback> feedbackPageInfo = activityFeedbackService.feedbackPage(id + "", minScore, maxScore, pageNum, PAGESIZE);
- Map<String, Integer> scoreCount = activityFeedbackService.getScoreCount(id + "", null, null, null, null);
- modelMap.put("fileUrl", setFileUrl());
- modelMap.addAttribute("registrationList", registrationList);
- modelMap.addAttribute("signList", signList);
- // modelMap.addAttribute("feedbackList", feedbackList);
- modelMap.addAttribute("activity_id", id);
- modelMap.addAttribute("pageInfo", feedbackPageInfo);
- modelMap.addAttribute("scoreCount", scoreCount);
- modelMap.addAttribute("minScore", minScore);
- modelMap.addAttribute("maxScore", maxScore);
- modelMap.addAttribute("quota", quota);
- modelMap.addAttribute("num", num);
- return BASE_GOVERNMENT_PATH + "activity_detail";
- }
- /**
- * 跳转到打印详情页面
- *
- * @return
- */
- @OperationLog(value = "打印活动详情")
- @GetMapping(value = "/printReg/{id}")
- public String printReg(@PathVariable("id") Integer id, ModelMap modelMap) throws Exception {
- log.info("跳转到活动报名打印页面!");
- List<ActivityRegistration> registrationList = activityRegistrationService.findRegistrationList(id);
- modelMap.addAttribute("registrationList", registrationList);
- return BASE_GOVERNMENT_PATH + "activity_print";
- }
- /**
- * 跳转到报名信息导出excel
- *
- * @return
- */
- @OperationLog(value = "导出活动报名信息表")
- @GetMapping(value = "/exportExcelRegistration")
- public void exportExcelRegistration(HttpServletResponse response, ActivityFindRequest activityFindRequest) throws Exception {
- log.info("跳转到活动报名下载!");
- Integer id = activityFindRequest.getId();
- ActivityDetail activityDetail = activityService.findOne(id.toString());
- String fileName = activityDetail.getActivity_title() + "报名信息表.xlsx";
- /*List<ActivityRegistrationExports> registrationList = activityRegistrationService.findRegistrationListExports(id);
- for (ActivityRegistrationExports activityRegistrationExports : registrationList) {
- String regway = dictionaryItemService.findNameByTypeAndValue(Constant.DictionaryType.ACTIVITY_REGISTRATION_WAY, activityRegistrationExports.getRegistration_way());
- activityRegistrationExports.setRegistration_way(regway);
- if (Objects.equals(activityRegistrationExports.getReview_state(), "0")) {
- activityRegistrationExports.setReview_state("待审核");
- }
- if (Objects.equals(activityRegistrationExports.getReview_state(), "1")) {
- activityRegistrationExports.setReview_state("通过");
- }
- if (Objects.equals(activityRegistrationExports.getReview_state(), "2")) {
- activityRegistrationExports.setReview_state("驳回");
- }
- if (Objects.equals(activityRegistrationExports.getReview_state(), "3")) {
- activityRegistrationExports.setReview_state("取消报名");
- }
- }*/
- List<ActivityRegistration> activityRegistrationList = activityRegistrationService.findRegistrationList(id);
- List<ActivityRegistrationExports> registrationList = new ArrayList<>();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- for (ActivityRegistration activityRegistration : activityRegistrationList) {
- ActivityRegistrationExports activityRegistrationExports = new ActivityRegistrationExports();
- BeanUtils.copyProperties(activityRegistration, activityRegistrationExports);
- String regway = dictionaryItemService.findNameByTypeAndValue(Constant.DictionaryType.ACTIVITY_REGISTRATION_WAY, activityRegistration.getRegistration_way());
- activityRegistrationExports.setRegistration_way(regway);
- if (Objects.equals(activityRegistration.getReview_state(), "0")) {
- activityRegistrationExports.setReview_state("待审核");
- }
- if (Objects.equals(activityRegistration.getReview_state(), "1")) {
- activityRegistrationExports.setReview_state("通过");
- }
- if (Objects.equals(activityRegistration.getReview_state(), "2")) {
- activityRegistrationExports.setReview_state("驳回");
- }
- if (Objects.equals(activityRegistration.getReview_state(), "3")) {
- activityRegistrationExports.setReview_state("取消报名");
- }
- registrationList.add(activityRegistrationExports);
- }
- new ExportExcel(activityDetail.getActivity_title() + "报名信息表", ActivityRegistrationExports.class).setDataList(registrationList).write(response, fileName).dispose();
- }
- /**
- * 跳转到签到信息导出excel
- *
- * @return
- */
- @OperationLog(value = "导出活动签到信息表")
- @GetMapping(value = "/exportExcelSign")
- public void exportExcelSign(HttpServletResponse response, ActivityFindRequest activityFindRequest) throws Exception {
- log.info("跳转到活动报名下载!");
- Integer id = activityFindRequest.getId();
- ActivityDetail activityDetail = activityService.findOne(id.toString());
- String fileName = activityDetail.getActivity_title() + "签到信息表.xlsx";
- List<ActivityRegistration> activityRegistrationList = activityRegistrationService.findSginList(id);
- List<ActivitySignExports> signList = new ArrayList<>();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- for (ActivityRegistration activityRegistration : activityRegistrationList) {
- ActivitySignExports activitySignExports = new ActivitySignExports();
- BeanUtils.copyProperties(activityRegistration, activitySignExports);
- if (activityRegistration.getRegistration_time() != null)
- activitySignExports.setRegistration_time(sdf.format(activityRegistration.getRegistration_time()));
- if (activityRegistration.getSign_time() != null)
- activitySignExports.setSign_time(sdf.format(activityRegistration.getSign_time()));
- if (StringUtils.isBlank(activitySignExports.getSign_state())) {
- activitySignExports.setSign_state("待确认");
- }
- if (Objects.equals(activitySignExports.getSign_state(), "0")) {
- activitySignExports.setSign_state("已签到");
- }
- if (Objects.equals(activitySignExports.getSign_state(), "1")) {
- activitySignExports.setSign_state("未参加");
- }
- signList.add(activitySignExports);
- }
- new ExportExcel(activityDetail.getActivity_title() + "签到信息表", ActivitySignExports.class).setDataList(signList).write(response, fileName).dispose();
- }
- /**
- * 跳转到详情页面
- *
- * @return
- */
- @GetMapping(value = "/printPass/{id}")
- public String printPass(@PathVariable("id") Integer id, ModelMap modelMap) throws Exception {
- log.info("跳转到活动报名打印页面!");
- List<ActivityRegistration> registrationList = activityRegistrationService.findRegistrationList(id);
- List<ActivityRegistration> resultList = new ArrayList<>();
- for (ActivityRegistration activityRegistration : registrationList) {
- if (Objects.equals(activityRegistration.getReview_state(), "1")) {
- resultList.add(activityRegistration);
- }
- }
- modelMap.addAttribute("registrationList", resultList);
- return BASE_GOVERNMENT_PATH + "activity_print";
- }
- /**
- * 跳转到审核页面
- *
- * @return
- */
- @GetMapping(value = "/review/{id}")
- public String review(@PathVariable("id") Integer id, ModelMap modelMap) throws Exception {
- log.info("跳转到活动审核页面!");
- List<ActivityRegistration> registrationList = activityRegistrationService.findRegistrationList(id);
- ActivityDetail activity = activityService.findOne(id + "");
- List<ActivityRegistration> registration_waited = new ArrayList<ActivityRegistration>();
- List<ActivityRegistration> registration_passed = new ArrayList<ActivityRegistration>();
- List<ActivityRegistration> registration_reject = new ArrayList<ActivityRegistration>();
- List<String> registration_waited_name_list = new ArrayList<>();
- List<String> registration_passed_name_list = new ArrayList<>();
- List<String> registration_reject_name_list = new ArrayList<>();
- for (ActivityRegistration activityRegistration : registrationList) {
- if (Objects.equals(activityRegistration.getReview_state(), "0")) {
- registration_waited.add(activityRegistration);
- boolean flag = true;
- for (String name : registration_waited_name_list) {
- if (Objects.equals(name, activityRegistration.getUser_name())) {
- flag = false;
- }
- }
- if (flag) {
- registration_waited_name_list.add(activityRegistration.getUser_name());
- }
- }
- if (Objects.equals(activityRegistration.getReview_state(), "1")) {
- registration_passed.add(activityRegistration);
- boolean flag = true;
- for (String name : registration_passed_name_list) {
- if (Objects.equals(name, activityRegistration.getUser_name())) {
- flag = false;
- }
- }
- if (flag) {
- registration_passed_name_list.add(activityRegistration.getUser_name());
- }
- }
- if (Objects.equals(activityRegistration.getReview_state(), "2")) {
- registration_reject.add(activityRegistration);
- boolean flag = true;
- for (String name : registration_reject_name_list) {
- if (Objects.equals(name, activityRegistration.getUser_name())) {
- flag = false;
- }
- }
- if (flag) {
- registration_reject_name_list.add(activityRegistration.getUser_name());
- }
- }
- }
- List<ActivityReview> registration_waited_list = new ArrayList<>();
- List<ActivityReview> registration_passed_list = new ArrayList<>();
- List<ActivityReview> registration_rejected_list = new ArrayList<>();
- for (String name : registration_waited_name_list) {
- ActivityReview activityReview = new ActivityReview();
- activityReview.setUser_name(name);
- List<ActivityRegistration> temp = new ArrayList<>();
- for (ActivityRegistration reg : registration_waited) {
- if (Objects.equals(name, reg.getUser_name())) {
- activityReview.setRegistration_time(reg.getRegistration_time());
- temp.add(reg);
- }
- activityReview.setActivityRegistrationList(temp);
- }
- registration_waited_list.add(activityReview);
- }
- for (String name : registration_passed_name_list) {
- ActivityReview activityReview = new ActivityReview();
- activityReview.setUser_name(name);
- List<ActivityRegistration> temp = new ArrayList<>();
- for (ActivityRegistration reg : registration_passed) {
- if (Objects.equals(name, reg.getUser_name())) {
- activityReview.setRegistration_time(reg.getRegistration_time());
- temp.add(reg);
- }
- activityReview.setActivityRegistrationList(temp);
- }
- registration_passed_list.add(activityReview);
- }
- for (String name : registration_reject_name_list) {
- ActivityReview activityReview = new ActivityReview();
- activityReview.setUser_name(name);
- List<ActivityRegistration> temp = new ArrayList<>();
- for (ActivityRegistration reg : registration_reject) {
- if (Objects.equals(name, reg.getUser_name())) {
- activityReview.setRegistration_time(reg.getRegistration_time());
- temp.add(reg);
- }
- activityReview.setActivityRegistrationList(temp);
- }
- registration_rejected_list.add(activityReview);
- }
- String quota = activity.getActivity_quota();
- if (StringUtils.isBlank(quota)) quota = "0";
- int num = 0;
- int Outnumber = 0;
- for (ActivityReview activityReview : registration_passed_list) {
- num += activityReview.getActivityRegistrationList().size();
- }
- int remain = Integer.parseInt(quota) - num;
- if (remain < 0) {
- remain = 0;
- Outnumber = num - Integer.parseInt(quota);
- }
- modelMap.addAttribute("activityId", id);
- modelMap.addAttribute("Outnumber", Outnumber);
- modelMap.addAttribute("quota", quota);
- modelMap.addAttribute("remain", remain);
- modelMap.addAttribute("registration_waited", registration_waited_list);
- modelMap.addAttribute("registration_passed", registration_passed_list);
- modelMap.addAttribute("registration_reject", registration_rejected_list);
- modelMap.put("fileUrl", setFileUrl());
- return BASE_GOVERNMENT_PATH + "activity_review";
- }
- /**
- * 跳转到签到页面
- *
- * @return
- */
- @GetMapping(value = "/sign/{id}")
- public String sign(@PathVariable("id") Integer id, ModelMap modelMap) throws Exception {
- log.info("跳转到活动签到页面!");
- List<ActivityRegistration> signList = activityRegistrationService.findSginList(id);
- List<ActivityRegistration> sign_waited = new ArrayList<ActivityRegistration>();
- List<ActivityRegistration> sign_passed = new ArrayList<ActivityRegistration>();
- List<ActivityRegistration> sign_reject = new ArrayList<ActivityRegistration>();
- for (ActivityRegistration activityRegistration : signList) {
- if (Objects.equals(activityRegistration.getSign_state(), "0")) {
- sign_passed.add(activityRegistration);
- } else if (Objects.equals(activityRegistration.getSign_state(), "1")) {
- sign_reject.add(activityRegistration);
- } else if (!Objects.equals(activityRegistration.getReview_state(), "0")) {
- sign_waited.add(activityRegistration);
- }
- }
- modelMap.addAttribute("sign_waited", sign_waited);
- modelMap.addAttribute("sign_passed", sign_passed);
- modelMap.addAttribute("sign_reject", sign_reject);
- return BASE_GOVERNMENT_PATH + "activity_sign";
- }
- /**
- * 跳转到取消活动页面
- *
- * @return
- */
- @GetMapping(value = "/abort/{id}")
- public String abort(@PathVariable("id") Integer id, ModelMap modelMap) throws Exception {
- log.info("跳转到活动取消页面!");
- modelMap.addAttribute("activity_id", id);
- return BASE_GOVERNMENT_PATH + "activity_cancel";
- }
- /**
- * 取消活动
- *
- * @param id
- * @param state
- * @param message
- * @param modelMap
- * @return
- * @throws Exception
- */
- @OperationLog(value = "取消活动")
- @ResponseBody
- @PostMapping(value = "/activityAbort")
- public ResponseMessage activityAbort(@RequestParam("id") String id, @RequestParam("state") String state, @RequestParam("message") String message, ModelMap modelMap) throws Exception {
- if (IsTooFrequently()) {
- return ResponseMessage.success("操作过于频繁,请稍后再试!");
- }
- log.info("更新活动状态");
- ActivityDetail activityDetail = new ActivityDetail();
- activityDetail.setId(Integer.parseInt(id));
- activityDetail.setActivity_state(state);
- //取消消息
- if (Objects.equals("2", state)) {
- ActivityDetail activity = activityService.findOne(id + "");
- String streetids = "", buildids = "", companyids = "", governmentids = "";
- List<ActivityRegistration> activityRegistrationList = activityRegistrationService.findRegistrationList(Integer.parseInt(id));
- //-2018-05-30-发送活动取消短信
- activityRegistrationService.sendActivityAbortSMS(activity, activityRegistrationList);
- for (ActivityRegistration registration : activityRegistrationList) {
- String type = registration.getUser_type();
- if (Objects.equals(type, Constant.UserType.STREET.toString())) {
- String streetId = userService.getUser(registration.getUser_id()).getStreet_id().toString();
- streetids += streetId + ",";
- } else if (Objects.equals(type, Constant.UserType.BUILD.toString())) {
- String buildId = userService.getUser(registration.getUser_id()).getBuild_id().toString();
- buildids += buildId + ",";
- } else if (Objects.equals(type, Constant.UserType.COMPANY.toString())) {
- String companyId = userService.getUser(registration.getUser_id()).getCompany_id().toString();
- companyids += companyId + ",";
- } else if (Objects.equals(type, Constant.UserType.GOVERNMENT.toString())) {
- //String governmentId = userService.getUser(registration.getUser_id()).get.toString();
- governmentids += registration.getUser_id() + ",";
- }
- }
- Message messages = new Message();
- messages.setApply_id(Integer.parseInt(id));
- messages.setTitle(activity.getActivity_title() + "活动取消");
- messages.setContent(message);
- messages.setBusiness_type(Constant.Message_Business_type.ACTIVITY);
- if (!StringUtils.isEmpty(streetids)) {
- String[] streetArr = streetids.split(",");
- Set<String> set = new HashSet<>();
- for (int i = 0; i < streetArr.length; i++) {
- set.add(streetArr[i]);
- }
- String[] streetArrs = (String[]) set.toArray(new String[set.size()]);
- int[] streetArrInt = new int[streetArrs.length];
- for (int i = 0; i < streetArrs.length; i++) {
- streetArrInt[i] = Integer.parseInt(streetArrs[i]);
- }
- messageService.saveMessageAndPush(messages, streetArrInt, Constant.UserType.STREET);
- }
- if (!StringUtils.isEmpty(buildids)) {
- String[] buildArr = buildids.split(",");
- Set<String> set = new HashSet<>();
- for (int i = 0; i < buildArr.length; i++) {
- set.add(buildArr[i]);
- }
- String[] buildArrs = (String[]) set.toArray(new String[set.size()]);
- int[] buildArrInt = new int[buildArrs.length];
- for (int i = 0; i < buildArrs.length; i++) {
- buildArrInt[i] = Integer.parseInt(buildArrs[i]);
- }
- messageService.saveMessageAndPush(messages, buildArrInt, Constant.UserType.BUILD);
- }
- if (!StringUtils.isEmpty(companyids)) {
- String[] companyArr = companyids.split(",");
- Set<String> set = new HashSet<>();
- for (int i = 0; i < companyArr.length; i++) {
- set.add(companyArr[i]);
- }
- String[] companyArrs = (String[]) set.toArray(new String[set.size()]);
- int[] companyArrInt = new int[companyArrs.length];
- for (int i = 0; i < companyArrs.length; i++) {
- companyArrInt[i] = Integer.parseInt(companyArrs[i]);
- }
- messageService.saveMessageAndPush(messages, companyArrInt, Constant.UserType.COMPANY);
- }
- if (!StringUtils.isEmpty(governmentids)) {
- String[] governmentArr = governmentids.split(",");
- Set<String> set = new HashSet<>();
- for (int i = 0; i < governmentArr.length; i++) {
- set.add(governmentArr[i]);
- }
- String[] governmentArrs = (String[]) set.toArray(new String[set.size()]);
- int[] governmentArrInt = new int[governmentArrs.length];
- for (int i = 0; i < governmentArrs.length; i++) {
- governmentArrInt[i] = Integer.parseInt(governmentArrs[i]);
- }
- messageService.saveMessageAndPush(messages, governmentArrInt, Constant.UserType.GOVERNMENT);
- }
- }
- return ResponseMessage.success("操作成功", activityService.updateActivitySelective(activityDetail));
- }
- /**
- * 跳转到添加页面
- *
- * @return
- */
- @GetMapping(value = "/add")
- public String add(ModelMap modelMap) {
- log.info("跳转到活动添加页面!");
- List<DictionaryItem> activityTypeList = dictionaryItemService.findListByTypeName(Constant.DictionaryType.ACTIVITY_TYPE);
- modelMap.addAttribute("activity_type", activityTypeList);
- return BASE_GOVERNMENT_PATH + "activity_add";
- }
- /**
- * 跳转到修改页面
- *
- * @return
- */
- @GetMapping(value = "/edit/{id}")
- public String edit(@PathVariable("id") Integer id, ModelMap modelMap) throws Exception {
- log.info("跳转到活动编辑页面!");
- List<DictionaryItem> activityTypeList = dictionaryItemService.findListByTypeName(Constant.DictionaryType.ACTIVITY_TYPE);
- modelMap.addAttribute("activity_type", activityTypeList);
- ActivityDetail activityDetail = activityService.findOne(id.toString());
- List<Attachment> attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.ACTIVITY, activityDetail.getId(), null);
- if (null != attachments && attachments.size() > 0) {
- FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri());
- activityDetail.setFileDown(fileDown);
- }
- List<ActivityPush> pushList = activityDetail.getPushList();
- String streetIds = "", buildIds = "", companyIds = "", names = "";
- if (!CollectionUtils.isEmpty(pushList)) {
- for (ActivityPush push : pushList) {
- if (Objects.equals("4", push.getUser_type())) {
- streetIds += push.getUser_id() + ",";
- names += push.getUser_name() + ",";
- }
- if (Objects.equals("1", push.getUser_type())) {
- buildIds += push.getUser_id() + ",";
- names += push.getUser_name() + ",";
- }
- if (Objects.equals("3", push.getUser_type())) {
- companyIds += push.getUser_id() + ",";
- names += push.getUser_name() + ",";
- }
- }
- activityDetail.setPush_street_ids(streetIds);
- activityDetail.setPush_build_ids(buildIds);
- activityDetail.setPush_company_ids(companyIds);
- activityDetail.setPush_names(names);
- }
- modelMap.put("fileUrl", setFileUrl());
- modelMap.addAttribute("activity", activityDetail);
- return BASE_GOVERNMENT_PATH + "activity_edit";
- }
- /**
- * 添加活动信息
- *
- * @param activityDetail
- * @return
- */
- @OperationLog(value = "添加活动")
- @ResponseBody
- @PostMapping(value = "/save")
- public ResponseMessage saveActivity(ActivityDetail activityDetail, @RequestParam("activity_state") String activity_state) throws Exception {
- log.debug("添加活动信息! ActivityDetail = {}", activityDetail);
- if (IsTooFrequently()) {
- return ResponseMessage.success("操作过于频繁,请稍后再试!");
- }
- if (Objects.equals("1", activity_state)) {
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date currentTime = new Date();
- String dateString = formatter.format(currentTime);
- activityDetail.setActivity_publishtime(dateString);
- }
- int activityid = activityService.saveActivity(activityDetail);
- if (Objects.equals("1", activity_state)) {
- if (Objects.equals(activityDetail.getPush_level(), "1")) {
- String streetids = activityDetail.getPush_street_ids();
- String buildids = activityDetail.getPush_build_ids();
- String companyids = activityDetail.getPush_company_ids();
- Message message = new Message();
- message.setApply_id(activityid);
- message.setTitle("您接收到了一条关于" + activityDetail.getActivity_title() + "的活动推送");
- message.setContent(activityDetail.getContent());
- message.setBusiness_type(Constant.Message_Business_type.ACTIVITY);
- if (!StringUtils.isEmpty(streetids)) {
- String[] streetArr = streetids.split(",");
- int[] streetArrInt = new int[streetArr.length];
- for (int i = 0; i < streetArr.length; i++) {
- streetArrInt[i] = Integer.parseInt(streetArr[i]);
- }
- messageService.saveMessageAndPush(message, streetArrInt, Constant.UserType.STREET);
- }
- if (!StringUtils.isEmpty(buildids)) {
- String[] buildArr = buildids.split(",");
- int[] buildArrInt = new int[buildArr.length];
- for (int i = 0; i < buildArr.length; i++) {
- buildArrInt[i] = Integer.parseInt(buildArr[i]);
- }
- messageService.saveMessageAndPush(message, buildArrInt, Constant.UserType.BUILD);
- }
- if (!StringUtils.isEmpty(companyids)) {
- String[] companyArr = companyids.split(",");
- int[] companyArrInt = new int[companyArr.length];
- for (int i = 0; i < companyArr.length; i++) {
- companyArrInt[i] = Integer.parseInt(companyArr[i]);
- }
- messageService.saveMessageAndPush(message, companyArrInt, Constant.UserType.COMPANY);
- }
- }
- }
- return ResponseMessage.success("保存成功!");
- }
- /**
- * 编辑活动信息
- *
- * @param activityDetail
- * @return
- */
- @OperationLog(value = "编辑活动")
- @ResponseBody
- @PostMapping(value = "/edit")
- public ResponseMessage editActivity(ActivityDetail activityDetail, @RequestParam("activity_state") String activity_state) throws Exception {
- log.debug("编辑活动信息! ActivityDetail = {}", activityDetail);
- if (IsTooFrequently()) {
- return ResponseMessage.success("操作过于频繁,请稍后再试!");
- }
- if (Objects.equals("1", activity_state)) {
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date currentTime = new Date();
- String dateString = formatter.format(currentTime);
- activityDetail.setActivity_publishtime(dateString);
- }
- activityService.updateActivity(activityDetail);
- if (Objects.equals("1", activity_state)) {
- if (Objects.equals(activityDetail.getPush_level(), "1")) {
- String streetids = activityDetail.getPush_street_ids();
- String buildids = activityDetail.getPush_build_ids();
- String companyids = activityDetail.getPush_company_ids();
- Message message = new Message();
- message.setApply_id(activityDetail.getId());
- message.setTitle(activityDetail.getActivity_title() + "活动修改");
- message.setContent(activityDetail.getActivity_reason());
- message.setBusiness_type(Constant.Message_Business_type.ACTIVITY);
- if (!StringUtils.isEmpty(streetids)) {
- String[] streetArr = streetids.split(",");
- int[] streetArrInt = new int[streetArr.length];
- for (int i = 0; i < streetArr.length; i++) {
- streetArrInt[i] = Integer.parseInt(streetArr[i]);
- }
- messageService.saveMessageAndPush(message, streetArrInt, Constant.UserType.STREET);
- }
- if (!StringUtils.isEmpty(buildids)) {
- String[] buildArr = buildids.split(",");
- int[] buildArrInt = new int[buildArr.length];
- for (int i = 0; i < buildArr.length; i++) {
- buildArrInt[i] = Integer.parseInt(buildArr[i]);
- }
- messageService.saveMessageAndPush(message, buildArrInt, Constant.UserType.BUILD);
- }
- if (!StringUtils.isEmpty(companyids)) {
- String[] companyArr = companyids.split(",");
- int[] companyArrInt = new int[companyArr.length];
- for (int i = 0; i < companyArr.length; i++) {
- companyArrInt[i] = Integer.parseInt(companyArr[i]);
- }
- messageService.saveMessageAndPush(message, companyArrInt, Constant.UserType.COMPANY);
- }
- //发送活动编辑变更短信
- List<ActivityRegistration> activityRegistrationList = activityRegistrationService.findRegistrationList(activityDetail.getId());
- activityRegistrationService.sendActivityUpdateSMS(activityDetail, activityRegistrationList);
- }
- }
- return ResponseMessage.success("保存成功!");
- }
- /**
- * 删除项目
- */
- @OperationLog(value = "删除活动")
- @ResponseBody
- @DeleteMapping(value = "/delete/{id}")
- public ResponseMessage delete(@PathVariable("id") String id) throws Exception {
- try {
- activityService.deleteProject(id);
- return ResponseMessage.success("删除成功!");
- } catch (BaseException e) {
- return ResponseMessage.success(e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- }
- return ResponseMessage.error("删除失败!");
- }
- /**
- * 跳转到添加推送页面
- *
- * @return
- * @throws Exception
- */
- @GetMapping(value = "/addPush")
- public String addPush(ModelMap modelMap) throws Exception {
- log.info("跳转到添加推送页面!");
- List<Street> streetList = streetService.findList();
- modelMap.addAttribute("streetList", streetList);
- return BASE_GOVERNMENT_PATH + "activityMessagepush_add";
- }
- /**
- * 跳转到添加推送页面
- *
- * @return
- * @throws Exception
- */
- @GetMapping(value = "/calendar")
- public String calendar(ModelMap modelMap) throws Exception {
- log.info("跳转到活动日历!");
- return BASE_GOVERNMENT_PATH + "activity_calendar";
- }
- @ResponseBody
- @GetMapping(value = "/getAllEvents")
- public ResponseMessage getAllEvents() {
- log.info("获取所有活动时间");
- List<String> dates = activityService.getAllEventsDate(null);
- return ResponseMessage.success("", dates);
- }
- @ResponseBody
- @PostMapping(value = "/getEventList")
- public ResponseMessage getEventList(ActivityDetail activityDetail) {
- log.info("获取一天内的所有活动");
- List<ActivityDetail> dates = activityService.getEventList(activityDetail.getActivity_starttime());
- return ResponseMessage.success("", dates);
- }
- /**
- * 跳转到签到页面
- *
- * @return
- */
- @GetMapping(value = "/preview")
- public String preview(ModelMap modelMap) throws Exception {
- log.info("跳转预览页面!");
- return BASE_GOVERNMENT_PATH + "activity_preview";
- }
- @ResponseBody
- @PostMapping(value = "/getBuildsByStreetIds")
- public ResponseMessage getBuildsByStreetIds(@RequestParam("streetIds") String streetIds) {
- log.info("根据街道ids获取园区!");
- String[] idsArr = streetIds.split(",");
- List<String> ids = new ArrayList<String>();
- for (String id : idsArr) {
- ids.add(id);
- }
- List<BuildInfo> buildList = buildInfoService.findBuildsByStreetIds(ids);
- return ResponseMessage.success("", buildList);
- }
- @ResponseBody
- @PostMapping(value = "/getCompanysByBuildIds")
- public ResponseMessage getCompanysByBuildIds(@RequestParam("buildIds") String buildIds, @RequestParam("type_id") String type_id) {
- log.info("根据街道ids获取园区!");
- String[] idsArr = buildIds.split(",");
- List<String> ids = new ArrayList<String>();
- for (String id : idsArr) {
- ids.add(id);
- }
- List<Company> companyList = companyService.findCompanysByBuildIds(ids, type_id);
- return ResponseMessage.success("", companyList);
- }
- @ResponseBody
- @PostMapping(value = "/findStreetBuildCompanyByName")
- public ResponseMessage findStreetBuildCompanyByName(@RequestParam("name") String name, ModelMap modelMap) throws Exception {
- log.info("模糊查询街道园区企业");
- return ResponseMessage.success("", activityService.findStreetBuildCompanyByName(name));
- }
- @ResponseBody
- @PostMapping(value = "/updateSignState")
- public ResponseMessage updateState(@RequestParam("id") String id, @RequestParam("state") String state, ModelMap modelMap) throws Exception {
- log.info("更新活动签到状态");
- ActivityRegistration activityRegistration = new ActivityRegistration();
- activityRegistration.setId(Integer.parseInt(id));
- activityRegistration.setSign_state(state);
- activityRegistration.setSign_time(new Date());
- return ResponseMessage.success("操作成功", activityRegistrationService.updateState(activityRegistration));
- }
- @ResponseBody
- @PostMapping(value = "/updateSignStateBatch")
- public ResponseMessage updateStateBatch(@RequestParam("ids") String ids, @RequestParam("state") String state, ModelMap modelMap) throws Exception {
- log.info("批量更新活动签到状态");
- ActivityRegistration activityRegistration = new ActivityRegistration();
- activityRegistration.setSign_state(state);
- activityRegistration.setSign_time(new Date());
- String[] idsArr = ids.split(",");
- List<String> idList = new ArrayList<String>();
- if (idsArr.length > 0) {
- for (String id : idsArr) {
- idList.add(id);
- }
- }
- activityRegistrationService.updateStateBatch(idList, activityRegistration);
- return ResponseMessage.success("操作成功", null);
- }
- @ResponseBody
- @PostMapping(value = "/updateReviewState")
- public ResponseMessage updateReviewState(@RequestParam("id") String id, @RequestParam("state") String state, @RequestParam("message") String message, ModelMap modelMap) throws Exception {
- log.info("更新活动审核状态");
- ActivityRegistration activityRegistration = new ActivityRegistration();
- activityRegistration.setId(Integer.parseInt(id));
- activityRegistration.setReview_state(state);
- ActivityRegistration reg = activityRegistrationService.findById(Integer.parseInt(id));
- ActivityDetail activity = activityService.findOne(reg.getActivity_id() + "");
- Message messages = new Message();
- messages.setApply_id(activity.getId());
- messages.setTitle("企业报名审核确认");
- messages.setBusiness_type(Constant.Message_Business_type.ACTIVITY);
- String templateCode = Constant.SMS_TemplateCode.ACT_REGISTRATION_SUCCESS;
- //驳回消息
- if (Objects.equals("2", state)) {
- messages.setContent("您关于" + activity.getActivity_title() + "活动的报名信息已被确认不通过");
- templateCode = Constant.SMS_TemplateCode.ACT_REGISTRATION_FAILED;
- }
- //通过消息
- if (Objects.equals("1", state)) {
- messages.setContent("您关于" + activity.getActivity_title() + "活动的报名信息已被确认通过");
- }
- if (!reg.getUser_type().equals(Constant.UserType.PERSONAL.toString())) {
- int[] arrInt = new int[1];
- arrInt[0] = Integer.parseInt(reg.getRelation_id());
- if (Objects.equals(Constant.UserType.GOVERNMENT, reg.getUser_type())) {
- messageService.saveMessageAndPush(messages, arrInt, Constant.UserType.GOVERNMENT);
- } else if (Objects.equals(Constant.UserType.BUILD, reg.getUser_type())) {
- messageService.saveMessageAndPush(messages, arrInt, Constant.UserType.BUILD);
- } else if (Objects.equals(Constant.UserType.STREET, reg.getUser_type())) {
- messageService.saveMessageAndPush(messages, arrInt, Constant.UserType.STREET);
- } else if (Objects.equals(Constant.UserType.COMPANY, reg.getUser_type())) {
- messageService.saveMessageAndPush(messages, arrInt, Constant.UserType.COMPANY);
- }
- waitToDoService.completeAllTODO(activity.getId(), Constant.DictionaryType.ACTIVITY_APPLICATION);
- }
- //发送短息
- Map<String, String> params = new HashMap<>();
- params.put("activity_title", activity.getActivity_title());
- // User user = userService.findById(Integer.parseInt(id));
- AlibabaSMSUtil.sendSMS(
- reg.getPhone(), templateCode, Constant.SINGNAMW, JSONObject.toJSONString(params));
- return ResponseMessage.success("操作成功", activityRegistrationService.updateState(activityRegistration));
- }
- @ResponseBody
- @PostMapping(value = "/updateReviewStateBatch")
- public ResponseMessage updateReviewStateBatch(@RequestParam("ids") String ids, @RequestParam("state") String state, @RequestParam("message") String message, ModelMap modelMap) throws Exception {
- log.info("批量更新活动审核状态");
- ActivityRegistration activityRegistration = new ActivityRegistration();
- activityRegistration.setReview_state(state);
- String[] idsArr = ids.split(",");
- List<String> idList = new ArrayList<String>();
- //短信模版
- String templateCode = Constant.SMS_TemplateCode.ACT_REGISTRATION_SUCCESS;
- //发送短信线程池
- ExecutorService executor = Executors.newFixedThreadPool(10);
- if (idsArr.length > 0) {
- for (String id : idsArr) {
- idList.add(id);
- ActivityRegistration reg = activityRegistrationService.findById(Integer.parseInt(id));
- ActivityDetail activity = activityService.findOne(reg.getActivity_id() + "");
- Message messages = new Message();
- messages.setApply_id(activity.getId());
- messages.setTitle("企业报名审核确认");
- messages.setBusiness_type(Constant.Message_Business_type.ACTIVITY);
- //驳回消息
- if (Objects.equals("2", state)) {
- messages.setContent("您关于" + activity.getActivity_title() + "活动的报名信息已被确认不通过");
- templateCode = Constant.SMS_TemplateCode.ACT_REGISTRATION_FAILED;
- }
- //通过消息
- if (Objects.equals("1", state)) {
- messages.setContent("您关于" + activity.getActivity_title() + "活动的报名信息已被确认通过");
- }
- if (!reg.getUser_type().equals(Constant.UserType.PERSONAL.toString())) {
- int[] streetArrInt = new int[1];
- streetArrInt[0] = Integer.parseInt(reg.getRelation_id());
- if (Objects.equals(Constant.UserType.GOVERNMENT, reg.getUser_type())) {
- messageService.saveMessageAndPush(messages, streetArrInt, Constant.UserType.GOVERNMENT);
- } else if (Objects.equals(Constant.UserType.BUILD, reg.getUser_type())) {
- messageService.saveMessageAndPush(messages, streetArrInt, Constant.UserType.BUILD);
- } else if (Objects.equals(Constant.UserType.STREET, reg.getUser_type())) {
- messageService.saveMessageAndPush(messages, streetArrInt, Constant.UserType.STREET);
- } else if (Objects.equals(Constant.UserType.COMPANY, reg.getUser_type())) {
- messageService.saveMessageAndPush(messages, streetArrInt, Constant.UserType.COMPANY);
- }
- waitToDoService.completeAllTODO(activity.getId(), Constant.DictionaryType.ACTIVITY_APPLICATION);
- }
- //发送短信
- Map<String, String> params = new HashMap<>();
- params.put("activity_title", activity.getActivity_title());
- if (StringUtils.isNotBlank(reg.getPhone())) {
- String finalTemplateCode = templateCode;
- System.out.println("当前线程数:" + ((ThreadPoolExecutor) executor).getActiveCount());
- Runnable runnable = () -> {
- try {
- AlibabaSMSUtil.sendSMS(
- reg.getPhone(), finalTemplateCode, Constant.SINGNAMW, JSONObject.toJSONString(params));
- } catch (ClientException | InterruptedException e) {
- e.printStackTrace();
- }
- };
- executor.submit(runnable);
- }
- }
- }
- activityRegistrationService.updateStateBatch(idList, activityRegistration);
- return ResponseMessage.success("操作成功", null);
- }
- @GetMapping(value = "/reject/{id}")
- public String reject(@PathVariable("id") String id, ModelMap modelMap) throws Exception {
- log.info("跳转到审核驳回页面!");
- modelMap.addAttribute("activity_id", id);
- return BASE_GOVERNMENT_PATH + "activity_reject";
- }
- /**
- * 跳转到活动二维码
- *
- * @return
- */
- @GetMapping(value = "/qrcode/{id}")
- public String qrcode(@PathVariable("id") String id, ModelMap modelMap) {
- log.info("跳转到活动二维码!");
- try {
- InputStream is_detail = activityService.getQRcode("1", "350", id);
- byte[] bytes_detail = IOUtils.toByteArray(is_detail);
- String encoded_detail = Base64.getEncoder().encodeToString(bytes_detail);
- InputStream is_sign = activityService.getQRcode("2", "350", id);
- byte[] bytes_sign = IOUtils.toByteArray(is_sign);
- String encoded_sign = Base64.getEncoder().encodeToString(bytes_sign);
- modelMap.addAttribute("qrcode_detail", "data:image/jpg;base64," + encoded_detail);
- modelMap.addAttribute("qrcode_sign", "data:image/jpg;base64," + encoded_sign);
- } catch (IOException e) {
- e.printStackTrace();
- }
- modelMap.addAttribute("activity_id", id);
- return BASE_GOVERNMENT_PATH + "activity_qrcode";
- }
- /**
- * @Author: huZhiHao
- * @Description: 获取小程序二维码
- * @Date: 2019/12/18
- * @Params: [activity_id, type 1报名 2签到]
- * @Return: void
- **/
- @GetMapping(value = "/download/qrcode/{activity_id}/{type}")
- public void getDetailQRcode(@PathVariable("activity_id") String id, @PathVariable("type") String type, HttpServletRequest request, HttpServletResponse response) throws IOException {
- // try {
- // URL url = new URL("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + access_token);
- // HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
- // // conn.setConnectTimeout(10000);//连接超时 单位毫秒
- // // conn.setReadTimeout(2000);//读取超时 单位毫秒
- // // 发送POST请求必须设置如下两行
- // httpURLConnection.setDoOutput(true); // 打开写入属性
- // httpURLConnection.setDoInput(true); // 打开读取属性
- // httpURLConnection.setRequestMethod("POST");// 提交方式
- // // 不得不说一下这个提交方式转换!!真的坑。。改了好长时间!!一定要记得加响应头
- // httpURLConnection.setRequestProperty("Content-Type", "application/x-javascript; charset=UTF-8");// 设置响应头
- // // 获取URLConnection对象对应的输出流
- // PrintWriter printWriter = new PrintWriter(httpURLConnection.getOutputStream());
- // // 发送请求参数
- // JSONObject paramJson = new JSONObject();
- // paramJson.put("scene", "xxx"); // 你要放的内容
- // paramJson.put("path", "pages/index/index");
- // paramJson.put("width", 430); // 宽度
- // //paramJson.put("auto_color", true);
- // printWriter.write(paramJson.toString());
- // // flush输出流的缓冲
- // printWriter.flush();
- // BufferedInputStream bis = new BufferedInputStream(httpURLConnection.getInputStream());
- // //创建一个空文件
- // OutputStream os = new FileOutputStream(new File("E:/upload/test.jpg"));
- // //ByteArrayOutputStream os = new ByteArrayOutputStream();
- // int len;
- // byte[] arr = new byte[1024];
- // while ((len = bis.read(arr)) != -1) {
- // os.write(arr, 0, len);
- // os.flush();
- // }
- // os.close();
- // // 上传云储存
- // //InputStream is = new ByteArrayInputStream(os.toByteArray());
- // //retMap = UploadUtils.upload(is);
- // } catch (Exception e) {
- // e.printStackTrace();
- // }
- InputStream is = null;
- String name = "";
- if ("1".equals(type)) {
- name = "报名二维码.jpg";
- is = activityService.getQRcode(type, "430", id);
- } else if ("2".equals(type)) {
- name = "签到二维码.jpg";
- is = activityService.getQRcode(type, "430", id);
- }
- String userAgent = request.getHeader("user-agent").toLowerCase();
- if (userAgent.contains("msie") || userAgent.contains("like gecko")) {
- // win10 ie edge 浏览器 和其他系统的ie
- name = URLEncoder.encode(name, "UTF-8");
- } else {
- // 其他
- name = new String(name.getBytes("utf-8"), "iso-8859-1");
- }
- // name = new String(name.getBytes(), "ISO-8859-1");
- response.setHeader("Content-type", "application/octet-stream");
- response.setHeader("Content-disposition", "attachment;fileName=\"" + name + "\"");
- OutputStream os = response.getOutputStream(); //输出数据
- IOUtils.copy(is, os);
- is.close();
- os.close();
- }
- /**
- * 跳转到地图
- *
- * @return
- * @throws Exception
- */
- @GetMapping(value = "/map")
- public String toMap() {
- log.info("跳转到地图!");
- return BASE_GOVERNMENT_PATH + "map_component/map";
- }
- /**
- * 跳转到回复反馈
- *
- * @return
- * @throws Exception
- */
- @GetMapping(value = "/reply/{id}")
- public String toReplyDialog(@PathVariable("id") String feedbackId, ModelMap modelMap) {
- log.info("跳转到回复反馈!");
- ActivityFeedback feedback = activityFeedbackService.findById(Integer.parseInt(feedbackId));
- modelMap.addAttribute("feedback", feedback);
- return BASE_GOVERNMENT_PATH + "activity_reply";
- }
- }
|