package com.iformall.controller; import cn.binarywang.wx.miniapp.api.WxMaService; import com.alibaba.fastjson.JSONObject; import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.po.base.BaseCUserEntity; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.tt.TtCUser; import com.iformall.enums.EnumAppPlat; import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayWay; import com.iformall.enums.EnumScoreType; import com.iformall.exception.MallinkException; import com.iformall.service.*; import com.iformall.service.wechat.FmOpenService; import com.iformall.utils.Constant; import com.iformall.utils.IPUtil; import com.iformall.utils.MaUtil; import com.iformall.utils.RedisCacheUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; import java.beans.PropertyEditorSupport; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; @RestController public class BaseController { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private boolean isFmOpen; @Autowired private WxAppinfoService wxAppinfoService; @Autowired private FmOpenService openService; @Autowired private WxCUserBasicInfoService wxCUserBasicInfoService; @Autowired private WxCUserBasicChildService wxCUserBasicChildService; @Autowired private CUserTokenService cUserTokenService; @Autowired private WxScoreRulesService wxScoreRulesService; @Autowired private MemCouponFromDspService memCouponFromDspService; @Autowired private WxPayAccountService wxPayAccountService; @Autowired @Qualifier("objectCommonRedisTemplate") RedisTemplate objectCommonRedisTemplate; @Autowired MaUtil maUtil; @InitBinder public void InitBinder(WebDataBinder dataBinder) { dataBinder.registerCustomEditor(Date.class, new PropertyEditorSupport() { public void setAsText(String value) { try { setValue(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(value)); } catch (ParseException e) { try { setValue(new SimpleDateFormat("yyyy-MM-dd ").parse(value)); } catch (ParseException e1) { setValue(null); } } } public String getAsText() { return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format((Date) getValue()); } }); } public TenantEntity getTenantInfo() { return new TenantEntity(); } public Long getMemberId() { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); Long memberId = (Long) request.getAttribute(Constant.LOGIN_MEMBER_KEY); if(memberId == null){ throw new MallinkException(ErrorCode.USER_IS_NOT_MEMBER); } return memberId; } public String getIpAddr() { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String ipaddress = IPUtil.getIpAddr(request); return ipaddress; } }