package com.founder.ec.dec.action;

import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.json.simple.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.founder.ec.cms.model.Channel;
import com.founder.ec.cms.model.Website;
import com.founder.ec.dec.service.ChannelService;

@Controller
public class ChannelAction {

    @Autowired
    private ChannelService channelService;

    /**
     * 根据渠道id获取渠道详情
     * @param channelId 渠道id
     * @return
     */
    @SuppressWarnings("unchecked")
    @RequestMapping("/getChannelInfo")
    public void getChannelInfo(HttpServletRequest request,
            HttpServletResponse response) throws Exception{
        JSONObject json=new JSONObject();
        try{
            request.setCharacterEncoding("utf-8");
            Long channelId=Long.parseLong(request.getParameter("channelId"));

            if(channelId==null){
                json.put("code", -1);
                json.put("result", "请求参数为空");
                response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
                return ;
            }
            Channel channel = channelService.getChannelDetail(channelId);
            if(channel==null){
                json.put("code", -1);
                json.put("result", "找不到对应数据对象");
                response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
                return;
            }
            Map<String,Object> map=new HashMap<String,Object>();
            map.put("groupId", Long.parseLong(channel.getAlternateField2()));
            map.put("groupName", channel.getGroupName());
            map.put("channelName", channel.getChannelName());
            json.put("code", 0);
            json.put("result",map);
            response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
        }catch(Exception e){
                json.put("code", -1);
                json.put("result", "inner error");
                response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
            e.printStackTrace();
        }

    }

    /**
     * 根据站点id获取站点名
     * @param websiteId 站点id
     * @return
     */
    @SuppressWarnings("unchecked")
    @RequestMapping("/getWebsiteName")
    public void getWebsiteName(HttpServletRequest request,
            HttpServletResponse response) throws Exception{
        JSONObject json=new JSONObject();
        try{
            request.setCharacterEncoding("utf-8");
            Long websiteId=Long.parseLong(request.getParameter("websiteId"));

            if(websiteId==null){
                json.put("code", -1);
                json.put("result", "请求参数为空");
                response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
                return;
            }
            Website website = channelService.getWebsiteName(websiteId);
            if(website==null){
                json.put("code", -2);
                json.put("result", "找不到对应数据对象");
                response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
                return;
            }
            Map<String,Object> map=new HashMap<String,Object>();
            map.put("websiteName", website.getAlternateField1());
            json.put("code", 0);
            json.put("result",map);
            response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
        }catch(Exception e){
            json.put("code", -3);
            json.put("result", "inner error");
            response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
            e.printStackTrace();
        }
    }

}
package com.founder.ec.dec.action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.founder.ec.base.action.BaseClassAction;
import com.founder.ec.dec.service.GoodsQueryService;

/**
 * 商品查询接口
 * @author lurongyu
 *
 */
@Controller
public class GoodsQueryAction   extends BaseClassAction {

    @Autowired
    private GoodsQueryService service;

    @RequestMapping("/goodsQuery")
    public  void sendGoodsQuery (HttpServletRequest request, HttpServletResponse response ) throws Exception  {

        response.setContentType("text/html;charset=utf-8");
        String productCodes = request.getParameter("code").toString();
        String imageType = request.getParameter("imageType");
        if (null== request.getParameter("imageType") || "".equals(request.getParameter("imageType").toString())){
            imageType ="thumb";
        }
        String paracode ="";

        Map para = new HashMap ();
        List<Map<String,Object>>  resultList = new ArrayList <Map<String,Object>> ();
        if(request.getParameter("code")!=null && productCodes.length() >0) {
             String[] temps = productCodes.split(",");
             if (temps.length > 10 ){
                 response.getWriter().write("{code:-2,msg:'error ,code最多只能10个!'}");
             }
             for (int i =0; i< temps.length ; i++) {
                 paracode =paracode+ "'"+temps[i]+"',";
             }
            paracode=paracode.substring(0,paracode.length()-1);
            para.put("goodsNos", paracode);
            para.put("imageType", imageType);
            resultList = service.getGoodsQueryMap(para);
            JSONArray jsonArray =  JSONArray.fromObject(resultList);
            response.getWriter().write(jsonArray.toString());
        }else {
            response.getWriter().write("{code:-2,msg:'error ,code未传!'}");
        }

    }

}
// 解析json字符串,转成Model对象
                OrderInfo orderInfo = JSON.parseObject(orderInfoStr,OrderInfo.class);
package com.j1.mai.action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import com.j1.base.dto.ServiceMessage;
import com.j1.base.order.model.ShopcartGoods;
import com.j1.base.order.model.ShopcartModel;
import com.j1.base.type.MsgStatus;
import com.j1.item.model.Goods;
import com.j1.mai.common.Const;
import com.j1.mai.model.common.SoaApiBaseAction;
import com.j1.mai.util.NumericUtil;
import com.j1.mai.util.StringUtil;
import com.j1.soa.common.ResultMsg;
import com.j1.soa.resource.order.api.ShopcartGoodsService;
import com.j1.soa.resource.order.api.ShopcartService;

/**
 * 促销相关Action
 *
 * @author qiaoyu
 */
@Controller
@Scope("request")
@RequestMapping("/promote")
public class PromoteAction extends SoaApiBaseAction {
    static Logger LOG = Logger.getLogger(PromoteAction.class);

    @Autowired
    private ShopcartService shopcartService;
    @Autowired
    private ShopcartGoodsService shopcartGoodsService;

    @RequestMapping("/promoteList")
    public void promoteList(
            HttpServletRequest request,
            HttpServletResponse response,
            @RequestParam(value = "contentNo", required = false) String contentNo,
            @RequestParam(value = "memberKey", required = false) String memberKey,
            @RequestParam(value = "mul", required = false) String mul) {
        ShopcartModel shopcartParam = new ShopcartModel();
        shopcartParam.setContentNo(contentNo);
        shopcartParam.setMemberKey(memberKey);
        shopcartParam.setMul(mul);
        JSONObject resultObj = new JSONObject();
        try {
            // 获取购物车信息
            ServiceMessage<ShopcartModel> shopcartResult = shopcartService
                    .shopcartIndex(shopcartParam);
            if (shopcartResult.getStatus() != MsgStatus.NORMAL) {
                setResultInfo(shopcartResult.getStatus().getCode(),
                        shopcartResult.getMessage());
                return;
            }

            ShopcartModel shopcartModel = shopcartResult.getResult();

            if (shopcartModel == null) {
                setResultInfo(MsgStatus.NO_RESULT.getCode(),
                        ResultMsg.Common.QUERY_NO_RESULT);
                return;
            }

            List<Map<String, Object>> groups = shopcartModel.getShopcartGroup();

            List<Map<String, Object>> giftGroups = new ArrayList<Map<String, Object>>(), hgGroups = new ArrayList<Map<String, Object>>();

            for (Map<String, Object> group : groups) {
                if (group.get("groupType") == null)
                    continue;
                // 促销不满足条件, 前端不进行展示
                if (group.get("isTrue") != null && !group.get("isTrue").equals("Y"))
                    continue;
                if (group.get("groupType").equals(Const.GroupType.GIFT)) {
                    if (group.get("goodsGiftList") == null)
                        continue;
                    if (!group.get("goodsGiftList").getClass()
                            .isAssignableFrom(ArrayList.class))
                        continue;
                    // 过滤掉赠品列表为空的group, 为空时表示赠优惠券, 暂时不展示
                    if (((ArrayList<?>) group.get("goodsGiftList")).size() == 0)
                        continue;
                    giftGroups.add(group);
                } else if (group.get("groupType").equals(Const.GroupType.HG)) {
                    hgGroups.add(group);
                }
            }
            resultObj.put("giftList", giftGroups);
            resultObj.put("hgList", hgGroups);
            setResultInfo(MsgStatus.NORMAL.getCode(), ResultMsg.Common.OK);
        } catch (Exception e) {
            LOG.error(e.getMessage(), e);
            setResultInfo(MsgStatus.EXCEPTION.getCode(),
                    ResultMsg.PromoteAction.PROMOTE_LIST_FAILURE);
        } finally {
            _result.setObjData(resultObj);
            write(request, response);
        }
    }

    /**
     * 获取加价购选项
     *
     * @param request
     * @param response
     * @param contentNo   识别码
     * @param memberKey   会员识别码
     * @param mul         来源
     * @param promoteType 促销类型
     * @param promoteId   根据 promoteType对应促销ID或商品ID
     * @date 02/12/14
     * @author qiaoyu
     * @version 1.0
     */
    @RequestMapping("/hgOption")
    public void hgOption(
            HttpServletRequest request,
            HttpServletResponse response,
            @RequestParam(value = "contentNo", required = false) String contentNo,
            @RequestParam(value = "memberKey", required = false) String memberKey,
            @RequestParam(value = "mul", required = false) String mul,
            @RequestParam(value = "promoteType", required = false) String promoteType,
            @RequestParam(value = "promoteId", required = false) String promoteId) {
        // START PARAMETER VALIDATION
        if (StringUtil.isEmpty(promoteType)) {
            this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(),
                    ResultMsg.PromoteAction.PROMOTE_TYPE_EMPTY).write(request,
                    response);
            return;
        }

        if (!promoteType.equals(Const.Promote.HG_GOODS_TYPE)
                && !promoteType.equals(Const.Promote.HG_RULE_TYPE)) {
            this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(),
                    ResultMsg.PromoteAction.PROMOTE_TYPE_WRONG).write(request,
                    response);
            return;
        }

        Long itemId = NumericUtil.parseLong(promoteId);

        if (itemId == null) {
            this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(),
                    ResultMsg.PromoteAction.PROMOTE_ID_WRONG).write(request,
                    response);
            return;
        }
        // END PARAMETER VALIDATION

        ShopcartModel shopcartParam = new ShopcartModel();
        shopcartParam.setContentNo(contentNo);
        shopcartParam.setMemberKey(memberKey);
        shopcartParam.setMul(mul);

        JSONObject resultObj = new JSONObject();
        try {
            // 获取购物车信息
            ServiceMessage<ShopcartModel> shopcartResult = shopcartService
                    .shopcartIndex(shopcartParam);
            if (shopcartResult.getStatus() != MsgStatus.NORMAL) {
                setResultInfo(shopcartResult.getStatus().getCode(),
                        shopcartResult.getMessage());
                return;
            }

            ShopcartModel shopcartModel = shopcartResult.getResult();

            if (shopcartModel == null) {
                setResultInfo(MsgStatus.NO_RESULT.getCode(),
                        ResultMsg.Common.QUERY_NO_RESULT);
                return;
            }

            // Goods promote
            if (promoteType.equals(Const.Promote.HG_GOODS_TYPE)) {
                for (Goods goods : shopcartModel.getGoodsList()) {
                    if (goods.getGoodsId().longValue() != itemId.longValue())
                        continue;

                    resultObj.put(Const.ResultKey.PROMOTE_ITEM_LIST,
                            goods.getItemNameList());
                    resultObj.put(
                            Const.ResultKey.RULE_ITEM_ID,
                            goods.getRuleItemId() == null ? "0" : goods
                                    .getRuleItemId());
                    setResultInfo(MsgStatus.NORMAL.getCode(),
                            ResultMsg.Common.OK);
                    return;
                }
            } else { // Combination promote
                for (Map<String, Object> promoteItem : shopcartModel
                        .getShopcartGroup()) {
                    if (Long.valueOf(
                            String.valueOf(promoteItem.get("promoteRuleId")))
                            .longValue() != itemId.longValue())
                        continue;

                    resultObj.put(Const.ResultKey.PROMOTE_ITEM_LIST,
                            promoteItem.get("promoteItemList"));
                    resultObj.put(Const.ResultKey.RULE_ITEM_ID,
                            promoteItem.get("ruleItemId") == null ? "0"
                                    : promoteItem.get("ruleItemId"));
                    setResultInfo(MsgStatus.NORMAL.getCode(),
                            ResultMsg.Common.OK);
                    return;
                }
            }

            setResultInfo(MsgStatus.NO_RESULT.getCode(),
                    ResultMsg.PromoteAction.HG_NOT_FOUND);
        } catch (Exception e) {
            LOG.error(e.getMessage(), e);
            setResultInfo(MsgStatus.EXCEPTION.getCode(),
                    ResultMsg.PromoteAction.HG_LIST_FAILURE);
        } finally {
            _result.setObjData(resultObj);
            write(request, response);
        }
    }

    /**
     * 获取加价购/赠品商品列表
     *
     * @param request
     * @param response
     * @param contentNo
     * @param memberKey
     * @param mul
     * @param promoteType
     * @param promoteId
     * @param promoteItemId
     * @date 02/12/14
     * @author qiaoyu
     * @version 1.0
     */
    @RequestMapping("/hgGoods")
    public void hgGoods(
            HttpServletRequest request,
            HttpServletResponse response,
            @RequestParam(value = "contentNo", required = false) String contentNo,
            @RequestParam(value = "memberKey", required = false) String memberKey,
            @RequestParam(value = "mul", required = false) String mul,
            @RequestParam(value = "promoteType", required = false) String promoteType,
            @RequestParam(value = "promoteId", required = false) String promoteId,
            @RequestParam(value = "promoteItemId", required = false) String promoteItemId) {
        // START PARAMETER VALIDATION
        if (StringUtil.isEmpty(promoteType)) {
            this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(),
                    ResultMsg.PromoteAction.PROMOTE_TYPE_EMPTY).write(request,
                    response);
            return;
        }

        if (!promoteType.equals(Const.Promote.HG_GOODS_TYPE)
                && !promoteType.equals(Const.Promote.HG_RULE_TYPE)) {
            this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(),
                    ResultMsg.PromoteAction.PROMOTE_TYPE_WRONG).write(request,
                    response);
            return;
        }

        Long itemId = NumericUtil.parseLong(promoteId);

        if (itemId == null) {
            this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(),
                    ResultMsg.PromoteAction.PROMOTE_ID_WRONG).write(request,
                    response);
            return;
        }
        // END PARAMETER VALIDATION

        ShopcartModel shopcartParam = new ShopcartModel();
        shopcartParam.setContentNo(contentNo);
        shopcartParam.setMemberKey(memberKey);
        shopcartParam.setMul(mul);

        JSONObject resultObj = new JSONObject();
        try {
            // 获取购物车信息
            ServiceMessage<ShopcartModel> shopcartResult = shopcartService
                    .shopcartIndex(shopcartParam);
            if (shopcartResult.getStatus() != MsgStatus.NORMAL) {
                setResultInfo(shopcartResult.getStatus().getCode(),
                        shopcartResult.getMessage());
                return;
            }

            ShopcartModel shopcartModel = shopcartResult.getResult();
            // Goods promote
            if (promoteType.equals(Const.Promote.HG_GOODS_TYPE)) {
                for (Goods goods : shopcartModel.getGoodsList()) {
                    if (goods.getGoodsId().longValue() != itemId.longValue())
                        continue;

                    // promoteItemId 不为空,加价购选项商品
                    if (StringUtil.isNotEmpty(promoteItemId)) {
                        List<Map<String, Object>> itemList = goods
                                .getItemNameList();
                        for (Map<String, Object> item : itemList) {
                            if (!item.get("itemId").toString()
                                    .equals(promoteItemId))
                                continue;

                            resultObj.put("goodstList", item.get("goodstList"));
                            resultObj.put("maxCount", item.get("hgCount") == null ? 0 : item.get("hgCount"));
                            setResultInfo(MsgStatus.NORMAL.getCode(),
                                    ResultMsg.Common.OK);
                            return;
                        }
                    } else { // promoteItemId 为空,赠品商品
                        resultObj.put("goodstList", goods.getGoodsGiftList());
                        resultObj.put("maxCount", goods.getGiftMaxCount() == null ? 0 : goods.getGiftMaxCount());
                        setResultInfo(MsgStatus.NORMAL.getCode(),
                                ResultMsg.Common.OK);
                        return;
                    }
                }
            } else { // Combination promote
                for (Map<String, Object> promoteItem : shopcartModel
                        .getShopcartGroup()) {
                    if (Long.valueOf(
                            String.valueOf(promoteItem.get("promoteRuleId")))
                            .longValue() != itemId.longValue())
                        continue;
                    // promoteItemId 不为空,加价购选项商品
                    if (StringUtil.isNotEmpty(promoteItemId)) {
                        @SuppressWarnings("unchecked")
                        List<Map<String, Object>> itemList = (List<Map<String, Object>>) promoteItem
                                .get("promoteItemList");
                        for (Map<String, Object> item : itemList) {
                            if (!item.get("itemId").toString()
                                    .equals(promoteItemId))
                                continue;

                            resultObj.put("goodstList", item.get("goodstList"));
                            resultObj.put("maxCount", item.get("hgCount") == null ? 0 : item.get("hgCount"));
                            setResultInfo(MsgStatus.NORMAL.getCode(),
                                    ResultMsg.Common.OK);
                            return;
                        }
                    } else { // promoteItemId 为空,赠品商品
                        resultObj.put("goodstList",
                                promoteItem.get("goodsGiftList"));
                        resultObj.put("maxCount", promoteItem.get("giftCount") == null ? 0 : promoteItem.get("giftCount"));
                        setResultInfo(MsgStatus.NORMAL.getCode(),
                                ResultMsg.Common.OK);
                        return;
                    }
                }
            }

            setResultInfo(MsgStatus.NO_RESULT.getCode(),
                    ResultMsg.PromoteAction.HG_NOT_FOUND);
        } catch (Exception e) {
            LOG.error(e.getMessage(), e);
            setResultInfo(MsgStatus.EXCEPTION.getCode(),
                    ResultMsg.PromoteAction.HG_LIST_FAILURE);
        } finally {
            _result.setObjData(resultObj);
            write(request, response);
        }
    }

    /**
     * 选择加价购/赠品商品
     *
     * @param request
     * @param response
     * @param contentNo
     * @param memberKey
     * @param mul
     * @param promoteType
     * @param promoteId
     * @param promoteItemId
     * @param goodsIds
     * @date 02/12/14
     * @author qiaoyu
     * @version 1.0
     */
    @RequestMapping("/choose")
    public void choose(
            HttpServletRequest request,
            HttpServletResponse response,
            @RequestParam(value = "contentNo", required = false) String contentNo,
            @RequestParam(value = "memberKey", required = false) String memberKey,
            @RequestParam(value = "mul", required = false) String mul,
            @RequestParam(value = "promoteType", required = false) String promoteType,
            @RequestParam(value = "promoteId", required = false) String promoteId,
            @RequestParam(value = "promoteItemId", required = false) String promoteItemId,
            @RequestParam(value = "goodsIds", required = false) String goodsIds) {
        ShopcartGoods shopcartGoods = new ShopcartGoods();
        shopcartGoods.setMul(mul);
        shopcartGoods.setContentNo(contentNo);
        shopcartGoods.setMemberKey(memberKey);
        shopcartGoods.setPromoteType(promoteType);
        if (promoteId != null && !"0".equals(promoteId)) {
            shopcartGoods.setPromoteId(NumericUtil.parseLong(promoteId));
        }
        shopcartGoods.setPromoteItemId(NumericUtil.parseLong(promoteItemId));
        shopcartGoods.setGoodsIds(goodsIds);

        ServiceMessage<String> chooseResult = null;
        try {
            chooseResult = shopcartGoodsService
                    .promoteUpdateGoods(shopcartGoods);
        } catch (Exception e) {
            LOG.error(e.getMessage(), e);
        } finally {
            this.setResultInfo(chooseResult,
                    ResultMsg.PromoteAction.CHOOSE_FAILURE).write(request,
                    response);
        }
    }

    /**
     * 删除加价购/赠品选项
     *
     * @param request
     * @param response
     * @param contentNo
     * @param memberKey
     * @param mul
     * @param promoteType
     * @param promoteItemId
     * @param promoteId
     */
    @RequestMapping("/del")
    public void del(
            HttpServletRequest request,
            HttpServletResponse response,
            @RequestParam(value = "contentNo", required = false) String contentNo,
            @RequestParam(value = "memberKey", required = false) String memberKey,
            @RequestParam(value = "mul", required = false) String mul,
            @RequestParam(value = "promoteType", required = false) String promoteType,
            @RequestParam(value = "promoteItemId", required = false) String promoteItemId,
            @RequestParam(value = "promoteId", required = false) String promoteId) {
        ShopcartGoods shopcartGoods = new ShopcartGoods();
        shopcartGoods.setContentNo(contentNo);
        shopcartGoods.setMemberKey(memberKey);
        shopcartGoods.setMul(mul);
        shopcartGoods.setPromoteType(promoteType);
        shopcartGoods.setPromoteId(NumericUtil.parseLong(promoteId));
        shopcartGoods.setPromoteItemId(NumericUtil.parseLong(promoteItemId));

        ServiceMessage<String> delResult = null;
        try {
            delResult = shopcartGoodsService.promoteRemoveGoods(shopcartGoods);
        } catch (Exception e) {
            LOG.error(e.getMessage(), e);
        } finally {
            this.setResult(delResult, ResultMsg.PromoteAction.DEL_FAILURE)
                    .write(request, response);
        }
    }

    /**
     * 根据促销id、促销详情id以及商品id获取赠品
     *
     * @param request
     * @param response
     * @param promoteRuleId
     * @param ruleItemId
     * @param goodsId
     */
    @RequestMapping("/hgGoodsNew")
    public void giftGoods(
            HttpServletRequest request,
            HttpServletResponse response,
            @RequestParam(value = "contentNo", required = false) String contentNo,
            @RequestParam(value = "memberKey", required = false) String memberKey,
            @RequestParam(value = "mul", required = false) String mul,
            @RequestParam(value = "promoteRuleId", required = false) String promoteRuleId,
            @RequestParam(value = "ruleItemId", required = false) String ruleItemId,
            @RequestParam(value = "promoteGiftType", required = false) String promoteGiftType,
            @RequestParam(value = "goodsIdAndProductId", required = false) String goodsIdAndProductId){

        ShopcartModel shopcartParam = new ShopcartModel();
        shopcartParam.setContentNo(contentNo);
        shopcartParam.setMemberKey(memberKey);
        shopcartParam.setMul(mul);

        JSONObject resultData = new JSONObject();

        ServiceMessage<ShopcartModel> initResult = null;

        try {
            initResult = shopcartService.shopcartIndex(shopcartParam);

             if (initResult.getStatus() != MsgStatus.NORMAL) {
                 setResultInfo(initResult.getStatus().getCode(),
                         initResult.getMessage());
                 return;
             }

             if(initResult==null||"".equals(initResult)){
                 setResultInfo("-1","购物车为空");
                 return;
             }

             ShopcartModel shopcartModel= initResult.getResult();
             JSONObject shopcartJson = JSONObject.fromObject(shopcartModel);
             Object shopcartGroup = shopcartJson.get("shopcartGroup");
             if(shopcartGroup==null||"".equals(shopcartGroup)){
                 setResultInfo("-1","未查询到促销信息");
                 return;
             }

             //1 : 非单品 正品,组赠品
             JSONArray shopcartArray = JSONArray.fromObject(shopcartGroup);
             if(promoteGiftType.equals("1")){ //1 : 非单品 正品,组赠品
                 Map<String,String> returnMap = new HashMap<String,String>();
                 for (Object shopcart : shopcartArray) {
                    JSONObject shopcartGroupJson = JSONObject.fromObject(shopcart);
                    String _promoteRuleId = StringUtil.getTrimString(shopcartGroupJson.get("promoteRuleId"));
                    String itemId = StringUtil.getTrimString(shopcartGroupJson.get("ruleItemId"));
                    if(_promoteRuleId.equals(promoteRuleId)){
                        Object goodsGiftList = shopcartGroupJson.get("goodsGiftList");//赠品
                        Object promoteItemList = shopcartGroupJson.get("promoteItemList");//加价购
                        if(goodsGiftList!=null&&!"".equals(goodsGiftList)){
                            if(itemId.equals(ruleItemId)){
                                JSONArray goodsGiftArray = JSONArray.fromObject(goodsGiftList);
                                resultData.put("shopcart", shopcart);
                            }
                        }else if(promoteItemList!=null&&!"".equals(promoteItemList)){
                            JSONArray promoteItemArray = JSONArray.fromObject(promoteItemList);
                            for (Object promoteItem : promoteItemArray) {
                                JSONObject promoteItemJson = JSONObject.fromObject(promoteItem);
                                String itemId2 = StringUtil.getTrimString(promoteItemJson.get("itemId"));
                                if(itemId2.equals(ruleItemId)){
                                    resultData.put("promoteItem", promoteItem);
                                }
                            }
                        }
                    }
                 }
             }else{ //1 : 单品 正品
                for (Object shopcart : shopcartArray) {
                    JSONObject shopcartOne = JSONObject.fromObject(shopcart);
                    Object goodList = shopcartOne.get("goodsList");
                    JSONArray goodsArray = JSONArray.fromObject(goodList);
                    for (Object good : goodsArray) {
                        JSONObject goodJson = JSONObject.fromObject(good);
                        String goodsId = goodJson.getString("goodsId");
                        String productId = goodJson.getString("productId");
                        String str = goodsId+","+productId;
                        if(goodsIdAndProductId.equals(str)){
                            if(promoteGiftType.equals("2")){
                                Object goodsGiftList =goodJson.get("goodsGiftList");
                                if(goodsGiftList!=null&&!"".equals(goodsGiftList)){
                                    JSONArray goodsGiftArray = JSONArray.fromObject(goodsGiftList);
                                    resultData.put("goodsGiftList", goodsGiftArray);
                                }
                            }else if(promoteGiftType.equals("3")){
                                Object goodsList =goodJson.get("goodstList");
                                if(goodsList!=null&&!"".equals(goodsList)){
                                    JSONArray goodArray = JSONArray.fromObject(goodsList);
                                    resultData.put("goodsList", goodArray);
                                }
                            }
                        }
                    }
                }
             }

        } catch (Exception e) {
            LOG.error(e.getMessage(), e);
        } finally {
            this._result.setObjData(resultData);
            this.write(request, response);
        }
    }

}
package com.j1.mai.action;

import java.math.BigDecimal;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import com.j1.base.dto.ServiceMessage;
import com.j1.base.order.dto.CouponsAssignParam;
import com.j1.base.order.model.EcCoupons;
import com.j1.base.order.model.FreeCoupon;
import com.j1.base.order.model.FreePromoteGoods;
import com.j1.base.order.model.ShopcartGoods;
import com.j1.base.page.Page;
import com.j1.base.page.PageRequest;
import com.j1.base.page.Pageable;
import com.j1.base.type.MsgStatus;
import com.j1.mai.model.common.SoaApiBaseAction;
import com.j1.mai.service.CheckMemberKeyService;
import com.j1.mai.util.NumericUtil;
import com.j1.mai.util.StringUtil;
import com.j1.member.model.Member;
import com.j1.member.model.MemberPointsHis;
import com.j1.member.model.MemberPointsSetting;
import com.j1.soa.common.ResultMsg;
import com.j1.soa.resource.member.api.MemberPointHisService;
import com.j1.soa.resource.member.api.MemberService;
import com.j1.soa.resource.order.api.EcCouponsService;
import com.j1.soa.resource.order.api.FreeCouponService;
import com.j1.soa.resource.order.api.FreePromoteGoodsService;
import com.j1.soa.resource.order.api.ShopcartGoodsService;

/**
 * 上海健一网大药房连锁经营有限公司
 *
 * @Title: ShakeAction.java
 * @Package com.j1.mai.action
 * @Description: 摇一摇
 * @author guguangming
 * @date 2015年11月24日 上午11:25:27
 * @version V1.0
 */
@Controller
@Scope("request")
@RequestMapping("/mall")
public class PointsMall extends SoaApiBaseAction {

    static final Logger           LOG = Logger.getLogger(PointsMall.class);
    @Autowired
    private CheckMemberKeyService checkMemberKeyService;
    @Autowired
    private MemberService         memberService;
    @Autowired
    FreeCouponService             freeCouponService;
    @Autowired
    FreePromoteGoodsService       freePromoteGoodsService;
    @Autowired
    private EcCouponsService      ecCouponsService;
    @Autowired
    private MemberPointHisService memberPointHisService;
    @Autowired
    private ShopcartGoodsService  shopcartGoodsService;

    /**
     * @author guguangming
     * @date 2016年1月11日 下午4:07:08
     * @Title: toFreeCouponMain
     * @Description: 积分兑换优惠券界面
     * @param request
     * @param response
     * @param memberKey
     * @param currentPage
     * @throws
     */
    @RequestMapping("/toFreeCouponMain")
    public void toFreeCouponMain(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "memberKey", required = false) String memberKey, @RequestParam(value = "currentPage", required = false) String currentPage) {
        // 1、判断参数
        if (StringUtil.isEmpty(memberKey) || StringUtil.isEmpty(currentPage)) {
            logger.error(":" + request.getRequestURL() + "?" + request.getQueryString());
            this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(), "缺少参数!").write(request, response);
            return;
        }
        // 2、获取会员信息
        try {
            Member queryParam = new Member();
            queryParam.setMemberKey(memberKey);
            ServiceMessage<Member> memberResult = memberService.selectByPrimaryKey(queryParam);
            if (memberResult.getStatus() != MsgStatus.NORMAL) {
                logger.error(memberResult.getStatus().getCode() + ":" + memberResult.getMessage());
                this.setResultInfo(memberResult.getStatus().getCode(), "请登录");
                return;
            }
            _result.put("loginName", memberResult.getResult().getLoginName());
            _result.put("currentPoints", memberResult.getResult().getCurrentPoints());// 可用积分
            // 3、获取可用的积分兑换优惠券活动
            Pageable<FreeCoupon> pageable = new PageRequest<FreeCoupon>(StringUtil.toInt(currentPage, 1), 20, new FreeCoupon());
            ServiceMessage<Page<FreeCoupon>> resultFreeCoupon = freeCouponService.queryEnableFreeCouponPage(pageable);
            if (resultFreeCoupon.getStatus() != MsgStatus.NORMAL) {
                this.setResultInfo(resultFreeCoupon.getStatus().getCode(), resultFreeCoupon.getMessage());
                return;
            }
            _result.put("totalPage", resultFreeCoupon.getResult().getTotalPage());
            _result.put("listFreeCoupon", resultFreeCoupon.getResult().getData());// 可用积分
        } catch (Exception e) {
            LOG.error(e.getMessage(), e);
            setResultInfo(MsgStatus.EXCEPTION.getCode(), ResultMsg.PointsMall.TO_FREE_COUPON_MAIN_FAILURE);
        } finally {
            write(request, response);
        }

    }
/**
 *
 * @author guguangming
 * @date 2016年1月19日 下午4:42:41
 * @Title: toFreePromoteMain
 * @Description:
 * @param request
 * @param response
 * @param memberKey
 * @param currentPage
 * @throws
 */
    @RequestMapping("/toFreePromoteMain")
    public void toFreePromoteMain(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "memberKey", required = false) String memberKey, @RequestParam(value = "currentPage", required = false) String currentPage) {
        // 1、判断参数
        if (StringUtil.isEmpty(memberKey) || StringUtil.isEmpty(currentPage)) {
            logger.error("积分兑换商品:" + request.getRequestURL() + "?" + request.getQueryString());
            this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(), "缺少参数").write(request, response);
            return;
        }
        try {
            // 2、获取会员信息
            Member queryParam = new Member();
            queryParam.setMemberKey(memberKey);
            ServiceMessage<Member> memberResult = memberService.selectByPrimaryKey(queryParam);
            if (memberResult.getStatus() != MsgStatus.NORMAL) {
                logger.error(memberResult.getStatus().getCode() + ":" + memberResult.getMessage());
                this.setResultInfo(memberResult.getStatus().getCode(), "请登录!");
                return;
            }
            _result.put("loginName", memberResult.getResult().getLoginName());
            _result.put("currentPoints", memberResult.getResult().getCurrentPoints());// 可用积分
            // 3、获取可用的积分兑换优惠券活动
            Pageable<FreePromoteGoods> pageable = new PageRequest<FreePromoteGoods>(StringUtil.toInt(currentPage, 1), 20, new FreePromoteGoods());
            ServiceMessage<Page<FreePromoteGoods>> resultFreePromoteGoods = freePromoteGoodsService.queryFreePromoteGoodsPage(pageable);
            if (resultFreePromoteGoods.getStatus() != MsgStatus.NORMAL) {
                logger.error("toFreePromoteMain:" + resultFreePromoteGoods.getStatus().getCode() + ":" + resultFreePromoteGoods.getMessage());
                this.setResultInfo(resultFreePromoteGoods.getStatus().getCode(), resultFreePromoteGoods.getMessage());
                return;
            }
            _result.put("totalPage", resultFreePromoteGoods.getResult().getTotalPage());
            _result.put("listresultFreePromoteGoods", resultFreePromoteGoods.getResult().getData());// 可用积分
        } catch (Exception e) {
            LOG.error(e.getMessage(), e);
            setResultInfo(MsgStatus.EXCEPTION.getCode(), ResultMsg.PointsMall.TO_FREE_PROMOTE_MAIN_FAILURE);
        } finally {
            write(request, response);
        }

    }
/**
 *
 * @author guguangming
 * @date 2016年1月19日 下午4:02:04
 * @Title: pointsBuyCoupon
 * @Description: 积分兑换优惠券
 * @param request
 * @param response
 * @param memberKey
 * @param freeCouponId
 * @throws
 */
    @RequestMapping("/pointsBuyCoupon")
    public void pointsBuyCoupon(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "memberKey", required = false) String memberKey, @RequestParam(value = "freeCouponId", required = false) String freeCouponId) {
        // 1、判断参数
        if (StringUtil.isEmpty(memberKey) || StringUtil.isEmpty(freeCouponId)) {
            logger.error("积分兑换优惠券:" + request.getRequestURL() + "?" + request.getQueryString());
            this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(), "缺少参数").write(request, response);
            return;
        }
        try {
            // 2、获取会员信息
            Member queryParam = new Member();
            queryParam.setMemberKey(memberKey);
            ServiceMessage<Member> memberResult = memberService.selectByPrimaryKey(queryParam);
            if (memberResult.getStatus() != MsgStatus.NORMAL) {
                logger.error(memberResult.getStatus().getCode() + ":" + memberResult.getMessage());
                this.setResultInfo(memberResult.getStatus().getCode(), "请登录!");
                return;
            }
            Member member = memberResult.getResult();
            Long memberId = member.getMemberId();
            // 2、获取当前活动信息
            ServiceMessage<FreeCoupon> freeCouponResult = freeCouponService.queryEnableFreeCouponByFreeCouponId(NumericUtil.parseLong(freeCouponId));
            if (!freeCouponResult.getStatus().equals(MsgStatus.NORMAL)) {
                logger.error("查询活动信息失败:" + freeCouponResult.getMessage());
                if (freeCouponResult.getStatus().equals(MsgStatus.NO_RESULT)) {
                    this.setResultInfo(freeCouponResult.getStatus().getCode(), "没有找到相应的活动,请联系客服!");// 重新定义返回语句用于前台显示
                    return;
                } else {
                    this.setResultInfo(freeCouponResult.getStatus().getCode(), freeCouponResult.getMessage());
                    return;
                }
            }
            FreeCoupon freeCoupon = freeCouponResult.getResult();
            if (member.getCurrentPoints().intValue() >= freeCoupon.getCouponPoints().intValue()) {
                CouponsAssignParam param = new CouponsAssignParam();
                /* 会员id */
                param.setMemberId(memberId);
                /* 批次号 */
                param.setPublishId(freeCoupon.getPublishId());
                /* 领取数量 */
                param.setAssignCouponsCount(1);
                ServiceMessage<List<EcCoupons>> EcCouponsMsg = ecCouponsService.saveCouponsByMemberToPublishId(param);
                if (!EcCouponsMsg.getStatus().equals(MsgStatus.NORMAL)) {
                    logger.error("添加优惠券到用户接口异常:" + EcCouponsMsg.getMessage());
                    if (EcCouponsMsg.getStatus().equals(MsgStatus.NO_RESULT)) {
                        this.setResultInfo(EcCouponsMsg.getStatus().getCode(), "优惠卷已兑换完,请下次再来!");
                        return;
                    } else {
                        this.setResultInfo(EcCouponsMsg.getStatus().getCode(), EcCouponsMsg.getMessage());
                        return;
                    }
                } else {
                    MemberPointsHis memberPointsHis = new MemberPointsHis();
                    memberPointsHis.setMemberId(memberId);
                    memberPointsHis.setPoints(-freeCoupon.getCouponPoints().intValue());
                    memberPointsHis.setChangeNotes("兑换优惠劵");
                    MemberPointsSetting memberPointsSetting = new MemberPointsSetting();
                    memberPointsSetting.setPointsType("coupon_points");// 积分兑换使用
                    ServiceMessage<MemberPointsHis> msg = memberPointHisService.changePointsNoRankId(memberPointsHis, memberPointsSetting);
                    if (!msg.getStatus().equals(MsgStatus.NORMAL)) {
                        logger.error("调取扣除积分接口失败 getMessage():" + msg.getMessage() + "memberId:" + memberId);
                        this.setResultInfo(EcCouponsMsg.getStatus().getCode(), EcCouponsMsg.getMessage());
                        return;
                    } else {
                        _result.put("currentPoints", member.getCurrentPoints() - freeCoupon.getCouponPoints().intValue());
                        return;
                    }
                }
            } else {
                this.setResultInfo("4", "剩余积分不足");
                return;
            }

        } catch (Exception e) {
            LOG.error(e.getMessage(), e);
            setResultInfo(MsgStatus.EXCEPTION.getCode(), ResultMsg.PointsMall.POINTS_BUY_COUPON__FAILURE);
        } finally {
            write(request, response);
        }

    }

    /**
     * @author guguangming
     * @date 2016年1月13日 下午1:56:20
     * @Title: pointsBuyFreePromoteGoods
     * @Description: 积分兑换商品
     * @param request
     * @param response
     * @param memberKey
     * @param multiId 43--app免费频道,44--M站免费频道
     * @param mul
     * @param contentNo
     * @throws
     */
    @RequestMapping("/pointsBuyFreePromoteGoods")
    public void pointsBuyFreePromoteGoods(HttpServletRequest request, HttpServletResponse response,
                                          @RequestParam(value = "memberKey", required = false) String memberKey,
                                          @RequestParam(value = "freeGoodsId", required = false) String freeGoodsId,
                                          @RequestParam(value = "multiId", required = false) String multiId,
                                          @RequestParam(value = "mul", required = false) String mul,
                                          @RequestParam(value = "contentNo", required = false) String contentNo) {
        // 1、判断参数
        if (StringUtil.isEmpty(memberKey) || StringUtil.isEmpty(freeGoodsId) || StringUtil.isEmpty(multiId) || StringUtil.isEmpty(mul) || StringUtil.isEmpty(contentNo)) {
            logger.error("积分兑换商品:" + request.getRequestURL() + "?" + request.getQueryString());
            this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(), "缺少参数").write(request, response);
            return;
        }
        try {
            // 1、获取会员信息
            // 2、获取会员信息
            FreePromoteGoods freePromoteGoods = new FreePromoteGoods();
            Member queryParam = new Member();
            queryParam.setMemberKey(memberKey);
            ServiceMessage<Member> memberResult = memberService.selectByPrimaryKey(queryParam);
            if (memberResult.getStatus() != MsgStatus.NORMAL) {
                logger.error(memberResult.getStatus().getCode() + ":" + memberResult.getMessage());
                this.setResultInfo(memberResult.getStatus().getCode(), "请登录!");
                return;
            }
            Member member = memberResult.getResult();
            Long memberId = member.getMemberId();

            ServiceMessage<FreePromoteGoods> resFreePromoteGoods = freePromoteGoodsService.queryEnableFreeGoodsByFreeGoodsId(NumericUtil.parseLong(freeGoodsId));
            if (!resFreePromoteGoods.getStatus().equals(MsgStatus.NORMAL)) {
                logger.error("根据id查询在活动日期内的商品:" + resFreePromoteGoods.getMessage());
                if (resFreePromoteGoods.getStatus().equals(MsgStatus.NO_RESULT)) {
                    this.setResultInfo(resFreePromoteGoods.getStatus().getCode(), "该商品兑换活动已结束");
                    return;
                } else {
                    this.setResultInfo(resFreePromoteGoods.getStatus().getCode(), resFreePromoteGoods.getMessage());
                    return;
                }
            } else {
                freePromoteGoods = resFreePromoteGoods.getResult();
                if (freePromoteGoods.getFreeAmount().compareTo(new BigDecimal(1)) == -1) {
                    this.setResultInfo("4", "该商品已兑换完");
                    return;
                }
            }
            int goodsPoints= Integer.parseInt(freePromoteGoods.getGoodsPoints());
            if(goodsPoints>member.getCurrentPoints()){
                this.setResultInfo("5", "当前积分不足");
                return;
            }
            // 2、获取当前活动信息
            ShopcartGoods shopcartGoodsParam = new ShopcartGoods();
            shopcartGoodsParam.setMemberKey(member.getMemberKey());
            shopcartGoodsParam.setContentNo(contentNo);
            shopcartGoodsParam.setGoodsId(NumericUtil.parseLong(freeGoodsId));
            // 来源渠道
            shopcartGoodsParam.setMultiId(Integer.parseInt(multiId));
            shopcartGoodsParam.setMul(mul);
            // 多规格ID
            shopcartGoodsParam.setSkuId(0L);
            // 数量
            shopcartGoodsParam.setAmount(new BigDecimal(1));
            // add加/sub减/update修改/select修改选中
            shopcartGoodsParam.setType("add");
            // 是否选中Y/N
            shopcartGoodsParam.setIsSelected("Y");

            ServiceMessage<String> shopCartMsg = shopcartGoodsService.shopcartUpdateGoods(shopcartGoodsParam);
            if (!shopCartMsg.getStatus().equals(MsgStatus.NORMAL)) {
                this.setResultInfo(shopCartMsg.getStatus().getCode(), shopCartMsg.getMessage());
            } else {
                this.setResultInfo("0", "成功加入购物车");
            }

        } catch (Exception e) {
            LOG.error(e.getMessage(), e);
            setResultInfo(MsgStatus.EXCEPTION.getCode(), ResultMsg.PointsMall.POINTS_BUY_COUPON__FAILURE);
        } finally {
            write(request, response);
        }

    }

}

json 项目应用的更多相关文章

  1. 将 project.json 项目转换为 Visual Studio 2015 解决方案

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  2. Maven搭建SpringMVC+MyBatis+Json项目(多模块项目)

    一.开发环境 Eclipse:eclipse-jee-luna-SR1a-win32; JDK:jdk-8u121-windows-i586.exe; MySql:MySQL Server 5.5; ...

  3. .NET Core系列 : 2 、project.json 这葫芦里卖的什么药

    .NET Core系列 : 1..NET Core 环境搭建和命令行CLI入门 介绍了.NET Core环境,本文介绍.NET Core中最重要的一个配置文件project.json的相关内容.我们可 ...

  4. Vue.js——60分钟webpack项目模板快速入门

    概述 browserify是一个 CommonJS风格的模块管理和打包工具,上一篇我们简单地介绍了Vue.js官方基于browserify构筑的一套开发模板.webpack提供了和browserify ...

  5. Vue.js——60分钟browserify项目模板快速入门

    概述 在之前的一系列vue.js文章,我们都是用传统模式引用vue.js以及其他的js文件的,这在开发时会产生一些问题. 首先,这限定了我们的开发模式是基于页面的,而不是基于组件的,组件的所有代码都直 ...

  6. Asp.Net Core 项目实战之权限管理系统(0) 无中生有

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  7. .Net Core Linux centos7行—.net core json 配置文件

    .net core 对配置系统做出了大幅度更新,不在局限于之前的*.xml配置方式.现在支持json,xml,ini,in memory,环境变量等等.毫无疑问的是,现在的json配置文件是.net ...

  8. Asp.Net Core 项目搭建 基础配置 和MySql 的使用

    一.开发环境准备 1.安装Visual Studio 2015,我这里安装的是专业版. 2.安装.NET Core SDK相关 需要安装  Visual Studio 2015 update3和NET ...

  9. XML和JSON数据格式对比

    概念 XML 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语 ...

随机推荐

  1. 你好,C++(8)如何表达那些始终保持不变的数据量?3.2.2 常量

    3.2.2  常量 与变量可以用在程序中表达那些可能会发生变化的数据量相对应地,在C++中,我们用常量来表达那些始终保持不变的数据量.简单来讲,就是程序中直接使用的数值.字符.字符串以及const关键 ...

  2. margin-top在IE与其他浏览器下的不同

    两个box,box1嵌套box2, box2使用margin-top在IE下与其他浏览器不同.待整理

  3. CentOS7 开启关闭网卡

    ifdown ifcfg-enp7s0 关闭网卡 ifup ifcfg-enp7s0 开启网卡

  4. js学习笔记之:时间(二)

    今天来了解一下js中定时器的两种用法.js中包括2种定时器,分别是:           间隔型定时器:setInterval(开)    clearInterval (关)            延 ...

  5. php while循环 指定显示内容 例如不想显示前10条和后10条

    <?php //查询信息总的条数 $db_num = query_num("表","where 1=1"); //每页显示的条数 $page_size=2 ...

  6. python中的builtin函数详解-第二篇

    classmethod(function) 这里不过多说明这个builtin方法的具体用法,python的文档和help函数已经给了这个方法充足的使用说明,所以我这里要说的时关于 classmetho ...

  7. noi 3531 判断整除

    3531:判断整除 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 一个给定的正整数序列,在每个数之前都插入+号或-号后计算它们的和.比如序列:1.2.4共有 ...

  8. 常用的JQuery UI框架

    http://www.ligerui.com/ http://www.jeasyui.com/index.php http://www.jqwidgets.com/

  9. JAVA之序列化A

    package SwingGui.sky.com; import java.io.*; public class GameSaverTest { public static void main(Str ...

  10. Android 首次进入应用时加载引导界面

    功能需求:首次进入应用时加载引导界面 思路: 1.首次进入,怎么判断?查看SharedPreferences中某个字段 2.基本上每个应用都有个进入实际功能是的动画加载页面,我们可以在该Activit ...