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.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 = "/img/GoodsSubClass/" + 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("保存成功"));
|
}
|
|
}
|
|
}
|