中扬CRM客户关系管理系统
#
luxiaotao1123
2022-11-08 5fcaa5b9d0f5b84f8a25f3e2e8f27c3885d8710e
src/main/java/com/zy/crm/manager/controller/CstmrController.java
@@ -11,12 +11,17 @@
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.crm.common.web.BaseController;
import com.zy.crm.manager.controller.result.CstmrFollowerTableVo;
import com.zy.crm.manager.entity.Cstmr;
import com.zy.crm.manager.entity.CstmrFoll;
import com.zy.crm.manager.entity.CstmrType;
import com.zy.crm.manager.service.CstmrFollService;
import com.zy.crm.manager.service.CstmrService;
import com.zy.crm.manager.service.CstmrTypeService;
import com.zy.crm.system.entity.Dic;
import com.zy.crm.system.entity.User;
import com.zy.crm.system.service.DicService;
import com.zy.crm.system.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.DataFormatter;
@@ -51,35 +56,19 @@
        return R.ok(cstmrService.selectById(String.valueOf(id)));
    }
    @RequestMapping(value = "/cstmr/list/auth")
    @RequestMapping(value = "/cstmr/page/auth")
    @ManagerAuth
    public R list(@RequestParam(defaultValue = "1")Integer curr,
                  @RequestParam(defaultValue = "10")Integer limit,
                  @RequestParam(required = false)String orderByField,
                  @RequestParam(required = false)String orderByType,
                  @RequestParam(required = false)String condition,
                  @RequestParam Map<String, Object> param){
        EntityWrapper<Cstmr> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
        hostEq(wrapper);
        allLike(Cstmr.class, param.keySet(), wrapper, condition);
        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
            wrapper.orderBy("create_time", false);
        }
        if (!Cools.isEmpty(param.get("dept_id"))) {
            return R.ok(cstmrService.getPage(new Page<>(curr, limit)
                    , getHostId()
                    , String.valueOf(param.get("dept_id"))
                    , condition)
            );
        } else {
            if (Cools.isEmpty(param.get("user_id"))) {
                wrapper.andNew();
                wrapper.eq("user_id", getUserId());
            }
            return R.ok(cstmrService.selectPage(new Page<>(curr, limit), wrapper));
        }
    public R page(@RequestParam(defaultValue = "1") Integer curr,
                  @RequestParam(defaultValue = "10") Integer limit,
                  @RequestParam(required = false) String condition,
                  @RequestParam(required = false, value = "dept_id") Long deptId,
                  @RequestParam(required = false, value = "user_id") Long userId){
        return R.ok(cstmrService.getPage(new Page<>(curr, limit)
                , getHostId()
                , deptId == null ? null : String.valueOf(deptId)
                , userId == null ? getUserId() : userId
                , condition)
        );
    }
    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
@@ -181,7 +170,7 @@
     */
    @PostMapping(value = "/cstmr/excel/import/auth")
    @ManagerAuth(memo = "甲方单位Excel导入")
    @Transactional
//    @Transactional
    public R cstmrExcelImport(MultipartFile file) throws IOException {
        InputStream inStream = file.getInputStream();
        String fileMime = file.getContentType();
@@ -210,7 +199,8 @@
            String uuid = dataFormatter.formatCellValue(row.getCell(0));
            if (!Cools.isEmpty(uuid)) {
                if (cstmrService.selectByUuid(hostId, uuid) != null) {
                    throw new CoolException(uuid + "客户代号已存在,请重新导入");
//                    throw new CoolException(uuid + "客户代号已存在,请重新导入");
                    continue;
                } else {
                    cstmr.setUuid(uuid);
                }
@@ -290,4 +280,60 @@
    }
    /******************************** 跟进人 ***************************************/
    @Autowired
    private CstmrFollService cstmrFollService;
    @Autowired
    private UserService userService;
    @RequestMapping(value = "/cstmr/followers/table/auth")
    @ManagerAuth
    public R cstmrFollowersTable(@RequestParam("cstmrId") Long cstmrId) {
        List<CstmrFoll> cstmrFolls = cstmrFollService.selectList(new EntityWrapper<CstmrFoll>().eq("cstmr_id", cstmrId).orderBy("id", false));
        List<CstmrFollowerTableVo> result = new ArrayList<>();
        for (CstmrFoll cstmrFoll : cstmrFolls) {
            User user = userService.selectById(cstmrFoll.getUserId());
            CstmrFollowerTableVo vo = new CstmrFollowerTableVo();
            vo.setUserId(user.getId());
            vo.setUserName(user.getNickname());
            result.add(vo);
        }
        return R.ok().add(result);
    }
    @RequestMapping(value = "/cstmr/followers/add/auth")
    @ManagerAuth
    @Transactional
    public R cstmrFollowersAdd(@RequestParam("cstmrId") Long cstmrId,
                               @RequestParam("followerIds[]") Long[] followerIds) {
        if (Cools.isEmpty(cstmrId, followerIds)) {
            return R.parse(BaseRes.PARAM);
        }
        for (Long userId : followerIds) {
            if (cstmrFollService.selectCount(new EntityWrapper<CstmrFoll>().eq("cstmr_id", cstmrId).eq("user_id", userId)) == 0) {
                CstmrFoll cstmrFoll = new CstmrFoll();
                cstmrFoll.setCstmrId(cstmrId);
                cstmrFoll.setUserId(userId);
                if (!cstmrFollService.insert(cstmrFoll)) {
                    throw new CoolException("添加失败,请联系管理员");
                }
            }
        }
        return R.ok("添加成功");
    }
    @RequestMapping(value = "/cstmr/followers/remove/auth")
    @ManagerAuth
    public R cstmrFollowersRemove(@RequestParam("cstmrId") Long cstmrId,
                                  @RequestParam("userId") Long userId) {
        if (Cools.isEmpty(cstmrId, userId)) {
            return R.parse(BaseRes.PARAM);
        }
        if (!cstmrFollService.delete(new EntityWrapper<CstmrFoll>().eq("cstmr_id", cstmrId).eq("user_id", userId))) {
            throw new CoolException("删除失败,请联系管理员");
        }
        return R.ok("删除成功");
    }
}