admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/controller/admin/ActivityUserAdminController.java
@@ -1,161 +1,162 @@
package com.yeshi.fanli.controller.admin;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.tencentcloud.COSManager;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.dto.dynamic.ActivityUserRule;
import com.yeshi.fanli.entity.bus.activity.ActivityRuleUser;
import com.yeshi.fanli.entity.bus.activity.ActivityUser;
import com.yeshi.fanli.service.inter.activity.ActivityUserService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("admin/new/api/v1/activityuser")
public class ActivityUserAdminController {
   @Resource
   private ActivityUserService activityUserService;
   private String uploadPic(MultipartFile file) {
      // 文件解析
      try {
         InputStream inputStream = file.getInputStream();
         String contentType = file.getContentType();
         String type = contentType.substring(contentType.indexOf("/") + 1);
         // 文件路径
         String filePath = FilePathEnum.activityUserPortrait.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
         // 执行上传
         String fileLink = COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
         return fileLink;
      } catch (IOException e) {
         e.printStackTrace();
      }
      return null;
   }
   /**
    * 获取活动用户列表
    *
    * @param callback
    * @param out
    */
   @RequestMapping(value = "listActivityUserRules")
   public void listActivityUserRules(String callback, PrintWriter out) {
      ActivityUserRule[] rules = ActivityRuleUser.RULES;
      JSONArray array = new JSONArray();
      for (ActivityUserRule rule : rules) {
         array.add(rule);
      }
      out.print(callback + "(" + JsonUtil.loadTrueResult(array) + ")");
   }
   /**
    * 获取用户列表
    *
    * @param callback
    * @param rule
    * @param out
    */
   @RequestMapping(value = "listActivityUser")
   public void listActivityUser(String callback, Integer rule, int pageIndex, int pageSize, PrintWriter out) {
      List<ActivityRuleUser> list = activityUserService.listByRuleCode(rule, 1, 100);
      long count = activityUserService.countByRuleCode(rule);
      JSONObject data = new JSONObject();
      JSONArray dataArray = new JSONArray();
      Map<Integer, ActivityUserRule> ruleMap = new HashMap<>();
      Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm").create();
      for (ActivityUserRule r : ActivityRuleUser.RULES)
         ruleMap.put(r.getRuleCode(), r);
      for (ActivityRuleUser r : list) {
         if (r.getRuleCode() != null)
            r.setRule(ruleMap.get(r.getRuleCode()));
         dataArray.add(gson.toJson(r));
      }
      data.put("data", dataArray);
      data.put("pe", new PageEntity(pageIndex, pageSize, count,
            (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1)));
      if (StringUtil.isNullOrEmpty(callback)) {
         out.print(JsonUtil.loadTrueResult(data));
      } else {
         out.print(callback + "(" + JsonUtil.loadTrueResult(data) + ")");
      }
   }
   @RequestMapping(value = "deleteActivityUser")
   public void deleteActivityUsers(String callback, String ids, PrintWriter out) {
      JSONArray array = JSONArray.fromObject(ids);
      for (int i = 0; i < array.size(); i++) {
         // 删除
         if (array.optLong(i) != 1L) {
            activityUserService.deleteByRuleUserId(array.optLong(i));
         }
      }
      JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("删除成功"));
   }
   @RequestMapping(value = "saveActivityUser")
   public void save(String callback, ActivityRuleUser user, HttpServletRequest request, PrintWriter out) {
      if (user == null || user.getRuleCode() == null || user.getActivityUser() == null) {
         out.print(callback + "(" + JsonUtil.loadFalseResult("数据不完整") + ")");
         return;
      }
      String picUrl = null;
      if (request instanceof MultipartHttpServletRequest) {
         MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request;
         MultipartFile multipartFile = fileRequest.getFile("file");
         if (multipartFile != null)
            picUrl = uploadPic(multipartFile);
      }
      if (user.getId() != null)// 更改
      {
         ActivityRuleUser old = activityUserService.selectRuleUserByPrimaryKey(user.getId());
         if (old != null) {
            // 更改里面的用户与昵称
            if (old.getActivityUser() != null) {
               ActivityUser update = new ActivityUser(old.getActivityUser().getId());
               update.setNickName(user.getActivityUser().getNickName());
               update.setPortrait(picUrl);
               activityUserService.updateActivityUser(update);
            }
         }
         user.setActivityUser(null);
         activityUserService.updateActivityRuleUser(user);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } else {// 新增
         user.getActivityUser().setPortrait(picUrl);
         activityUserService.addActivityRuleUser(user);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      }
   }
}
package com.yeshi.fanli.controller.admin;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.yeshi.fanli.entity.accept.AdminAcceptData;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.tencentcloud.COSManager;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.dto.dynamic.ActivityUserRule;
import com.yeshi.fanli.entity.bus.activity.ActivityRuleUser;
import com.yeshi.fanli.entity.bus.activity.ActivityUser;
import com.yeshi.fanli.service.inter.activity.ActivityUserService;
import com.yeshi.common.entity.PageEntity;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.StringUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("admin/new/api/v1/activityuser")
public class ActivityUserAdminController {
   @Resource
   private ActivityUserService activityUserService;
   private String uploadPic(MultipartFile file) {
      // 文件解析
      try {
         InputStream inputStream = file.getInputStream();
         String contentType = file.getContentType();
         String type = contentType.substring(contentType.indexOf("/") + 1);
         // 文件路径
         String filePath = FilePathEnum.activityUserPortrait.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + type;
         // 执行上传
         String fileLink = COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
         return fileLink;
      } catch (IOException e) {
         e.printStackTrace();
      }
      return null;
   }
   /**
    * 获取活动用户列表
    *
    * @param callback
    * @param out
    */
   @RequestMapping(value = "listActivityUserRules")
   public void listActivityUserRules(AdminAcceptData acceptData, String callback, PrintWriter out) {
      ActivityUserRule[] rules = ActivityRuleUser.RULES;
      JSONArray array = new JSONArray();
      for (ActivityUserRule rule : rules) {
         array.add(rule);
      }
      out.print(callback + "(" + JsonUtil.loadTrueResult(array) + ")");
   }
   /**
    * 获取用户列表
    *
    * @param callback
    * @param rule
    * @param out
    */
   @RequestMapping(value = "listActivityUser")
   public void listActivityUser(AdminAcceptData acceptData,String callback, Integer rule, int pageIndex, int pageSize, PrintWriter out) {
      List<ActivityRuleUser> list = activityUserService.listByRuleCode(rule, 1, 100);
      long count = activityUserService.countByRuleCode(rule);
      JSONObject data = new JSONObject();
      JSONArray dataArray = new JSONArray();
      Map<Integer, ActivityUserRule> ruleMap = new HashMap<>();
      Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm").create();
      for (ActivityUserRule r : ActivityRuleUser.RULES)
         ruleMap.put(r.getRuleCode(), r);
      for (ActivityRuleUser r : list) {
         if (r.getRuleCode() != null)
            r.setRule(ruleMap.get(r.getRuleCode()));
         dataArray.add(gson.toJson(r));
      }
      data.put("data", dataArray);
      data.put("pe", new PageEntity(pageIndex, pageSize, count,
            (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1)));
      if (StringUtil.isNullOrEmpty(callback)) {
         out.print(JsonUtil.loadTrueResult(data));
      } else {
         out.print(callback + "(" + JsonUtil.loadTrueResult(data) + ")");
      }
   }
   @RequestMapping(value = "deleteActivityUser")
   public void deleteActivityUsers(AdminAcceptData acceptData,String callback, String ids, PrintWriter out) {
      JSONArray array = JSONArray.fromObject(ids);
      for (int i = 0; i < array.size(); i++) {
         // 删除
         if (array.optLong(i) != 1L) {
            activityUserService.deleteByRuleUserId(array.optLong(i));
         }
      }
      JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("删除成功"));
   }
   @RequestMapping(value = "saveActivityUser")
   public void save(AdminAcceptData acceptData,String callback, ActivityRuleUser user, HttpServletRequest request, PrintWriter out) {
      if (user == null || user.getRuleCode() == null || user.getActivityUser() == null) {
         out.print(callback + "(" + JsonUtil.loadFalseResult("数据不完整") + ")");
         return;
      }
      String picUrl = null;
      if (request instanceof MultipartHttpServletRequest) {
         MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request;
         MultipartFile multipartFile = fileRequest.getFile("file");
         if (multipartFile != null)
            picUrl = uploadPic(multipartFile);
      }
      if (user.getId() != null)// 更改
      {
         ActivityRuleUser old = activityUserService.selectRuleUserByPrimaryKey(user.getId());
         if (old != null) {
            // 更改里面的用户与昵称
            if (old.getActivityUser() != null) {
               ActivityUser update = new ActivityUser(old.getActivityUser().getId());
               update.setNickName(user.getActivityUser().getNickName());
               update.setPortrait(picUrl);
               activityUserService.updateActivityUser(update);
            }
         }
         user.setActivityUser(null);
         activityUserService.updateActivityRuleUser(user);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } else {// 新增
         user.getActivityUser().setPortrait(picUrl);
         activityUserService.addActivityRuleUser(user);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      }
   }
}