admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/controller/admin/ExtractAdminController.java
@@ -7,17 +7,17 @@
import java.net.URLEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.yeshi.fanli.entity.SystemEnum;
import com.yeshi.fanli.entity.accept.AdminAcceptData;
import com.yeshi.fanli.entity.order.CommonOrder;
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@@ -42,7 +42,6 @@
import com.yeshi.fanli.exception.NotExistObjectException;
import com.yeshi.fanli.exception.ObjectStateException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.AdminUserService;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
import com.yeshi.fanli.service.inter.count.UserInfoCountService;
@@ -50,15 +49,11 @@
import com.yeshi.fanli.service.inter.money.extract.ExtractCountService;
import com.yeshi.fanli.service.inter.money.extract.ExtractService;
import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
import com.yeshi.fanli.service.inter.push.PushRecordService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.common.entity.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import org.yeshi.utils.TimeUtil;
import net.sf.json.JSONObject;
@@ -90,6 +85,12 @@
    @Resource
    private CommonOrderCountService commonOrderCountService;
    @Resource
    private CommonOrderService commonOrderService;
    @Resource
    private UserInfoService userInfoService;
    /**
     * 方法说明: 通过提现请求 可jsonP方式
     *
@@ -99,7 +100,7 @@
     * @param request
     */
    @RequestMapping(value = "passExtractJP")
    public void passExtractJP(String callback, Long id, String code, PrintWriter out, HttpServletRequest request) {
    public void passExtractJP(AdminAcceptData acceptData, String callback, Long id, String code, PrintWriter out, HttpServletRequest request) {
        /* 检验是否登陆 */
        AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN);
@@ -145,7 +146,7 @@
     * @author mawurui createTime 2018年3月14日 下午3:15:55
     */
    @RequestMapping(value = "rejectExtractJP")
    public void rejectExtractJP(String callback, Long id, String code, String reason, PrintWriter out,
    public void rejectExtractJP(AdminAcceptData acceptData, String callback, Long id, String code, String reason, PrintWriter out,
                                HttpServletRequest request) {
        /* 检验是否登陆 */
        AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN);
@@ -242,7 +243,7 @@
     * @param out
     */
    @RequestMapping(value = "getFinishRecordList")
    public void getFinishRecordList(String callback, Integer pageIndex, String key, String startTime, String endTime,
    public void getFinishRecordList(AdminAcceptData acceptData, String callback, Integer pageIndex, String key, String startTime, String endTime,
                                    PrintWriter out) {
        try {
@@ -325,7 +326,7 @@
     * @param request
     */
    @RequestMapping(value = "getMyAuditedList")
    public void getMyAuditedList(String callback, Integer pageIndex, String key, String timeSlot, Integer state,
    public void getMyAuditedList(AdminAcceptData acceptData, String callback, Integer pageIndex, String key, String timeSlot, Integer state,
                                 PrintWriter out, HttpServletRequest request) {
        try {
@@ -475,15 +476,54 @@
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请登录"));
            return;
        }
        SystemEnum system = userInfoService.getUserSystem(uid);
        acceptData.setSystem(system);
        // 查询同店铺商品,同商品订单超过一定数量的
        List<Integer> typeList = new ArrayList<>();
        typeList.add(HongBaoV2.TYPE_ZIGOU);
        long sameGoodsOrderCount = commonOrderCountService.countSameGoodsOrderByUidAndHongBaoType(typeList, uid,
        List<Long> goodsIds = commonOrderCountService.listSameGoodsIdByUidAndHongBaoType(typeList, uid,
                Integer.parseInt(configService.getValue(ConfigKeyEnum.adminMinSameGoodsOrderCount.getKey(), acceptData.getSystem())));
        int sameGoodsDangerCount = 0;
        if (goodsIds.size() > 0) {
            for (int i = 0; i < goodsIds.size(); i++) {
                long goodsId = goodsIds.get(i);
                Date minDate = new Date(System.currentTimeMillis() - 1000 * 60 * 60L * 24 * 365L);
                List<CommonOrder> commonOrdersList = commonOrderService.listByGoodsIdAndUidAndMinThirdCreateTime(goodsId, uid, minDate);
                Map<String, Date> cmap = new HashMap<>();
                if (commonOrdersList != null)
                    for (CommonOrder co : commonOrdersList) {
                        if (co.getState() == CommonOrder.STATE_FK || co.getState() == CommonOrder.STATE_JS || co.getState() == CommonOrder.STATE_WQ)
                            cmap.put(co.getOrderNo(), co.getThirdCreateTime());
                    }
                List<Date> dateList = new ArrayList<>();
                for (Iterator<String> its = cmap.keySet().iterator(); its.hasNext(); ) {
                    String orderNo = its.next();
                    dateList.add(cmap.get(orderNo));
                }
                Collections.sort(dateList);
                Date lastDate = null;
                for (Date date : dateList) {
                    if (lastDate != null) {
                        if (Math.abs(date.getTime() - lastDate.getTime()) < 1000 * 60 * 60 * 24L * 15) {
                            sameGoodsDangerCount++;
                            break;
                        }
                    } else {
                        lastDate = date;
                    }
                }
            }
        }
        long sameShopOrderCount = commonOrderCountService.countSameShopOrderByUidAndHongBaoType(typeList, uid,
                Integer.parseInt(configService.getValue(ConfigKeyEnum.adminMinSameShopOrderCount.getKey(), acceptData.getSystem())));
        if (sameGoodsOrderCount > 0 || sameShopOrderCount > 0) {
            String text = (String.format("同店铺:%s 同商品:%s", sameShopOrderCount, sameGoodsOrderCount));
        if (sameGoodsDangerCount>0 || sameShopOrderCount > 0) {
            String text = (String.format("同店铺:%s 同商品:%s", sameShopOrderCount, sameGoodsDangerCount));
            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(text));
            return;
        }
@@ -496,7 +536,7 @@
     * @param out
     */
    @RequestMapping(value = "getMyAuditedCount")
    public void getMyAuditedCount(String callback, HttpServletRequest request, PrintWriter out) {
    public void getMyAuditedCount(AdminAcceptData acceptData, String callback, HttpServletRequest request, PrintWriter out) {
        AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN);
@@ -536,7 +576,7 @@
     * @param out
     */
    @RequestMapping(value = "getIaskInfo")
    public void getIaskInfo(String callback, Long extractId, HttpServletRequest request, PrintWriter out) {
    public void getIaskInfo(AdminAcceptData acceptData, String callback, Long extractId, HttpServletRequest request, PrintWriter out) {
        try {
            String surplusTime = "";
@@ -709,7 +749,7 @@
     * @param out
     */
    @RequestMapping(value = "getByUidList")
    public void getByUidList(String callback, Integer pageIndex, Long uid, HttpServletRequest request,
    public void getByUidList(AdminAcceptData acceptData, String callback, Integer pageIndex, Long uid, HttpServletRequest request,
                             PrintWriter out) {
        try {
            if (uid == null) {
@@ -770,7 +810,7 @@
     * @param out
     */
    @RequestMapping(value = "countByUid")
    public void countByUid(String callback, Long uid, HttpServletRequest request, PrintWriter out) {
    public void countByUid(AdminAcceptData acceptData, String callback, Long uid, HttpServletRequest request, PrintWriter out) {
        try {
@@ -810,7 +850,7 @@
     * @param out
     */
    @RequestMapping(value = "checkMoney")
    public void checkMoney(String callback, String uid, PrintWriter out) {
    public void checkMoney(AdminAcceptData acceptData, String callback, String uid, PrintWriter out) {
        if (StringUtil.isNullOrEmpty(uid)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("UID不能为空"));
@@ -834,7 +874,7 @@
     * @param out
     */
    @RequestMapping(value = "downAutoExtractTxt")
    public void downAutoExtractTxt(String callback, HttpServletResponse response, PrintWriter out) {
    public void downAutoExtractTxt(AdminAcceptData acceptData, String callback, HttpServletResponse response, PrintWriter out) {
        try {
            List<String> list = extractService.getAutoExtractOpenIds();
            if (list == null || list.size() <= 1) {
@@ -877,7 +917,7 @@
     * @param out
     */
    @RequestMapping(value = "uploadExcel", method = RequestMethod.POST)
    public void uploadExcel(@RequestParam("file") CommonsMultipartFile file, PrintWriter out) {
    public void uploadExcel(AdminAcceptData acceptData, @RequestParam("file") CommonsMultipartFile file, PrintWriter out) {
        if (file == null) {
            out.print(JsonUtil.loadFalseResult("上传文件不能为空!"));
            return;
@@ -912,7 +952,7 @@
     * @param out
     */
    @RequestMapping(value = "preAutoUser")
    public void preAutoUser(String callback, Integer pageIndex, PrintWriter out) {
    public void preAutoUser(AdminAcceptData acceptData, String callback, Integer pageIndex, PrintWriter out) {
        try {
            List<UserInfo> list = extractService.preAutoUser();
            if (list == null || list.isEmpty()) {