123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- package com.iamberry.wechat.handles.flow;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.servlet.ModelAndView;
- import com.iamberry.wechat.core.entity.banner.MessageDTO;
- import com.iamberry.wechat.core.entity.drp.PlaceRoleInfo;
- import com.iamberry.wechat.core.entity.flow.TemplateFlowInfo;
- import com.iamberry.wechat.core.entity.flow.TemplateInfo;
- import com.iamberry.wechat.core.entity.product.ProductType;
- import com.iamberry.wechat.face.drp.DrpRoleInfoService;
- import com.iamberry.wechat.face.flow.TemplateFlowInfoService;
- import com.iamberry.wechat.face.flow.TemplateInfoService;
- import com.iamberry.wechat.face.porduct.ProductTypeService;
- @Deprecated
- @Controller
- @RequestMapping("/admin/templateFlow")
- public class TemplateFlowInfoHandler {
- @Autowired
- private TemplateInfoService templateInfoService;
-
- @Autowired
- private TemplateFlowInfoService templateFlowInfoService;
-
- @Autowired
- private DrpRoleInfoService drpRoleInfoService;
- @Autowired
- private ProductTypeService productTypeService;
- /**
- * 跳转到添加节点的页面
- * @param request
- * @return
- * @throws Exception
- */
- @RequestMapping("/addTemplateFlow")
- public ModelAndView addTemplateFlow(HttpServletRequest request) throws Exception {
- ModelAndView mv = new ModelAndView("admin/flow/addTemplateFlowInfo");
- // 模板ID
- String templateId = request.getParameter("templateId");
- TemplateInfo templateInfo = new TemplateInfo();
- List<PlaceRoleInfo> roleList = drpRoleInfoService.getDrpRoleListByState();
- if (null != templateId && !"".equals(templateId)) {
- StringBuffer templateName = new StringBuffer();
- templateInfo.setTemplateId(Integer.parseInt(templateId));
- templateInfo.setState(1);
- templateInfo = templateInfoService.getTemplateInfoById(templateInfo);
- if (templateInfo == null) {
- mv = new ModelAndView("admin/msg/msg");
- mv.addObject("msgObj", new MessageDTO(false, "对不起,操作有误", "对不起,您刚才的操作流程有误,请按照系统流程操作!"));
- return mv;
- }
- for (PlaceRoleInfo placeRoleInfo : roleList) {
- templateName.append(placeRoleInfo.getRoleId() + ":" + placeRoleInfo.getRoleName() + "+");
- }
- templateInfo.setTemplateName(templateName.toString());
- }
- mv.addObject("templateInfo", templateInfo);
-
- // 只显示当前不存在的
- List<ProductType> types = productTypeService.getAll();
- List<Integer> integers = templateFlowInfoService.getTypeId(Integer.parseInt(templateId));
- if (integers != null && integers.size() != 0) {
- for (Integer integer : integers) {
- check(integer, types);
- }
- }
- mv.addObject("typeList", types);
- return mv;
- }
-
- /**
- * 判断types中是否存在typeId,如果存在,删除types中对应数据
- * @param typeId
- * @param addList
- * @param types
- */
- public void check(int typeId, List<ProductType> types) {
- for (ProductType productType : types) {
- if (typeId == productType.getTypeId().intValue()) {
- types.remove(productType);
- return;
- }
- }
- }
-
- @RequestMapping("/addTemplateFlowInfo")
- public ModelAndView addTemplateFlowInfo(HttpServletRequest request) throws Exception {
- ModelAndView mv = new ModelAndView("admin/msg/msg");
- List<TemplateFlowInfo> flowList = getTemplateFlowInfo(request);
- Integer num = templateFlowInfoService.addTemplateFlowList(flowList);
- if (num > 0) {
- mv.addObject("msgObj", new MessageDTO(true, "恭喜您,操作成功", "返利节点已添加成功,刷新即可!"));
- } else {
- mv.addObject("msgObj", new MessageDTO(false, "对不起,操作有误", "对不起,您刚才的操作流程有误,请按规定填写数据!"));
- }
- return mv;
- }
-
- //封装返利金额添加入返利节点表中
- public List<TemplateFlowInfo> getTemplateFlowInfo(HttpServletRequest request) throws Exception{
- // 产品类型
- String[] types = request.getParameterValues("productType");
- if (types == null || types.length == 0) {
- return null;
- }
-
- // 待插入的数据
- List<TemplateFlowInfo> flowList = new ArrayList<TemplateFlowInfo>();
- // 返利层级
- int num = 0;
- String count = request.getParameter("count");
- String templateId = request.getParameter("templateId");
- if (null == templateId || "".equals(templateId)) {
- return null;
- }
- if (null != count && !"".equals(count)) {
- num = Integer.parseInt(count);
- }
-
- // 所有的角色
- List<PlaceRoleInfo> roleList = drpRoleInfoService.getDrpRoleListByState();
- int flowType = 0;
- for (String string : types) {
- for (int i = 0;i < num;i++) {
- String templateName = request.getParameter("templateName"+i+1);
- for (PlaceRoleInfo placeRoleInfo : roleList) {
- if (templateName.equals(placeRoleInfo.getRoleId().toString())) {
- flowType = placeRoleInfo.getRoleType();
- }
- }
- for (int j = 2;j <= 4;j++) {
- if (num + 2 - i - j > 0) {
- String flow = request.getParameter("flow"+i+j);
- TemplateFlowInfo flowInfo = new TemplateFlowInfo();
- flowInfo.setTemplateId(Integer.parseInt(templateId));
- //页面金额是纵坐标为2开始的,所以在计算层级的时候要加2
- flowInfo.setFlowLevel(num + 2 - i - j);
- flowInfo.setFlowSkipStep(1);
- flowInfo.setFlowMoney((int)(Double.parseDouble(flow)*100));
- flowInfo.setFlowRoleId(Integer.parseInt(templateName));
- flowInfo.setFlowType(flowType);
- flowInfo.setFlowState(1);
- flowInfo.setFlowNo(i + "," + j);
- flowList.add(flowInfo);
- flowInfo.setFlowProductType(Integer.parseInt(string));
- }
- }
- }
- }
- return flowList;
- }
-
- /**
- *
- * @param request
- * @return
- * @throws Exception
- */
- @RequestMapping("/updateTemplateFlow")
- public ModelAndView updateTemplateFlow(HttpServletRequest request) throws Exception {
- ModelAndView mv = new ModelAndView("admin/flow/updateTemplateFlowInfo");
- String templateId = request.getParameter("templateId");
- if (null == templateId || "".equals(templateId)) {
- return null;
- }
- mv.addObject("templateId", templateId);
- // 只显示当前不存在的
- List<ProductType> types = productTypeService.getAll();
- List<Integer> integers = templateFlowInfoService.getTypeId(Integer.parseInt(templateId));
- List<ProductType> list = new ArrayList<ProductType>();
- // 只显示当前存在的
- for (Integer integer : integers) {
- list.add(checkE(integer, types));
- }
- mv.addObject("types", list);
- return mv;
- }
-
- /**
- * 判断当前typeId是否存在,如果存在返回
- * @param typeId
- * @param types
- */
- public ProductType checkE(int typeId, List<ProductType> types) {
- for (ProductType productType : types) {
- if (productType.getTypeId().intValue() == typeId) {
- types.remove(productType);
- return productType;
- }
- }
- return null;
- }
-
- @ResponseBody
- @RequestMapping("/getFlowInfo")
- public Map<String,Object> getFlowInfo(HttpServletRequest request) {
- String templateId = request.getParameter("templateId");
- if (null == templateId || "".equals(templateId)) {
- return null;
- }
- List<TemplateFlowInfo> flowList = templateFlowInfoService.getFlowInfoListByTemplateId(Integer.parseInt(templateId));
- if (null == flowList || flowList.size() <= 0) {
- return null;
- }
- StringBuilder templateName = new StringBuilder();
- List<PlaceRoleInfo> roleList = drpRoleInfoService.getDrpRoleListByState();
- //获取所有角色信息,并将其拼接为字符串
- for (PlaceRoleInfo placeRoleInfo : roleList) {
- templateName.append(placeRoleInfo.getRoleId() + ":" + placeRoleInfo.getRoleName() + "+");
- }
- Map<String,Object> flowInfoMap = new HashMap<String,Object>();
- flowInfoMap.put("templateName", templateName.toString());
-
- // 查询
- TemplateInfo templateInfo = new TemplateInfo();
- templateInfo.setTemplateId(Integer.parseInt(templateId));
- templateInfo = templateInfoService.getTemplateInfoById(templateInfo);
- flowInfoMap.put("count", templateInfo.getCount());
- // 根据产品类型分段
- List<Integer> integers = templateFlowInfoService.getTypeId(Integer.parseInt(templateId));
- for (Integer integer : integers) {
- Map<String, Object> flowNotType = new HashMap<String, Object>();
- //将查询出的返利节点所有的返利金额存放在map中
- for (TemplateFlowInfo templateFlowInfo : flowList) {
- if (templateFlowInfo.getFlowProductType().intValue() == integer.intValue()) {
- String flowNo = templateFlowInfo.getFlowNo();
- if (null != flowNo && !"".equals(flowNo)) {
- String i = flowNo.split(",")[0];
- String j = flowNo.split(",")[1];
- flowNotType.put("templateName"+i+1, templateFlowInfo.getFlowRoleId());
- flowNotType.put("flow"+i+j, templateFlowInfo.getFlowMoney());
- }
- }
- }
- flowInfoMap.put(integer.toString(), flowNotType);
- }
- return flowInfoMap;
- }
-
- @RequestMapping("/updateTemplateFlowInfo")
- public ModelAndView updateTemplateFlowInfo(HttpServletRequest request) throws Exception {
- ModelAndView mv = new ModelAndView("admin/msg/msg");
- List<TemplateFlowInfo> flowList = getTemplateFlowInfo(request);
- Integer num = templateFlowInfoService.updateTemplateFlowInfo(flowList);
- if (num > 0) {
- mv.addObject("msgObj", new MessageDTO(true, "恭喜您,操作成功", "返利节点已修改成功,刷新即可!"));
- } else {
- mv.addObject("msgObj", new MessageDTO(false, "对不起,操作有误", "对不起,您刚才的操作流程有误,请按规定填写数据!"));
- }
- return mv;
- }
- }
|